Etiquetado de los recursos de ElastiCache - Amazon ElastiCache (Redis OSS)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Etiquetado de los recursos de ElastiCache

Para ayudarlo a administrar sus clústeres y otros recursos de ElastiCache, puede asignar sus propios metadatos a cada recurso en forma de etiquetas. Las etiquetas le permiten clasificar los recursos de AWS de diversas maneras, por ejemplo, según su finalidad, propietario o entorno. Esto es útil cuando tiene muchos recursos del mismo tipo: puede identificar rápidamente un recurso específico en función de las etiquetas que le haya asignado. En este tema se describe qué son las etiquetas y cómo crearlas.

aviso

Como práctica recomendada, no debe incluir datos confidenciales en las etiquetas.

Una etiqueta es una marca que se asigna a un recurso de AWS. Cada etiqueta está formada por una clave y un valor opcional, ambos definidos por el usuario. Las etiquetas permiten clasificar los recursos de AWS de diversas maneras, por ejemplo, según finalidad o propietario. Por ejemplo, podría definir un conjunto de etiquetas para los clústeres de ElastiCache de su cuenta que lo ayude a realizar un seguimiento del propietario y el grupo de usuario de cada instancia.

Recomendamos que idee un conjunto de claves de etiqueta que cumpla sus necesidades para cada tipo de recurso. Mediante el uso de un conjunto coherente de claves de etiquetas, podrá administrar los recursos de más fácilmente. Puede buscar y filtrar los recursos en función de las etiquetas que agregue. Para obtener más información acerca de cómo implementar una estrategia eficaz de etiquetado de recursos, consulte el documento técnico de Prácticas recomendadas de etiquetado de AWS.

Las etiquetas no tienen significado semántico para ElastiCache, por lo que se interpretan estrictamente como cadenas de caracteres. Además, las etiquetas no se asignan a los recursos automáticamente. Puede editar las claves y los valores de las etiquetas y también puede eliminar etiquetas de un recurso en cualquier momento. Puede establecer el valor de una etiqueta en null. Si añade una etiqueta con la misma clave que una etiqueta existente en ese recurso, el nuevo valor sobrescribirá al antiguo. Si elimina un recurso, también se eliminará cualquier etiqueta asignada a dicho recurso. Además, si agrega o elimina etiquetas en un grupo de reproducción, todos los nodos de ese grupo de reproducción también se agregarán o eliminarán sus etiquetas.

Puede trabajar con etiquetas mediante la AWS Management Console, la AWS CLI y la API de ElastiCache.

Si utiliza IAM, puede controlar qué usuarios de su cuenta de AWS tienen permiso para crear, editar o eliminar etiquetas. Para obtener más información, consulte Permisos de nivel de recursos.

Puede etiquetar la mayoría de los recursos de ElastiCache que ya existen en la cuenta. La siguiente tabla enumera los recursos que admiten etiquetas. Si utiliza la AWS Management Console, puede aplicar etiquetas a recursos a través del Editor de etiquetas. Algunas pantallas de recursos permiten especificar etiquetas para un recurso al crear dicho recurso; por ejemplo, una etiqueta con una clave de Name (Nombre) y un valor que especifique. En la mayoría de los casos, la consola aplica las etiquetas inmediatamente después de crear el recurso (y no durante la creación del mismo). La consola puede organizar los recursos según la etiqueta de Name (Nombre), si bien dicha etiqueta no tiene significado semántico para el servicio de ElastiCache.

Además, algunas acciones de creación de recursos le permiten especificar etiquetas para un recurso al crear dicho recurso. Si no se pueden aplicar etiquetas durante la creación del recurso, el proceso de creación del recurso se revierte. Esto garantiza que los recursos se creen con etiquetas o, de lo contrario, no se creen y que ningún recurso se quede jamás sin etiquetar. Al etiquetar los recursos en el momento de su creación, se eliminar la necesidad de ejecutar scripts de etiquetado personalizados tras la creación del recurso.

Si utiliza la API de Amazon ElastiCache, la AWS CLI o un SDK de AWS, puede aplicar etiquetas mediante el parámetro Tags en la acción de la API de ElastiCache pertinente. Son los siguientes:

  • CreateServerlessCache

  • CreateCacheCluster

  • CreateReplicationGroup

  • CopyServerlessCacheSnapshot

  • CopySnapshot

  • CreateCacheParameterGroup

  • CreateCacheSecurityGroup

  • CreateCacheSubnetGroup

  • CreateServerlessCacheSnapshot

  • CreateSnapshot

  • CreateUserGroup

  • CreateUser

  • PurchaseReservedCacheNodesOffering

