ElastiCache リソースのタグ付け - Amazon ElastiCache

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

ElastiCache リソースのタグ付け

クラスターやその他の ElastiCache リソースの管理に役立つように、タグの形式で各リソースに独自のメタデータを割り当てることができます。タグを使用すると、目的、所有者、環境など、さまざまな方法で AWS リソースを分類できます。これは、同じタイプのリソースが多数ある場合に役立ちます。割り当てたタグに基づいて、特定のリソースをすばやく識別できます。このトピックでは、タグとその作成方法について説明します。

警告

ベストプラクティスとして、機密データをタグに含めないようお勧めします。

タグは、 AWS リソースに割り当てるラベルです。タグはそれぞれ、1 つのキーとオプションの 1 つの値で設定されており、どちらもお客様側が定義します。タグを使用すると、目的や所有者など、さまざまな方法で AWS リソースを分類できます。例えば、各インスタンスの所有者とユーザーグループを追跡するのに役立つ、アカウントの ElastiCache クラスターのタグのセットを定義できます。

各リソースタイプのニーズを満たす一連のタグキーを考案することをお勧めします。一貫性のある一連のタグキーを使用することで、リソースの管理が容易になります。追加したタグに基づいてリソースを検索およびフィルタリングできます。効果的なリソースのタグ付け戦略を実装する方法の詳細については、「AWS ホワイトペーパーのタグ付けのベストプラクティス」を参照してください。

タグには意味的な意味はなく ElastiCache 、厳密には文字列として解釈されます。また、タグは自動的にリソースに割り当てられます。タグのキーと値は編集でき、タグはリソースからいつでも削除できます。タグの値は null に設定できます。特定のリソースについて既存のタグと同じキーを持つタグを追加した場合、以前の値は新しい値によって上書きされます。リソースを削除すると、リソースのタグも削除されます。さらに、レプリケーショングループでタグを追加または削除すると、そのレプリケーショングループ内のすべてのノードにもタグが追加または削除されます。

AWS Management Console、、 AWS CLIおよび を使用してタグを操作できます ElastiCache API。

を使用している場合はIAM、 AWS アカウント内のどのユーザーにタグを作成、編集、または削除するためのアクセス許可があるかを制御できます。詳細については、「リソースレベルのアクセス許可」を参照してください。

アカウント内に既に存在するほとんどの ElastiCache リソースにタグを付けることができます。以下の表に、タグ付けをサポートするリソースを示します。を使用している場合は AWS Management Console、タグエディタ を使用してリソースにタグを適用できます。一部のリソースの画面では、リソースの作成時にリソースのタグを指定できます。たとえば、Name のキーと指定した値をタグ付けします。ほとんどの場合、リソースの作成後すぐに (リソースの作成時ではなく) コンソールによりタグが適用されます。コンソールは Name タグに従ってリソースを整理できますが、このタグは ElastiCache サービスにとって意味的な意味を持ちません。

さらに、リソース作成アクションによっては、リソースの作成時にリソースのタグを指定できます。リソースの作成時にタグを適用できない場合は、リソース作成プロセスがロールバックされます。これにより、リソースがタグ付きで作成されるか、まったく作成されないようになるため、タグ付けされていないリソースが存在することがなくなります。作成時にリソースにタグ付けすることで、リソース作成後にカスタムタグ付けスクリプティングを実行する必要がなくなります。

Amazon ElastiCache API、 AWS CLI、または を使用している場合 AWS SDKは、関連する ElastiCache APIアクションで Tagsパラメータを使用してタグを適用できます。具体的には次の 2 つです。

  • CreateServerlessCache

  • CreateCacheCluster

  • CreateReplicationGroup

  • CopyServerlessCacheSnapshot

  • CopySnapshot

  • CreateCacheParameterGroup

  • CreateCacheSecurityGroup

  • CreateCacheSubnetGroup

  • CreateServerlessCacheSnapshot

  • CreateSnapshot

  • CreateUserGroup

  • CreateUser

  • PurchaseReservedCacheNodesOffering

