AWS リソースのタグ管理について考えてみた
![](https://blog.mmmcorp.co.jp/images/2023/11/F5MYY3_lo.png)
初めまして!ティガです!入社して3ヶ月が経過しました!
こちらで簡単に自己紹介しておりますので、気になる方はぜひ見て頂ければ幸いです!
今回は、「AWSリソースのタグ管理」について考えていきます!AWSリソース作成するときにタグ付けしていますか?
AWSのタグについて
- タグとは
- AWS リソースを整理するためのメタデータとして機能するキーと値のペア
- タグの種類
- ユーザー定義タグ:AWS CLIやAPI、AWS Management Consoleを使用してユーザーが作成したリソースに適用するタグ
- AWS生成タグ:AWS CloudFormationやElastic Beanstalk、Auto Scalingなどで作成および管理するリソースに自動的にタグを割り当てられたタグ
参考:https://docs.aws.amazon.com/ja_jp/whitepapers/latest/tagging-best-practices/what-are-tags.html
Q.なぜタグをAWSリソースにつけるといいのか?
A.リソースを識別し、整理・管理するために役立つため!
- 組織との関連性: 複数のプロジェクトやチームが共有される環境でも、リソースを効果的に区別できる
- 費用の追跡: AWS Cost Explorerで、タグに基づいてコストを分析できる
- セキュリティとアクセス管理: IAMポリシーなどで、特定のタグを持つリソースへのアクセスを特定のユーザーやチームに限定することができる
- 監視と運用: CloudWatchやAWS Configで、特定のタグを持つリソースに対するアラートや変更を追跡できる
最小限のタグ付け戦略を構築し、定期的にタグ付け戦略の反復と改善
当面の優先事項から小さく始める
例)最小限のタグ付け戦略
- 単語はすべて小文字を使用
- 単語はハイフンで区切る
- 個人情報 (PII) などの機密情報や秘匿性の高い情報はタグに格納しない
タグ付け戦略の反復と改善サイクル
![image.png (87.4 kB)](https://img.esa.io/uploads/production/attachments/1854/2023/11/20/149970/169eec76-8dd1-46e6-985f-94d80a375ad8.png)
Step1. identify Need and Use Cases:タグ付けのニーズの特定 (ユースケースの定義)
- 利害関係者やそのユースケースから逆算して、タグ付けのニーズの特定する
Step2. Define and Publish:一貫したタグ付けアプローチを定義
- タグ付けカテゴリの表でタグ付けスキーマを定義
- 表は、すべての関係者が簡単に参照でき、更新を追跡できるようにバージョン管理されたリポジトリでスキーマを管理
![スクリーンショット 2023-11-22 11.48.36.png (265.1 kB)](https://img.esa.io/uploads/production/attachments/1854/2023/11/22/149970/16e90ed9-fc5a-4ac2-aafc-fef2ebf50f2a.png)
Step3. Inplement and Enforce:タグ付けの実装と強制
- タグ付け実装と強制を行う
- 例)IaC を使用してリソースを管理する場合、CloudFormation Resource Tags プロパティを使用して、作成時にサポートされているリソースタイプにタグを適用する
- 例)AWS Config ルールやLambda 関数を使用して、リソースのタグ付けを自動化する
- 例)SCP によるタグ付けを強制する
Step4. Measeure and Improve:タグ付けの有効性を測定し、改善を推進
- タグ付けの有効性を測定した結果に基づいて、ユースケース定義、タグ付けスキーマの実装、実施などのステップで改善や変更が必要かどうかを特定
ここからは、実際にタグ付けを実施してみる!
- これから紹介するTag Editorは、複数のリソースにタグを追加、削除、または編集が可能です。
- 今回は、よく私が使っているTag Editorで、複数のリソースにタグ付けする方法を記載していきます。
※注意:Tag Editorがサポートしていないリソース(IAM Roleなど)があり、作成したリソースが検索結果に表示されない場合もございます。
参考:https://docs.aws.amazon.com/ja_jp/ARG/latest/userguide/supported-resources.html
Tag Editorを起動するには
1. AWS Management Console にサインイン
2. 「サービス」を選択
3. 「Management & Governance」 で、「Resource Groups & Tag Editor」を選択
4. 左側のナビゲーションペインで、「Tag Editor」を選択
![スクリーンショット 2023-11-20 19.40.35.png (128.9 kB)](https://img.esa.io/uploads/production/attachments/1854/2023/11/20/149970/88931357-884b-45bf-9981-490a2c03ac2d.png)
Tag Editorでタグを一括付与するには
例)バージニア北部に作成したVPCとサブネットグループにタグを一括付与する
1. リージョンで「us-east-1」を選択し、リソースタイプに「AWS::EC2::VPC」「AWS::EC2::Subnet」を選択して、リソースを検索
![スクリーンショット 2023-11-20 21.06.24.png (178.1 kB)](https://img.esa.io/uploads/production/attachments/1854/2023/11/20/149970/69b44181-f813-4d55-ae97-65861ffefeab.png)
2. 検索結果に表示されたVPCとサブネットグループを選択して、「選択リソースのタグを管理する」をクリック
![スクリーンショット 2023-11-20 21.10.19.png (135.9 kB)](https://img.esa.io/uploads/production/attachments/1854/2023/11/20/149970/9c7dece1-8ff9-4ac2-8571-cb9d4a60bf94.png)
3. 「タグを追加」をクリックして、任意のタグキーと値を入力して、「タグの変更を確認して適用する」をクリック
![スクリーンショット 2023-11-20 21.14.25.png (260.2 kB)](https://img.esa.io/uploads/production/attachments/1854/2023/11/20/149970/ca8e4d94-456a-4c0a-8ea6-1c55ba86c967.png)
4. 表示されているタグキーと値を確認して、「選択したすべてに変更を適用する」をクリック
![スクリーンショット 2023-11-20 21.15.10.png (139.4 kB)](https://img.esa.io/uploads/production/attachments/1854/2023/11/20/149970/71dff69f-a1de-4c42-a463-acc48593feaf.png)
5. 複数のリソースにタグ付け完了
![スクリーンショット 2023-11-22 11.37.43.png (29.5 kB)](https://img.esa.io/uploads/production/attachments/1854/2023/11/22/149970/9be52ae9-de5e-442f-a820-660b10050012.png)
![スクリーンショット 2023-11-22 11.38.38.png (31.8 kB)](https://img.esa.io/uploads/production/attachments/1854/2023/11/22/149970/91bcce7f-e38c-4117-b5e4-1efdce6e36e4.png)
まとめ
タグ付け戦略を構築・改善していくことで、よりAWS環境の運用保守がしやすくなる
例えば、「アプリケーションサービスのリリースが終了したため、そのサービスで使用していたAWSリソースを削除して欲しい」と依頼があった場合、サービス名でリソースにタグ付けするというタグ付け戦略が実施されていたら、削除対応は非常に効率的に作業することができるかなと思います。
ハンズオン等を実施するときもタグ付けを習慣化して実践しましょう
この記事を書きながらハンズオンを実施するときにタグ付けするようにしようと思いました。一緒にタグ付けを習慣化していきましょう!
この記事がどなたかの参考になれば幸いです。