En la siguiente tabla se describen los recursos de ElastiCache que se pueden etiquetar y aquellos que se pueden etiquetar en el momento de su creación con la API de ElastiCache, la AWS CLI o un SDK de AWS.

Compatibilidad con el etiquetado de recursos de ElastiCache
Recurso Admite etiquetas Admite el etiquetado durante la creación
caché sin servidor
parametergroup
securitygroup
subnetgroup
replicationgroup
Clúster
reserved-instance
instantánea de caché sin servidor
instantánea
usuario
usergroup
nota

No puede etiquetar almacenes de datos globales.

En las políticas de IAM, puede aplicar permisos de nivel de recursos basados en etiquetas a las acciones de la API de ElastiCache que admitan el etiquetado durante la creación para implementar un control pormenorizado de los usuarios y los grupos que pueden etiquetar recursos durante la creación. Sus recursos se encuentran debidamente protegidos de las etiquetas de creación que se aplican de inmediato a los recursos. Por lo tanto, cualquier permiso de nivel de recursos basado en etiquetas que controle la utilización de recursos es efectivo de inmediato. Se puede realizar un seguimiento y un registro más precisos de los recursos. Puede establecer el etiquetado obligatorio de los nuevos recursos y controlar qué claves y valores de etiquetas se usan en ellos.

Para obtener más información, consulte Ejemplos de etiquetado de recursos.

A fin de obtener más información sobre el etiquetado de recursos para facturación, consulte Monitoreo de costos con etiquetas de asignación de costos.

Las siguientes reglas se aplican al etiquetado como parte de las operaciones de solicitud:

  • CreateReplicationGroup:

    • Si los parámetros --primary-cluster-id y --tags se incluyen en la solicitud, las etiquetas de solicitud se agregarán al grupo de reproducción y se propagarán a todos los clústeres de caché del grupo de reproducción. Si el clúster de caché principal tiene etiquetas existentes, estas se sobrescribirán con las etiquetas de la solicitud para tener etiquetas coherentes en todos los nodos.

      Si no hay etiquetas de la solicitud, las etiquetas de clúster de caché principales se agregarán al grupo de reproducción y se propagarán a todos los clústeres de caché.

    • Si se suministra el --snapshot-name o el --serverless-cache-snapshot-name:

      Si se incluyen etiquetas en la solicitud, el grupo de réplica solo se etiquetará con esas etiquetas. Si no se incluyen etiquetas en la solicitud, las etiquetas de la instantánea se agregarán al grupo de réplica.

    • Si se proporciona el --global-replication-group-id:

      Si se incluyen etiquetas en la solicitud, las etiquetas de solicitud se agregarán al grupo de réplica y se propagarán a todos los clústeres de caché.

  • CreateCacheCluster

    • Si se proporciona el --replication-group-id:

      Si se incluyen etiquetas en la solicitud, solo se le aplicarán esas etiquetas al clúster de caché. Si no se incluyen etiquetas en la solicitud, el clúster de caché heredará las etiquetas del grupo de reproducción en lugar de las etiquetas del clúster de caché principal.

    • Si se proporciona el --snapshot-name:

      Si se incluyen etiquetas en la solicitud, solo se le aplicarán esas etiquetas al clúster de caché. Si no se incluyen etiquetas en la solicitud, las etiquetas de la instantánea se agregarán al clúster de caché.

  • CreateServerlessCache:

    • Si se incluyen etiquetas en la solicitud, solo las etiquetas de solicitud se agregarán al caché sin servidor.

  • CreateSnapshot

    • Si se proporciona el --replication-group-id:

      Si no se incluyen etiquetas en la solicitud, las etiquetas de solicitud se agregarán a la instantánea. Si no se incluyen etiquetas en la solicitud, las etiquetas del grupo de reproducción se agregarán a la instantánea.

    • Si se proporciona el --cache-cluster-id:

      Si no se incluyen etiquetas en la solicitud, las etiquetas de solicitud se agregarán a la instantánea. Si no se incluyen etiquetas en la solicitud, las etiquetas del clúster de caché se agregarán a la instantánea.

    • Para las instantáneas automáticas:

      Las etiquetas se propagarán desde las etiquetas de grupo de reproducción.

  • CreateServerlessCacheSnapshot:

    • Si se incluyen etiquetas en la solicitud, solo las etiquetas de solicitud se agregarán a la instantánea de la caché sin servidor.

  • CopySnapshot

    • Si no se incluyen etiquetas en la solicitud, las etiquetas de solicitud se agregarán a la instantánea. Si no se incluyen etiquetas en la solicitud, las etiquetas de la instantánea fuente se agregarán a la instantánea copiada.

  • CopyServerlessCacheSnapshot:

    • Si se incluyen etiquetas en la solicitud, solo las etiquetas de solicitud se agregarán a la instantánea de la caché sin servidor.

  • AddTagsToResource y RemoveTagsFromResource:

    • Las etiquetas se agregarán o quitarán del grupo de reproducción y la acción se propagará a todos los clústeres del grupo de reproducción.

    nota

    AddTagsToResource y RemoveTagsFromResource no se pueden utilizar para los grupos de seguridad y parámetros predeterminados.

  • IncreaseReplicaCount y ModifyReplicationGroupShardConfiguration:

    • Todos los clústeres nuevos agregados al grupo de réplica tendrán las mismas etiquetas aplicadas que el grupo de réplica.

