AnsibleでEC2ボリュームにNameタグを付けるためには、ec2_tag
モジュールを使用します。このモジュールを使うと、既存のEC2リソース(インスタンス、ボリュームなど)にタグを付けることができます。
以下に、具体的なプレイブックの例を示します。このプレイブックは、特定のボリュームIDにNameタグを付ける方法を示しています。
- name: Tag EC2 volumes
hosts: localhost
gather_facts: no
tasks:
- name: Set volume ID and desired tag
set_fact:
volume_id: "vol-075e042f7eb646e28"
volume_name: "MyVolumeName"
- name: Tag the EC2 volume
ec2_tag:
region: ap-northeast-1
resource: "{{ volume_id }}"
tags:
Name: "{{ volume_name }}"
register: tag_result
- name: Debug tag result
debug:
var: tag_result
説明
- Set volume ID and desired tag:
set_fact
を使って、ボリュームID (volume_id
) と付けたいタグの名前 (volume_name
) を変数として設定します。
- Tag the EC2 volume:
ec2_tag
モジュールを使って、指定されたボリュームIDに対してタグを付けます。この例では、Name
タグを付けています。region
は、ボリュームが存在するAWSリージョンを指定します。resource
には、タグを付けたいリソースのID(この場合はボリュームID)を指定します。tags
には、付けたいタグをキーと値のペアで指定します。
- Debug tag result:
debug
モジュールを使って、タグ付けの結果を表示します。register
を使って前のタスクの結果をtag_result
に登録し、その内容を確認します。
このプレイブックを実行すると、指定されたボリュームにName
タグが付与されます。他のタグを追加したい場合は、tags
辞書に追加するだけです。
必要に応じて、複数のボリュームに対してタグを付けることもできます。その場合は、ボリュームIDのリストをループで処理するようにプレイブックを拡張します。