こんにちは。
ブログの更新頻度が落ちてるのは、決してスプラトゥーンのせいではありませんよ。サーモンランたのしい。
さて、AWSでは様々なリソースにタグを付与することができます。
EC2であれば、インスタンスそのものはもちろん、インスタンスに関連して、EBSやENI、セキュリティグループやElastic IPにまでタグを付与することができます。
これは管理上便利にするため(検索利便性や精算の際にインデクシングできる)ですが、
これをまとめて実施できるのがTag Editorです。
AWSコンソールで検索欄に"Tag"と打つと出てくることでしょう。

今回は、このTag Editorを適当に使っていた時の話です。
Resource Groups & Tag Editor 使ってみよう!
既に使ったことある人は読み飛ばしてください。
とりあえず、先ほど紹介したTag Editorを使ってみます。
AWSコンソール画面で、Resource Groups & Tag Editorを開いてから、「Tag Editor」をクリックします。

そして、「リソースタイプ」にはお好みのサービス名を入れます。
先ほどの例で"ec2"と入力してみましたが、ずらーーーっとサービスが並んでいます。

単にEC2インスタンスに付いているタグを一覧で見るだけであれば、"AWS::EC2::Instance"の指定だけでいいでしょう。
デフォルトではタグを付与することができる全てのサービス・リソースを出力することができます。
選択肢で"All supported resource types"を選ぶことでも全出力ができます。
どのタグを絞るかも指定することができます。
条件が整ったら、「リソースを検索」でタグが付いているリソースを検索します。

タグ数と共に、一覧で表示されました。CSVに吐き出して、どんなタグが付いているのか(もしくは、付いていないのか)把握する使い方が多いかと思います。
基本的なTag Editorの使い方は以上です。
CloudWatch Alarmさん...?
ではここから本題ですが、とあるプロジェクトで「作成したリソースには全て識別用のタグを付与する」という要件がありました。コスト管理のためです。
タグの付与や命名を強制することはOrganizationsで可能ですが、プロジェクト時点ではまだ構築が済んでいませんでした。
そこで私は、前段のようにTag Editorから全リソースを引っこ抜いて、タグが付いていないリソースに、次々とタグを付けていいや〜と考えたわけです。

EC2やEFSなどのタグを付け終えた筆者は、ふんふん、次はCloudWatchか・・・と、リソースのリンクをクリックして、CloudWatchのコンソール画面を確認します。
・・・
ない。
・・・「タグ」のタブがない。

「アクション」ボタンなどをいくら探してもありません。
いや、昔にタグ付けた記憶があるぞ?!(※勘違い)と探して5分ほど。
答えはAWSのドキュメントに書いてました。
Amazon CloudWatch リソースにタグを付ける
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/CloudWatch-Tagging.html
アラームにタグを付けるには、tag-resource AWS CLI コマンドと TagResource API を使用します。
・・・なんですと!?AWS歴は4年ちょいの若輩ではありますが、知らなかった。
どうやら2通りのタグ付け方法があるので、やってみます。
TagResource APIでのタグ付け
これはTag Editorの画面で行う操作です。
タグを付けたいリソースにチェックを入れ、右上の「選択したリソースのタグを管理する」を選択します。複数リソース一括もOK!

「タグキー」と「値」に付与したいタグの文字列を入れて、右下の適用ボタンを選択します。

確認ウィザードが出ます。特に複数リソースのタグを編集する場合は確認しておきましょう。

何やら怪しい日本語ですがタグは適用されていました。


コンソールでのタグ付けは、CloudWatch側ではできないため、執筆時点ではこの方法が良さそうです。
AWS CLIでのタグ付け
続いて、AWS CLIを用いたタグ付けです。
別にTag EditorのGUIで出来るからいいじゃん!という感じではありますが、超いっぱいリソースがある環境ではやはりCLIが便利です。
という訳で、とりあえずコマンドドン! ※太字を置き換えてください
aws cloudwatch tag-resource --resource-arn "CloudWatch AlarmのARN" --tags Key=タグのキー,Value=タグの値
ドキュメントのリンクも置いておきます。
https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/tag-resource.html
実際に実行するとこんな感じです。出力がなく、スンッと終わります。

途中のダブルクォーテーションは多分無くても通りますが、今回のように"&"など特殊文字が含まれている場合は必要です。
そして、タグ付け結果はTag Editorで確認します。CLIで結果確認したかったですが、describe-alarmsでも出てこないしちょっとよく分からん。

これでタグ付け業務が捗りますね!
余談
余談その1:
2022年の春くらいにアラームアクションの無効化ができるようになってました。神。

余談その2:
AWS公式提供のSimpleアイコン集に"Resource Groups & Tag Editor"のアイコンが無くて超探しました。(結局コンソールにあるsvgリンクから画像作成した)
コメントを残す