ベストプラクティスと戦略 - AWS リソースとタグエディタのタグ付け

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ベストプラクティスと戦略

以下のセクションでは、AWS リソースのタグ付けとタグエディタの使用に関するベストプラクティスと戦略について説明します。

タグ付けのベストプラクティス

AWS リソースのタグ付け戦略を作成するときは、次のベストプラクティスに従ってください。

  • 個人情報 (PII) などの機密情報や秘匿性の高い情報はタグに追加しないようにします。タグは、多くの AWS のサービス (請求など) からアクセスできます。タグは、プライベートデータや機密データに使用することを意図していません。

  • タグには、標準化された、大文字と小文字の区別がある形式を使用し、すべてのリソースタイプに一貫して適用します。

  • リソースアクセスコントロールの管理、コスト追跡、オートメーション、整理など、複数の目的に対応したタグガイドラインを考慮します。

  • 自動化されたツールを使用して、リソースタグを管理できます。タグエディタ と リソースグループのタグ付け API を使用すると、プログラムによるタグの制御が可能になるため、タグとリソースの自動的な管理、検索、フィルタリングが容易になります。

  • タグは、多めに使用します。

  • ビジネス要件の変化に合わせてタグを変更するのは簡単ですが、将来の変更の影響を考慮してください。たとえば、アクセス制御タグを変更した場合、そのタグを参照してリソースへのアクセスを制御するポリシーも更新する必要があります。

  • AWS Organizations を使用してタグポリシーを作成およびデプロイすることで、組織が採用するタグ付け標準を自動的に適用することができます。タグポリシーでは、有効なキー名と各キーに有効な値を定義するタグ付けルールを指定することができます。モニタリングのみを選択して、既存のタグを評価し、クリーンアップすることもできます。選択した標準にタグが準拠したら、タグポリシーで適用を有効にして、非準拠のタグが作成されないようにすることができます。詳細については、AWS Organizations ユーザーガイドタグポリシーを参照してください。

タグ命名のベストプラクティス

ここでは、タグに関する命名規則に関するベストプラクティスについて説明します。

AWS タグのキー名は大文字と小文字が区別されるので、一貫して使用するようにしてください。たとえば、タグキーの CostCentercostcenter は異なります。一方のタグキーは財務分析とレポート用のコスト配分タグとして設定され、もう一方は同じ用途には設定されていないかもしれません。

いくつかのタグは AWS により事前に定義されています。また、さまざまな AWS のサービス によって自動的に作成されます。多くのAWS 生成されたタグは、すべて小文字のキー名を使用し、名前に含まれる単語はハイフンで区切られ、タグのソースサービスを識別するプレフィックスにコロンが続きます。例えば、以下を参照してください。

  • aws:ec2spot:fleet-request-id は、インスタンスを起動した Amazon EC2 スポットインスタンスリクエストを識別するタグです。

  • aws:cloudformation:stack-name は、リソースを作成した AWS CloudFormation スタックを識別するタグです。

  • elasticbeanstalk:environment-name は、リソースを作成したアプリケーションを識別するタグです。

次のルールを使用してタグに名前を付けることを検討してください。

  • 単語にはすべて小文字を使用してください。

  • 単語を区切るにはハイフンを使用してください。

  • プレフィックスに続けてコロンを付けると、組織名または省略名を識別できます。

例えば、 AnyCompany という名前の架空の会社の場合では、次のようにタグを定義できます。

  • anycompany:cost-center のタグは、内部のコストセンターのコードを識別するのに使用。

  • anycompany:environment-type のタグは、開発、テスト、本番のいずれの環境であるかを識別するのに使用。

  • anycompany:application-id のタグは、リソースが作成されたアプリケーションを識別するのに使用。

プレフィックスを付けることで、自分の組織が定義したタグだということが明確に認識でき、AWS または使用中のサードパーティーのツールにより定義されたタグではないことがわかります。すべて小文字を使用し、単語をハイフンで区切ることにより、タグ名に大文字を使用した場合の混乱を避けることができます。例えば、anycompany:project-id の方が、ANYCOMPANY:ProjectIDanycompany:projectIDAnycompany:ProjectId よりも覚えるのが簡単です。

タグの命名制限と要件

タグには、次の基本的な命名要件と使用要件が適用されます。

  • 各リソースは、最大 50 個のユーザー作成タグを持つことができます。

  • aws: で始まるシステム作成タグは AWS に使用するために予約されており、この制限にはカウントされません。aws: プレフィックスで始まるタグを編集または削除することはできません。

  • タグキーは、リソースごとにそれぞれ一意である必要があります。また、各タグキーに設定できる値は 1 つのみです。

  • UTF-8 では、タグキーは 1 文字以上で、最大 128 文字の Unicode 文字である必要があります。

  • UTF-8 では、タグ値は 0 文字以上、最大 256 文字の Unicode 文字である必要があります。

  • 使用できる文字は、AWS のサービスごとに異なります。AWS の特定のサービスでリソースのタグ付けに使用できる文字については、そのドキュメントを参照してください。通常、使用できる文字は、UTF-8 対応の文字、数字、スペースと、 _ . : / = + - @ の文字です。

  • タグのキーと値では、大文字と小文字が区別されます。ベストプラクティスとして、タグを大文字にするための戦略を決定し、その戦略をすべてのリソースタイプにわたって一貫して実装します。たとえば、CostcentercostcenterCostCenter のいずれを使用するかを決定し、すべてのタグに同じ規則を使用します。大文字と小文字の扱いについて、同様のタグに整合性のない規則を使用することは避けてください。