Se aplican las siguientes restricciones básicas a las etiquetas:

  • Número máximo de etiquetas por recurso: 50

  • Para cada recurso, cada clave de etiqueta debe ser única y solo puede tener un valor.

  • Longitud máxima de la clave: 128 caracteres Unicode en UTF-8.

  • Longitud máxima del valor: 256 caracteres Unicode en UTF-8.

  • Si bien ElastiCache admite la utilización de cualquier carácter en sus etiquetas, otros servicios pueden ser restrictivos. Los caracteres permitidos en los servicios son: letras, números y espacios representables en UTF-8, además de los siguientes caracteres: + - = . _ : / @

  • Las claves y los valores de las etiquetas distinguen entre mayúsculas y minúsculas.

  • El prefijo aws: se reserva para uso de AWS. Si la etiqueta tiene una clave de etiqueta con este prefijo, no puede editar ni eliminar la clave o el valor de la etiqueta. Las etiquetas que tengan el prefijo aws: no cuentan para el límite de etiquetas por recurso.

No puede terminar, detener ni eliminar un recurso basado únicamente en sus etiquetas; debe especificar el identificador del recurso. Por ejemplo, para eliminar instantáneas que etiquetó con una clave de etiqueta llamada DeleteMe, debe utilizar la acción DeleteSnapshot con los identificadores del recurso de las instantáneas, como snap-1234567890abcdef0.

Para obtener más información sobre los recursos de ElastiCache que puede etiquetar, consulte Recursos que se pueden etiquetar.

  • Creación de una caché sin servidor mediante etiquetas

    aws elasticache create-serverless-cache \ --serverless-cache-name CacheName \ --engine redis --tags Key="Cost Center", Value="1110001" Key="project",Value="XYZ"
  • Adición de etiquetas a una caché sin servidor

    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"
  • Adición de etiquetas a un grupo de reproducción.

    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"
  • Creación de un clúster de caché mediante etiquetas.

    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 redis \ --tags Key="project",Value="XYZ" Key="Elasticache",Value="Service"
  • Creación de una instantánea sin servidor con etiquetas.

    aws elasticache create-serverless-cache-snapshot \ --serverless-cache-name testing-tags \ --serverless-cache-snapshot-name bkp-testing-tags-scs \ --tags Key="work",Value="foo"
  • Creación de una instantánea con etiquetas.

    En este caso, si agrega etiquetas a la solicitud, incluso si el grupo de reproducción contiene etiquetas, la instantánea solo recibirá las etiquetas de la solicitud.

    aws elasticache create-snapshot \ --replication-group-id testing-tags \ --snapshot-name bkp-testing-tags-rg \ --tags Key="work",Value="foo"
  1. Permitir la acción AddTagsToResource a un clúster solo si el clúster tiene la etiqueta Project=XYZ.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "elasticache:AddTagsToResource", "Resource": [ "arn:aws:elasticache:*:*:cluster:*" ], "Condition": { "StringEquals": { "aws:ResourceTag/Project": "XYZ" } } } ] }
  2. Permitir la acción RemoveTagsFromResource de un grupo de reproducción si contiene las etiquetas Project y Service y las claves son diferentes de Project y 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. Permitir AddTagsToResource a cualquier recurso solo si las etiquetas son diferentes de Project y Service.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "elasticache:AddTagsToResource", "Resource": [ "arn:aws:elasticache:*:*:*:*" ], "Condition": { "ForAnyValue:StringNotEqualsIgnoreCase": { "aws:TagKeys": [ "Service", "Project" ] } } } ] }
  4. Denegar la acción CreateReplicationGroup si la solicitud tiene 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. Denegar la acción CopySnapshot si la instantánea fuente tiene la etiqueta Project=XYZ y la etiqueta de la solicitud es 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. Denegar la acción CreateCacheCluster si la etiqueta de solicitud Project falta o no es igual a Dev, QA o 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" ] } } } ] }

Para obtener información relacionada acerca de las claves de condición, consulte Uso de claves de condición.