次の表は、 、、または ElastiCache APIを使用して、タグ付けできる ElastiCache リソースと AWS CLI、作成時にタグ付けできるリソースを示しています AWS SDK。

ElastiCache リソースのタグ付けのサポート
リソース タグをサポート 作成時のタグ付けをサポート
serverlesscache あり 可能
parametergroup あり 可能
securitygroup あり 可能
subnetgroup あり 可能
replicationgroup あり 可能
クラスター あり 可能
reserved-instance あり 可能
serverlesscachesnapshot あり 可能
スナップショット あり 可能
ユーザー あり 可能
usergroup あり 可能
注記

グローバルデータストアにタグを付けることはできません。

IAM ポリシー内のタグベースのリソースレベルのアクセス許可を、 ElastiCache API作成時のタグ付けをサポートするアクションに適用して、作成時にリソースにタグ付けできるユーザーとグループをきめ細かく制御できます。リソースは、作成時から適切に保護されます。タグはリソースに即座に適用されます。したがって、リソースの使用を制御するタグベースのリソースレベルの許可は、ただちに有効になります。リソースは、より正確に追跡および報告されます。新しいリソースにタグ付けの使用を適用し、リソースで設定されるタグキーと値をコントロールできます。

詳細については、「リソースのタグ付けの例」を参照してください。

請求用のリソースへのタグ付けの詳細については、「コスト配分タグによるコストのモニタリング」を参照してください。

リクエストオペレーションの一部としてタグ付けには、次のルールが適用されます。

  • CreateReplicationGroup:

    • --primary-cluster-id および --tags パラメータがリクエストに含まれている場合、リクエストタグはレプリケーショングループに追加され、レプリケーショングループ内のすべてのキャッシュクラスターに伝播されます。プライマリキャッシュクラスターに既存のタグがある場合、これらはリクエストタグで上書きされ、すべてのノードで一貫したタグを持つようになります。

      リクエストタグがない場合、プライマリキャッシュクラスタータグはレプリケーショングループに追加され、すべてのキャッシュクラスターに伝播されます。

    • --snapshot-name または --serverless-cache-snapshot-name が供給された場合:

      タグがリクエストに含まれている場合、レプリケーショングループはそれらのタグのみでタグ付けされます。タグがリクエストに含まれていない場合、スナップショットタグがレプリケーショングループに追加されます。

    • --global-replication-group-id が供給された場合:

      タグがリクエストに含まれている場合、リクエストタグはレプリケーショングループに追加され、すべてのキャッシュクラスターに伝播されます。

  • CreateCacheCluster :

    • --replication-group-id が供給された場合:

      タグがリクエストに含まれている場合、キャッシュクラスターはそれらのタグのみでタグ付けされます。タグがリクエストに含まれていない場合、キャッシュクラスターはプライマリキャッシュクラスターのタグではなく、レプリケーショングループタグを継承します。

    • --snapshot-name が供給された場合:

      タグがリクエストに含まれている場合、キャッシュクラスターはそれらのタグのみでタグ付けされます。タグがリクエストに含まれていない場合、スナップショットタグはキャッシュクラスターに追加されます。

  • CreateServerlessCache :

    • タグがリクエストに含まれている場合、リクエストタグのみがサーバーレスキャッシュに追加されます。

  • CreateSnapshot :

    • --replication-group-id が供給された場合:

      タグがリクエストに含まれている場合、リクエストタグのみがスナップショットに追加されます。タグがリクエストに含まれていない場合、レプリケーショングループタグがスナップショットに追加されます。

    • --cache-cluster-id が供給された場合:

      タグがリクエストに含まれている場合、リクエストタグのみがスナップショットに追加されます。タグがリクエストに含まれていない場合、キャッシュクラスタータグがスナップショットに追加されます。

    • 自動スナップショットでは:

      タグは、レプリケーショングループタグから伝播されます。

  • CreateServerlessCacheSnapshot :

    • タグがリクエストに含まれている場合、リクエストタグのみがサーバーレスキャッシュのスナップショットに追加されます。

  • CopySnapshot :

    • タグがリクエストに含まれている場合、リクエストタグのみがスナップショットに追加されます。タグがリクエストに含まれていない場合、コピー元のスナップショットタグがコピーされたスナップショットに追加されます。

  • CopyServerlessCacheSnapshot :

    • タグがリクエストに含まれている場合、リクエストタグのみがサーバーレスキャッシュのスナップショットに追加されます。

  • AddTagsToResource および RemoveTagsFromResource :

    • タグはレプリケーショングループに追加または削除され、アクションはレプリケーショングループ内のすべてのクラスターに伝播されます。

    注記

    AddTagsToResource および RemoveTagsFromResource は、デフォルトのパラメータおよびセキュリティグループでは使用できません。

  • IncreaseReplicaCount および ModifyReplicationGroupShardConfiguration

    • レプリケーショングループに追加されたすべての新しいクラスターには、レプリケーショングループと同じタグが適用されます。

