Marquer vos ressources ElastiCache - Amazon ElastiCache

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Marquer vos ressources ElastiCache

Pour vous aider à gérer vos clusters et autres ElastiCache ressources, vous pouvez attribuer vos propres métadonnées à chaque ressource sous forme de balises. Les balises vous permettent de classer vos AWS ressources de différentes manières, par exemple par objectif, propriétaire ou environnement. Cette approche est utile lorsque vous avez de nombreuses ressources de même type. Elle vous permet d’identifier rapidement une ressource spécifique en fonction des balises que vous lui avez attribuées. Cette rubrique décrit les balises et vous montre comment les créer.

Avertissement

Nous vous recommandons de ne pas inclure de données sensibles dans vos balises.

Une étiquette est une étiquette que vous attribuez à une AWS ressource. Chaque balise est constituée d’une clé et d’une valeur facultative que vous définissez. Les balises vous permettent de classer vos AWS ressources de différentes manières, par exemple par objectif ou par propriétaire. Par exemple, vous pouvez définir un ensemble de balises pour les ElastiCache clusters de votre compte afin de suivre le propriétaire et le groupe d'utilisateurs de chaque instance.

Nous vous recommandons de concevoir un ensemble de clés d’étiquette répondant à vos besoins pour chaque type de ressource. L’utilisation d’un ensemble de clés de balise cohérent facilite la gestion de vos ressources. Vous pouvez rechercher et filtrer les ressources en fonction des balises que vous ajoutez. Pour plus d'informations sur la mise en œuvre d'une stratégie efficace de balisage des ressources, consultez Le livre blanc AWS sur les bonnes pratiques en matière d'identification.

Les balises n'ont aucune signification sémantique ElastiCache et sont interprétées strictement comme des chaînes de caractères. De plus, les étiquettes ne sont pas automatiquement affectées à vos ressources. Vous pouvez modifier les clés et valeurs de balise, et vous pouvez retirer des balises d’une ressource à tout moment. Vous pouvez définir la valeur d'une balise à null. Si vous ajoutez une balise ayant la même clé qu’une balise existante sur cette ressource, la nouvelle valeur remplace l’ancienne valeur. Si vous supprimez une ressource, ses balises sont également supprimées. En outre, si vous ajoutez ou supprimez des balises sur un groupe de réplication, tous les nœuds de ce groupe de réplication verront également leurs balises ajoutées ou supprimées.

Vous pouvez travailler avec des balises en utilisant le AWS Management Console AWS CLI, le et le ElastiCache API.

Si vous en utilisezIAM, vous pouvez contrôler quels utilisateurs de votre AWS compte sont autorisés à créer, modifier ou supprimer des tags. Pour de plus amples informations, veuillez consulter Autorisations de niveau ressource.

Vous pouvez étiqueter la plupart ElastiCache des ressources qui existent déjà dans votre compte. Le tableau ci-dessous répertorie les ressources qui prennent en charge le balisage. Si vous utilisez le AWS Management Console, vous pouvez appliquer des balises aux ressources à l'aide de l'éditeur de balises. Certains écrans de ressources vous permettent de spécifier des balises pour une ressource lorsque vous la créez ; par exemple, une balise avec une clé de Nom et une valeur que vous spécifiez. Dans la plupart des cas, la console applique les balises immédiatement après la création de la ressource (plutôt qu’au cours de la création de ressources). La console peut organiser les ressources en fonction de la balise Name, mais cette balise n'a aucune signification sémantique pour le ElastiCache service.

En outre, certaines actions de création de ressources vous permettent de spécifier des balises pour une ressource lors de la création de cette dernière. Si les balises ne peuvent pas être appliquées au cours de la création de ressources, nous restaurons le processus de création de ressources. Cela permet de s’assurer que les ressources sont créées avec des balises ou qu’elles ne sont pas créées du tout, et qu’aucune ressource ne demeurent sans balise à tout moment. En attribuant des balises aux ressources au moment de la création, vous pouvez supprimer la nécessité d’exécuter des scriptes de balisage personnalisés après la création de ressources.

Si vous utilisez Amazon ElastiCache API, le ou un AWS CLI AWS SDK, vous pouvez utiliser le Tags paramètre de l' ElastiCache APIaction correspondante pour appliquer des balises. Il s'agit des options suivantes :

  • CreateServerlessCache

  • CreateCacheCluster

  • CreateReplicationGroup

  • CopyServerlessCacheSnapshot

  • CopySnapshot

  • CreateCacheParameterGroup

  • CreateCacheSecurityGroup

  • CreateCacheSubnetGroup

  • CreateServerlessCacheSnapshot

  • CreateSnapshot

  • CreateUserGroup

  • CreateUser

  • PurchaseReservedCacheNodesOffering

Le tableau suivant décrit les ElastiCache ressources qui peuvent être balisées et les ressources qui peuvent être balisées lors de leur création à l'aide du ElastiCache API AWS CLI, du ou d'un AWS SDK.

