AMS Accelerate のリソースタグ付けのユースケース - AMS Accelerate ユーザーガイド

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

AMS Accelerate のリソースタグ付けのユースケース

このセクションでは、Resource Tagger で一般的に実行されるアクションを一覧表示します。

Resource Tagger によって適用されるタグの表示

Resource Tagger によって適用されるすべてのタグには、キープレフィックス ams:rt: があります。たとえば、次のタグ定義は、key ams:rt:sampleKey と value sampleValue を持つタグになります。このプレフィックスを持つすべてのタグは、Resource Tagger の一部として扱われます。

{ "Key": "sampleKey", "Value": "sampleValue" }
重要

ams:rt: プレフィックスを使用して独自のタグを手動で作成した場合、Resource Tagger によって管理されていると見なされます。つまり、リソースが Resource Tagger によって管理されているが、設定プロファイルでタグを適用する必要があることが示されていない場合、Resource Tagger は手動で追加されたタグを削除します。Resource Tagger によって管理されるリソースに手動でタグ付けする場合は、タグキーに ams:rt: プレフィックスを使用しないでください。

Resource Tagger を使用したタグの作成

AMS Accelerate Resource Tagger は、AMS Accelerate オンボーディング中にアカウントにデプロイされるコンポーネントです。Resource Tagger には、リソースのタグ付け方法を定義する設定可能なルールのセットがあり、それらのルールを適用し、リソースにタグを自動的に追加および削除して、ルールに準拠できるようにします。

Resource Tagger を使用してリソースにタグを付ける場合は、「」を参照してくださいリソースタガーの高速化

以下は、すべての Amazon EC2 インスタンスに true の値を持つタグ ams:rt:ams-managed を追加する Resource Tagger 設定スニペットの例です。ams:rt:ams マネージドタグは、AMS Accelerate によるリソースのモニタリングをオプトインします。

{ "AWS::EC2::Instance": { "SampleConfigurationBlock": { "Enabled": true, "Filter": { "Platform": "*" }, "Tags": [ { "Key": "ams:rt:ams-managed", "Value": "true" } ] } } }
警告

AMS 管理の設定を誤って同じ名前で上書きする可能性があるため、新しい設定の名前 (SampleConfigurationBlock の例では ) を指定するときは注意してください。

Resource Tagger によるリソースの変更の防止

Resource Tagger は、リソースにタグを追加または削除できない読み取り専用モードに設定できます。これは、独自のタグ付けメカニズムを提供する場合に便利です。

読み取り専用モードの場合、Resource Tagger は引き続きマネージド設定プロファイルと顧客設定プロファイルで指定されているタグ付けルールを調べ、これらのタグ付けルールを満たさないリソースをスキャンします。非準拠のリソースは で表示されます AWS Config。検索 AWS Config ルール できる には AMSResourceTagger-プレフィックスがあります。たとえば、AMSResourceTagger-EC2Instance AWS Config ルールは、設定プロファイルに基づいてAWS::EC2::Instanceリソースに適切なタグが作成されているかどうかを評価します。

Resource Tagger はこの時点で停止し、リソースに変更を加えません (タグを追加または削除しません)。

読み取り専用モードを有効にするには、オプションブロックに ReadOnly キーを含めるように顧客設定プロファイルを変更します。たとえば、次の設定プロファイルスニペットは、これがどのように表示されるかを示しています。

{ "Options": { "ReadOnly": true }, "AWS::EC2::Instance": { [... the rest of your configuration ...] } }

Resource Tagger は、デプロイが完了するとすぐにこの新しい設定に反応し、リソースへのタグの追加と削除を停止します。

注記

タグの変更を再度有効にするには、デフォルト値が false であるため、ReadOnly 値を false に変更するか、キーを完全に削除します。

オプション設定の詳細については、次の構文と構造「」を参照してください。

設定プロファイルの例