タグには以下のような基本制限があります。

  • リソースあたりのタグの最大数 - 50 件

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

  • 最大キー長 – UTF-8 で 128 Unicode 文字。

  • 最大値の長さ – UTF-8 で 256 個の Unicode 文字。

  • ElastiCache はタグ内の任意の文字を許可しますが、他のサービスは制限される場合があります。サービス全体で使用できる文字は、UTF-8 で表される文字、数字、スペース、および + - = . _ : / @ です。

  • タグのキーと値は大文字と小文字が区別されます。

  • aws: プレフィックスは AWS 使用のために予約されています。タグにこのプレフィックスが付いたタグキーがある場合、タグのキーまたは値を編集、削除することはできません。aws: プレフィックスを持つタグは、リソースあたりのタグ数の制限時には計算されません。

タグのみに基づいてリソースを終了、停止、終了することはできません。リソース識別子を指定する必要があります。例えば、DeleteMe というタグキーを使用してタグ付けしたスナップショットを削除するには、DeleteSnapshot のようなスナップショットのリソース識別子を指定して snap-1234567890abcdef0 アクションを使用する必要があります。

タグ付けできる ElastiCache リソースの詳細については、「」を参照してくださいタグを付けることができるリソース

  • タグを使用したサーバーレスキャッシュの作成。この例では、エンジンとして Memcached を使用します。

    aws elasticache create-serverless-cache \ --serverless-cache-name CacheName \ --engine memcached --tags Key="Cost Center", Value="1110001" Key="project",Value="XYZ"
  • サーバーレスキャッシュへのタグの追加

    aws elasticache add-tags-to-resource \ --resource-name arn:aws:elasticache:us-east-1:111111222233:serverlesscache:my-cache \ --tags Key="project",Value="XYZ" Key="Elasticache",Value="Service"
  • レプリケーショングループにタグを追加します。

    aws elasticache add-tags-to-resource \ --resource-name arn:aws:elasticache:us-east-1:111111222233:replicationgroup:my-rg \ --tags Key="project",Value="XYZ" Key="Elasticache",Value="Service"
  • タグを使用したキャッシュクラスターの作成。

    aws elasticache create-cache-cluster \ --cluster-id testing-tags \ --cluster-description cluster-test \ --cache-subnet-group-name test \ --cache-node-type cache.t2.micro \ --engine valkey \ --tags Key="project",Value="XYZ" Key="Elasticache",Value="Service"
  • タグを使用したキャッシュクラスターを作成します。この例では、Redis をエンジンとして使用します。

    aws elasticache create-cache-cluster \ --cluster-id testing-tags \ --cluster-description cluster-test \ --cache-subnet-group-name test \ --cache-node-type cache.t2.micro \ --engine valkey \ --tags Key="project",Value="XYZ" Key="Elasticache",Value="Service"
  • タグ付きのサーバーレススナップショットの作成。この例では、エンジンとして Memcached を使用します。

    aws elasticache create-serverless-cache-snapshot \ --serverless-cache-name testing-tags \ --serverless-cache-snapshot-name bkp-testing-tags-scs \ --tags Key="work",Value="foo"
  • タグ付きのスナップショットを作成します。

    現在、スナップショットは Redis でのみ使用できます。この場合、リクエストでタグを追加すると、レプリケーショングループにタグが含まれている場合でも、スナップショットはリクエストタグのみを受け取ります。

    aws elasticache create-snapshot \ --replication-group-id testing-tags \ --snapshot-name bkp-testing-tags-rg \ --tags Key="work",Value="foo"
  1. クラスターに Project= というタグが付いている場合にのみ、クラスターにAddTagsToResourceアクションを許可しますXYZ。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "elasticache:AddTagsToResource", "Resource": [ "arn:aws:elasticache:*:*:cluster:*" ], "Condition": { "StringEquals": { "aws:ResourceTag/Project": "XYZ" } } } ] }
  2. レプリケーショングループに Project タグと Service タグが含まれ、キーが Project と Service と異なる場合、レプリケーショングループからの RemoveTagsFromResource アクションが許可されます。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "elasticache:RemoveTagsFromResource", "Resource": [ "arn:aws:elasticache:*:*:replicationgroup:*" ], "Condition": { "StringEquals": { "aws:ResourceTag/Service": "Elasticache", "aws:ResourceTag/Project": "XYZ" }, "ForAnyValue:StringNotEqualsIgnoreCase": { "aws:TagKeys": [ "Project", "Service" ] } } } ] }
  3. タグが Project と Service と異なる場合にのみ、任意のリソースへの AddTagsToResource が許可されます。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "elasticache:AddTagsToResource", "Resource": [ "arn:aws:elasticache:*:*:*:*" ], "Condition": { "ForAnyValue:StringNotEqualsIgnoreCase": { "aws:TagKeys": [ "Service", "Project" ] } } } ] }
  4. リクエストに Tag Project=Foo がある場合、CreateReplicationGroup アクションが拒否されます。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "elasticache:CreateReplicationGroup", "Resource": [ "arn:aws:elasticache:*:*:replicationgroup:*" ], "Condition": { "StringEquals": { "aws:RequestTag/Project": "Foo" } } } ] }
  5. ソーススナップショットに Project=XYZ タグがあり、リクエストタグが Service=Elasticache の場合、CopySnapshotアクションを拒否します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "elasticache:CopySnapshot", "Resource": [ "arn:aws:elasticache:*:*:snapshot:*" ], "Condition": { "StringEquals": { "aws:ResourceTag/Project": "XYZ", "aws:RequestTag/Service": "Elasticache" } } } ] }
  6. リクエストタグ Project が欠落しているか、DevQA、または Prod と等しくない場合、CreateCacheCluster アクションが拒否されます。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elasticache:CreateCacheCluster" ], "Resource": [ "arn:aws:elasticache:*:*:parametergroup:*", "arn:aws:elasticache:*:*:subnetgroup:*", "arn:aws:elasticache:*:*:securitygroup:*", "arn:aws:elasticache:*:*:replicationgroup:*" ] }, { "Effect": "Deny", "Action": [ "elasticache:CreateCacheCluster" ], "Resource": [ "arn:aws:elasticache:*:*:cluster:*" ], "Condition": { "Null": { "aws:RequestTag/Project": "true" } } }, { "Effect": "Allow", "Action": [ "elasticache:CreateCacheCluster", "elasticache:AddTagsToResource" ], "Resource": "arn:aws:elasticache:*:*:cluster:*", "Condition": { "StringEquals": { "aws:RequestTag/Project": [ "Dev", "Prod", "QA" ] } } } ] }

条件キーの詳細については、「条件キーの使用」を参照してください。