Support de balisage pour les ressources ElastiCache
Ressource Prend en charge les balises Prend en charge le balisage au moment de la création
serverlesscache Oui Oui
parametergroup Oui Oui
securitygroup Oui Oui
subnetgroup Oui Oui
replicationgroup Oui Oui
cluster Oui Oui
reserved-instance Oui Oui
serverlesscachesnapshot Oui Oui
instantané Oui Oui
utilisateur Oui Oui
usergroup Oui Oui
Note

Vous ne pouvez pas étiqueter les entrepôts de données globaux.

Vous pouvez appliquer des autorisations au niveau des ressources basées sur des balises dans vos IAM politiques aux ElastiCache API actions qui prennent en charge le balisage lors de la création afin de mettre en œuvre un contrôle granulaire sur les utilisateurs et les groupes autorisés à étiqueter les ressources lors de la création. Vos ressources sont correctement sécurisées depuis la création. Les balises sont appliquées immédiatement à vos ressources. Les autorisations de niveau ressource basées sur des balises sont donc effectives immédiatement. Vos ressources peuvent être suivies et signalées avec plus de précision. Vous pouvez appliquer l’utilisation du balisage sur les nouvelles ressources et contrôler que les clés et valeurs de balise sont définies sur vos ressources.

Pour de plus amples informations, veuillez consulter Exemple : étiquetage de vos ressources.

Pour plus d'informations sur l'étiquetage de vos ressources pour la facturation, veuillez consulter Surveillance des coûts avec des balises de répartition des coûts.

Les règles suivantes s'appliquent à l'étiquetage dans le cadre d'opérations de requête :

  • CreateReplicationGroup:

    • Si les paramètres --primary-cluster-id et --tags sont inclus dans la requête, les balises de requête sont ajoutées au groupe de réplication et propagées à tous les clusters de cache du groupe de réplication. Si le cluster de cache principal possède des balises existantes, celles-ci seront remplacées par les balises de requête pour avoir des balises cohérentes sur tous les nœuds.

      S'il n'y a pas de balises de requête, les balises de cluster de cache primaires sont ajoutées au groupe de réplication et propagées à tous les clusters de cache.

    • Si --snapshot-name ou --serverless-cache-snapshot-name est fourni :

      Si des balises sont incluses dans la demande, le groupe de réplication sera étiqueté uniquement avec ces balises. Si aucune balise n’est incluse dans la demande, les balises de l’instantané seront ajoutées au groupe de réplication.

    • Si --global-replication-group-id est fourni :

      Si des balises sont incluses dans la demande, les balises de la demande seront ajoutées au groupe de réplication et propagées à tous les clusters de cache.

  • CreateCacheCluster :

    • Si --replication-group-id est fourni :

      Si des balises sont incluses dans la requête, le cluster de cache sera étiqueté uniquement avec ces balises. Si aucune balise n'est incluse dans la demande, le cluster de cache héritera des balises de groupe de réplication au lieu des balises du cluster de cache principal.

    • Si --snapshot-name est fourni :

      Si des balises sont incluses dans la requête, le cluster de cache sera étiqueté uniquement avec ces balises. Si aucune balise n'est incluse dans la requête, les balises d'instantané seront ajoutées au cluster de cache.

  • CreateServerlessCache :

    • Si des balises sont incluses dans la demande, seules les balises de la demande seront ajoutées au cache sans serveur.

  • CreateSnapshot :

    • Si --replication-group-id est fourni :

      Si des balises sont incluses dans la requête, seules les balises de requête seront ajoutées à l'instantané. Si aucune balise n'est incluse dans la requête, les balises du groupe de réplication sont ajoutées à l'instantané.

    • Si --cache-cluster-id est fourni :

      Si des balises sont incluses dans la requête, seules les balises de requête seront ajoutées à l'instantané. Si aucune balise n'est incluse dans la requête, les balises de cluster de cache sont ajoutées à l'instantané.

    • Pour les instantanés automatiques :

      Les balises se propagent à partir des balises du groupe de réplication.

  • CreateServerlessCacheSnapshot :

    • Si des balises sont incluses dans la demande, seules les balises de la demande seront ajoutées à l’instantané du cache sans serveur.

  • CopySnapshot :

    • Si des balises sont incluses dans la requête, seules les balises de requête seront ajoutées à l'instantané. Si aucune balise n'est incluse dans la requête, les balises d'instantané source sont ajoutées à l'instantané copié.

  • CopyServerlessCacheSnapshot :

    • Si des balises sont incluses dans la demande, seules les balises de la demande seront ajoutées à l’instantané du cache sans serveur.

  • AddTagsToResourceet RemoveTagsFromResource:

    • Les balises seront ajoutées/supprimées du groupe de réplication et l'action sera propagée à tous les clusters du groupe de réplication.

    Note

    AddTagsToResourceet RemoveTagsFromResourcene peut pas être utilisé pour les paramètres par défaut et les groupes de sécurité.

  • IncreaseReplicaCountet ModifyReplicationGroupShardConfiguration:

    • Tous les nouveaux clusters ajoutés au groupe de réplication auront les mêmes balises que le groupe de réplication.