一般的なタグ付け戦略

以下のタグ付け戦略を使用すると、AWS リソースの識別と管理に役立ちます。

リソース整理のタグ

タグは、AWSで AWS Management Console リソースを整理するための効果的な手段です。タグと共にリソースが表示されるように設定したり、タグで検索やフィルタリングを行ったりできます。 AWS Resource Groups サービスを使用すると、1 つまたは複数のタグ、またはタグの一部に基づいて AWS リソースのグループを作成できます。また、AWS CloudFormation スタック内での出現回数に基づいてグループを作成することもできます。リソースグループとタグエディタを使用すると、複数のサービス、リソース、リージョンで構成されるアプリケーションのデータを 1 か所にまとめて表示できます。

コスト配分のタグ

AWS Cost Explorer と請求明細レポートを使用すると、AWS のコストをタグ別に分類できます。通常、コストセンター/ビジネスユニットお客様、またはプロジェクトといったビジネスタグを使用して、AWS のコストを従来のコスト配分ディメンションに関連付けます。ただし、コスト配分レポートで使用できるタグに制限はありません。特定のアプリケーション、環境、コンプライアンスプログラムなど、技術やセキュリティに関するディメンションを使って、コストの関連付けを行うことができます。

一部のサービスでは、コスト配分のために AWS によって生成された createdBy タグを使用すると、分類に含まれていないリソースの説明に役立ちます。createdBy タグは、サポートされている AWS のサービスとリソースにのみ使用できます。値には、特定の API またはコンソールイベントに関連付けられたデータが含まれます。詳細については、AWS Billing and Cost Management ユーザーガイドの「AWS 生成コスト配分タグ」を参照してください。

オートメーションのタグ

リソースまたはサービスに固有のタグは、多くの場合、オートメーションアクティビティ中にリソースをフィルタリングする目的で使用します。オートメーションタグは、自動タスクのオプトインまたはオプトアウト、またはアーカイブ、更新、削除の対象となるリソースのバージョンの特定に使用します。たとえば、オートメーションにした start または stop スクリプトを実行して業務時間外に開発環境をオフにすれば、コストが削減できます。このシナリオで Amazon Elastic Compute Cloud (Amazon EC2) インスタンスタグを使うと、このアクションからオプトアウトするインスタンスを簡単に指定できます。古くなった、またはローリング更新された Amazon EBS スナップショットを検索して削除するスクリプトの場合、スナップショットタグで検索条件にディメンションを追加することができます。

アクセス制御のタグ

IAM ポリシーでは、タグベースの条件をサポートしています。このため、特定のタグやタグの値に基づいて IAM アクセス許可を制限できます。たとえば、IAM ユーザーまたはロールのアクセス許可に、EC2 API コールをタグに基づいて特定の環境 (開発、テスト、本番など) に制限する条件を含めることができます。同じ戦略を使用して、API 呼び出しを特定の Amazon 仮想プライベートクラウド (Amazon VPC) ネットワークに制限できます。タグベースのリソースレベルの IAM アクセス許可をサポートしているかどうかは、サービスによって異なります。アクセス制御にタグベースの条件を使用する場合は、タグを変更できるユーザーを定義することで、タグの変更を制限してください。AWS リソースへの API アクセスを制御するためのタグの使用に関する詳細については、IAM ユーザーガイドの「IAM と連携する AWS のサービス」を参照してください。

タグ付けのガバナンス

効果的なタグ付け戦略を実装するには、標準化されたタグを使用し、それをプログラミングによって AWS リソース全体に一貫して適用します。AWS 環境におけるタグの管理には、リアクティブなアプローチとプロアクティブなアプローチの両方が使用できます。

  • リアクティブガバナンスの目的は、リソースグループタグ付け API、AWS Config ルール、カスタムスクリプトなどのツールを使用して適切にタグ付けされていないリソースを見つけることです。リソースを手動で検索するには、タグエディタと請求明細レポートを使用します。

  • プロアクティブガバナンスは、AWS CloudFormation、Service Catalog、AWS Organizations のタグポリシー、または IAM のリソースレベルの許可などのツールを使用して、リソース作成時に標準化されたタグが一貫して適用されるようにします。

    たとえば、AWS CloudFormation Resource Tags プロパティを使用して、リソースタイプにタグを適用できます。Service Catalog では、ポートフォリオと製品タグを追加すれば、製品の開始時に自動的にポートフォリオと製品タグの組み合わせが適用されます。より厳格なプロアクティブガバナンスには、自動タスクが含まれます。たとえば、リソースグループタグ付け API を使用して AWS 環境のタグを検索したり、不適切にタグ付けされたリソースを隔離または削除するためのスクリプトを実行したりできます。