次のプロファイルドキュメントの例では、スタック* CloudFormation スタックの一部であるすべての Windows EC2 インスタンスを AMS Accelerate で管理するように指定していますが、 は ID i-00000000000000001 の特定の EC2 インスタンスを明示的に除外します。

{ "AWS::EC2::Instance": { "AMSMonitoringWindows": { "Enabled": true, "Filter": { "Fn::AND": [ { "Platform": "Windows" }, { "Tag": { "Key": "aws:cloudformation:stack-name", "Value": "stack-*" } }, { "Fn::NOT": { "InstanceId": "i-00000000000000001" } } ] }, "Tags": [ { "Key": "ams:rt:ams-managed", "Value": "true" } ] } } }
警告

AMS 管理の設定を誤って同じ名前で上書きする可能性があるため、新しい設定の名前 (SampleConfigurationBlock の例では ) を指定するときは注意してください。

デフォルト設定のマージ

デフォルトの設定プロファイルは、アカウントのオンボーディング時に AMS Accelerate によって提供されます。このプロファイルは、アカウントにデプロイされるデフォルトのルールを提供します。

デフォルトの設定プロファイルを変更することはできませんが、カスタマイズ設定プロファイルでデフォルトの設定ブロックと同じ ConfigurationID で設定ブロックを指定することで、デフォルトを上書きできます。これを行うと、設定ブロックはデフォルトの設定ブロックを上書きします。

たとえば、次のデフォルト設定ドキュメントを考えてみましょう。

{ "AWS::EC2::Instance": { "AMSManagedBlock1": { "Enabled": true, "Filter": { "Platform": "Windows" }, "Tags": [{ "Key": "my-tag", "Value": "SampleValueA" }] } } }

ここで適用されるタグ値を から SampleValueA に変更しSampleValueB、Windows インスタンスだけでなくすべてのインスタンスにタグを適用するには、次のカスタマイズ設定プロファイルを指定します。

{ "AWS::EC2::Instance": { "AMSManagedBlock1": { "Enabled": true, "Filter": { "Platform": "*" }, "Tags": [{ "Key": "my-tag", "Value": "SampleValueB" }] } } }
重要

設定の変更後は、必ずデプロイしてください。詳細については、「設定変更のデプロイ」を参照してください。SSM AppConfig では、作成後に設定の新しいバージョンをデプロイする必要があります。

デフォルト設定の無効化

デフォルトの設定ルールを無効にするには、カスタマイズ設定プロファイルに同じ ConfigurationID の設定ブロックを追加し、値に falseEnabled フィールドを指定します。

たとえば、デフォルトの設定プロファイルに次の設定がある場合です。

{ "AWS::EC2::Instance": { "AMSManagedBlock1": { "Enabled": true, "Filter": { "Platform": "Windows" }, "Tags": [{ "Key": "my-tag", "Value": "SampleValueA" }] } } }

このタグ付けルールを無効にするには、カスタマイズ設定プロファイルに以下を含めます。

{ "AWS::EC2::Instance": { "AMSManagedBlock1": { "Enabled": false } } }
重要

設定の変更は、必ずデプロイしてください。詳細については、「」を参照してください設定変更のデプロイ。SSM AppConfig では、作成後に設定の新しいバージョンをデプロイする必要があります。

Resource Tagger によって適用されるタグの削除

ams:rt というプレフィックスが付いたタグは、タグが設定プロファイルに存在しない場合、または存在する場合はフィルターが一致しない場合、Resource Tagger によって削除されます。つまり、次のいずれかを実行して、Resource Tagger によって適用されるタグを削除できます。

  • タグを定義するカスタマイズ設定セクションを変更します。

  • 特定のリソースの例外を追加して、フィルターと一致しないようにします。

例: Linux インスタンスに次のタグがある場合:

"Tags": [{ "Key": "ams:rt:MyOwnTag", "Value": true },{ "Key": "myTag", "Value": true }]

