2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【初心者向け】AWS CLIから複数リソースに一括でタグ付けを行う方法

Posted at

こんにちは。
AWS初心者インフラエンジニアの青木です。

シェルスクリプトを用いて同一アカウント・同一リージョン内にある複数のEC2インスタンスのARNを指定し、一括でタグ付けを行いました。

AWS初心者の私は配列の指定法で少々沼ってしまったので、同じようなAWS初心者さんのお力になれればと思います。

本記事では、以下のAWS公式ドキュメントに沿って処理を進めています。
https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resourcegroupstaggingapi/tag-resources.html

1. CloudShellでbashファイルを作成

CloudShellに以下のコマンドを入力します。

vi failename.sh

filenameの部分はお好きなファイル名を指定してください。

2. bashファイルにスクリプトを書き込む

1.でファイルを作成すると、自動で作成したfilename.shが開きます。
filename.sh内に、以下のスクリプトを書き込んでください。

aws resourcegroupstaggingapi tag-resources \
        --resource-arn-list arn:aws:ec2:ap-northeast-1:accountID:instance/instanceID arn:aws:ec2:ap-northeast-1:accountID:instance/instanceID \
                --tags stop-start=on

--resource-arn-list の後にタグ付けしたいEC2インスタンスのARNを貼り付けます。
2つ以上のインスタンスにタグ付けしたい場合、上記のように半角1文字分の(空白)をあけて列挙してください。

--tags 配下にはkey=valueとなるように任意の値を指定してください。

※ARN名を「"」で囲んだり、列挙するARN名とARN名の間に「,」を入れるとエラーの対象となりうまく動作しませんでした。bashでは空白一文字や「"」の有無でもエラーとなってしまうようなのでご注意ください!

3. bashファイルを保存して閉じる

2.が書き込めたら、ESCキーを押下 → :wqと入力してbashファイルの入力を保存・終了してください。

4. 作成したbashファイルを実行

3.が完了したらCloudShellの画面に戻るので、そのまま以下のコマンドを入力します。

bash tag-test.sh

tag-testの部分は、1.で作成したファイルの名前に置き換えてください。

5. 出力結果を確認

以下の出力となれば問題なく完了している合図です。

{
    "FailedResourcesMap": {}
}

以上で説明は終了です。
お疲れ様でした!

最後までお読みいただき、ありがとうございました。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?