Les restrictions de base suivantes s’appliquent aux balises :

  • Nombre maximal de balises par ressource : 50

  • Pour chaque ressource, chaque clé de balise doit être unique, et chaque clé de balise peut avoir une seule valeur.

  • Longueur de clé maximale : 128 caractères Unicode en UTF -8.

  • Longueur maximale de la valeur : 256 caractères Unicode en UTF -8.

  • Bien qu'il ElastiCache autorise n'importe quel caractère dans ses balises, d'autres services peuvent être restrictifs. Les caractères autorisés dans tous les services sont les suivants : lettres, chiffres et espaces représentables en UTF -8, et les caractères suivants : + - =. _ :/@

  • Les clés et valeurs d’étiquette sont sensibles à la casse.

  • Le aws: préfixe est réservé à l' AWS usage. Lorsque la balise possède une clé de balise avec ce préfixe, vous ne pouvez pas modifier ou supprimer sa clé ou sa valeur. Les balises avec le préfixe aws: ne sont pas comptabilisées comme vos balises pour la limite de ressources.

Vous ne pouvez pas mettre fin à une ressource, ou l’arrêter ou la supprimer uniquement en fonction de ses balises ; vous devez spécifier l’identificateur de ressource. Par exemple, pour supprimer des instantanés (snapshot) que vous avez balisés avec une clé de balise appelée DeleteMe, vous devez utiliser l’action DeleteSnapshot avec les identificateurs de ressource des instantanés, tels que snap-1234567890abcdef0.

Pour plus d'informations sur les ElastiCache ressources que vous pouvez baliser, consultezRessources que vous pouvez étiqueter.

  • Création d'un cache sans serveur à l'aide de balises. Cet exemple utilise Memcached comme moteur.

    aws elasticache create-serverless-cache \ --serverless-cache-name CacheName \ --engine memcached --tags Key="Cost Center", Value="1110001" Key="project",Value="XYZ"
  • Ajout de balises à un cache sans serveur

    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"
  • Ajout de balises à un groupe de réplication.

    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"
  • Création d'un cluster de cache en utilisant des balises.

    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"
  • Création d'un cluster de cache en utilisant des balises. Cet exemple utilise Redis comme moteur.

    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"
  • Création d’un instantané sans serveur avec des balises. Cet exemple utilise Memcached comme moteur.

    aws elasticache create-serverless-cache-snapshot \ --serverless-cache-name testing-tags \ --serverless-cache-snapshot-name bkp-testing-tags-scs \ --tags Key="work",Value="foo"
  • Création d'un instantané avec des balises.

    Les instantanés ne sont actuellement disponibles que pour Redis. Dans ce cas, si vous ajoutez des balises sur demande, même si le groupe de réplication contient des balises, l'instantané recevra uniquement les balises demandées.

    aws elasticache create-snapshot \ --replication-group-id testing-tags \ --snapshot-name bkp-testing-tags-rg \ --tags Key="work",Value="foo"
  1. AddTagsToResourceAutoriser l'action sur un cluster uniquement si le cluster possède le tag Project=XYZ.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "elasticache:AddTagsToResource", "Resource": [ "arn:aws:elasticache:*:*:cluster:*" ], "Condition": { "StringEquals": { "aws:ResourceTag/Project": "XYZ" } } } ] }
  2. Autoriser une action RemoveTagsFromResource à partir d'un groupe de réplication s'il contient les balises Projet et Service et que les clés sont différentes de Project et Service.

    { "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. Autoriser AddTagsToResource à n'importe quelle ressource uniquement si les balises sont différentes de Project et Service.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "elasticache:AddTagsToResource", "Resource": [ "arn:aws:elasticache:*:*:*:*" ], "Condition": { "ForAnyValue:StringNotEqualsIgnoreCase": { "aws:TagKeys": [ "Service", "Project" ] } } } ] }
  4. Refuser une action CreateReplicationGroup si la requête comporte Tag Project=Foo.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "elasticache:CreateReplicationGroup", "Resource": [ "arn:aws:elasticache:*:*:replicationgroup:*" ], "Condition": { "StringEquals": { "aws:RequestTag/Project": "Foo" } } } ] }
  5. Interdire CopySnapshot l'action si l'instantané source possède la balise Project= XYZ et que la balise de requête est Service=Elasticache.

    { "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. Refus de l'action CreateCacheCluster si l'identification de la demande Project est manquante ou n'est pas égale à Dev, QA ou Prod.

    { "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" ] } } } ] }

Pour obtenir des informations connexes sur les clés de condition, consultez Utilisation de clés de condition.