また、次の Resource Tagger 設定プロファイルをデプロイします。

{ "AWS::EC2::Instance": { "AMSMonitoringWindows": { "Enabled": true, "Filter": { "Platform": "Windows" }, "Tags": [{ "Key": "ams:rt:ams-managed", "Value": "true" }] } } }

Resource Tagger は新しい設定変更に反応し、インスタンス上の唯一のタグは次のようになります。

"Tags": [{ "Key": "myTag", "Value": true }]
警告

AMS 管理の設定を誤って同じ名前で上書きする可能性があるため、新しい設定の名前 (SampleConfigurationBlock の例では ) を指定するときは注意してください。

重要

設定の変更は、必ずデプロイしてください。詳細については、「」を参照してください設定変更のデプロイ。SSM AppConfig では、作成後に設定の新しいバージョンをデプロイする必要があります。

Resource Tagger 設定の表示または変更

オンボーディング時に AWS AppConfig のアカウントにデプロイされた AMSManagedTagsCustomerManagedTags の 2 つの JSON 設定プロファイルは、AMSResourceTagger アプリケーションと AMSInfrastructure 環境で、AppConfig の GetConfiguration API を通じて確認できます。

この GetConfiguration 呼び出しの例を次に示します。

aws appconfig get-configuration --application AMSResourceTagger --environment AMSInfrastructure --configuration AMSManagedTags --client-id ANY_STRING outfile.json

アプリケーション: 機能を提供する AppConfig 論理ユニット。Resource Tagger の場合、これは AMSResourceTagger です。

  • 環境: AMSInfrastructure。

  • 設定: AMS Accelerate のデフォルトのタグ定義を表示するには、値は AMSManagedTags で、カスタマータグ定義を表示するには、値は CustomerManagedTags です。

  • クライアント ID: 一意のアプリケーションインスタンス識別子。任意の文字列にすることができます。

  • タグ定義は、指定された出力ファイル、この場合は outfile.json で表示できます。

その後、アラーム定義は指定された出力ファイル、この場合は outfile.json で表示できます。

AMSInfrastructure 環境で過去のデプロイを表示することで、アカウントにデプロイされている設定のバージョンを確認できます。

タグルールを上書きするには:

既存のタグルールは、 AWS CloudFormation for Accelerate を使用して設定プロファイルをデプロイするまたは AWS CloudFormation でカスタマイズプロファイルを更新するか、AppConfig の CreateHostedConfigurationVersion API を使用して直接更新することで上書きできます。デフォルトの設定タグルールと同じ ConfigurationID を使用すると、デフォルトのルールが上書きされ、代わりにカスタムルールが適用されます。

CustomerManagedTags ドキュメントに加えられた変更をデプロイするには:

カスタマイズ設定プロファイルを変更したら、変更をデプロイする必要があります。新しい変更をデプロイするには、AppConfig の StartDeployment API を AWS AppConfig コンソールまたは CLI を使用して実行する必要があります。

設定変更のデプロイ

カスタマイズが完了したら、StartDeployment API を使用してこれらの変更を AWS AppConfig デプロイする必要があります。次の手順は、 を使用してデプロイする方法を示しています AWS CLI。さらに、 を使用してこれらの変更 AWS Management Console を行うことができます。詳細については、「ステップ 5: 設定をデプロイする」を参照してください。

aws appconfig start-deployment --application-id <application_id> --environment-id <environment_id> --deployment-strategy-id <deployment_strategy_id> --configuration-profile-id <configuration_profile_id> --configuration-version 1
  • アプリケーション ID: アプリケーション AMSResourceTagger のアプリケーション ID。 ListApplications API コールでこれを取得します。

  • 環境 ID: 環境 ID。ListEnvironments API コールで取得します。

  • デプロイ戦略 ID: デプロイ戦略 ID。これを ListDeploymentStrategies API コールで取得します。

  • 設定プロファイル ID: CustomerManagedTags の設定プロファイル ID。ListConfigurationProfiles API コールで取得します。

  • 設定バージョン: デプロイする設定プロファイルのバージョン。

重要

Resource Tagger は、設定プロファイルで指定されたタグを適用します。リソースタグに対して ( AWS Management Consoleまたは CloudWatch CLI/SDK を使用して) 手動で行った変更は、自動的に元に戻されるため、変更が Resource Tagger で定義されていることを確認します。Resource Tagger によって作成されるタグを確認するには、 というプレフィックスが付いたタグキーを探しますams:rt:

StartDeployment および StopDeployment API アクションを使用してデプロイへのアクセスを、ターゲットに新しい設定をデプロイする責任と結果を理解している信頼されたユーザーに制限します。

AWS AppConfig 機能を使用して設定を作成およびデプロイする方法の詳細については、「AWS AppConfig の使用」のドキュメントを参照してください。

Resource Tagger タグを無視するように Terraform を設定する

Terraform を使用してリソースをプロビジョニングし、Resource Tagger を使用してリソースにタグを付ける場合、Resource Tagger タグは Terraform によってドリフトとして識別される場合があります。

ライフサイクル設定ブロックまたは ignore_tags グローバル設定ブロックを使用して、すべての Resource Tagger タグを無視するように Terraform を設定できます。詳細については、「Resource Tagging」の「Resource Tagging」に関する Terraform ドキュメントを参照してください。

次の例は、Resource Tagger タグプレフィックス で始まるすべてのタグを無視するグローバル設定を作成する方法を示していますams:rt:

provider "aws" { # ... potentially other configuration ... ignore_tags { key_prefixes = ["ams:rt:"] } }

Resource Tagger によって管理されるリソースの数の表示

Resource Tagger は、 AMS/ResourceTagger名前空間の Amazon CloudWatch に 1 時間ごとにメトリクスを送信します。メトリクスは、Resource Tagger でサポートされているリソースタイプに対してのみ出力されます。

メトリクス名 ディメンション 説明
ResourceCount コンポーネント、ResourceType

このリージョンにデプロイされた (指定されたリソースタイプの) リソースの数。

単位: カウント

ResourcesMissingManagedTags コンポーネント、ResourceType

設定プロファイルに従ってマネージドタグを必要とするが、Resource Tagger によってまだタグ付けされていないリソース (指定されたリソースタイプの) の数。

単位: カウント

UnmanagedResources コンポーネント、ResourceType

Resource Tagger によって管理タグが適用されていないリソースの数 (指定されたリソースタイプ)。通常、これらのリソースは Resource Tagger 設定ブロックと一致しないか、設定ブロックから明示的に除外されます。

単位: カウント

MatchingResourceCount コンポーネント、ResourceType、ConfigClauseName

Resource Tagger 設定ブロックに一致する (指定されたリソースタイプの) リソースの数。リソースが設定ブロックと一致するには、ブロックを有効にし、リソースがブロックのフィルターと一致する必要があります。

単位: カウント

これらのメトリクスは、AMS-Resource-Tagger-Reporting-Dashboard でグラフとしても表示できます。ダッシュボードを表示するには、Amazon CloudWatch マネジメントコンソールから AMS-Resource-Tagger-Reporting-Dashboard を選択します。デフォルトでは、このダッシュボードのグラフには過去 12 時間のデータが表示されます。

AMS Accelerate は CloudWatch アラームをアカウントにデプロイして、AMS Resource Tagger によって管理から除外されたリソースなど、アンマネージドリソースの数の大幅な増加を検出します。AMS オペレーションは、同じタイプの 3 つのリソース、または同じタイプのすべてのリソースの 50% を超えるアンマネージドリソースの増加を調査します。変更が意図的なものではないと思われる場合、AMS オペレーションから変更の確認を求められることがあります。