Assegnazione di tag delle risorse ElastiCache - Amazon ElastiCache (sistema operativo Redis)

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Assegnazione di tag delle risorse ElastiCache

Per semplificare la gestione delle risorse ElastiCache, è possibile assegnare metadati personalizzati a ciascuna risorsa sotto forma di tag. I tag consentono di categorizzare le tue risorse AWS in modi diversi, ad esempio, per scopo, proprietario o ambiente. Questa caratteristicaè molto utile quando hai tante risorse dello stesso tipo in quanto puoi rapidamente individuare una risorsa specifica in base ai tag assegnati. Questo argomento descrive i tag e mostra come crearli.

avvertimento

Come da best practice, è consigliabile non includere dati sensibili nei tag.

Un tag è un'etichetta che assegni a una risorsa AWS. Ogni tag è composto da una chiave e da un valore opzionale, entrambi personalizzabili. I tag consentono di categorizzare le tue risorse AWS in modi diversi, ad esempio, per scopo o proprietario. Ad esempio, puoi definire un set di tag per i cluster del tuo account ElastiCache e monitorare così ogni proprietario dell'istanza e il gruppo di utenti.

Ti consigliamo di creare un set di chiavi di tag in grado di soddisfare i requisiti di ciascun tipo di risorsa. Con un set di chiavi di tag coerente, la gestione delle risorse risulta semplificata. Puoi cercare e filtrare le risorse in base ai tag aggiunti. Per ulteriori informazioni sulle modalità di implementazione di una strategia efficace di applicazione di tag alle risorse, consulta il whitepaper AWS Best practice per l'applicazione di tag.

I tag non hanno alcun significato semantico per ElastiCache e vengono interpretati rigorosamente come una stringa di caratteri. Inoltre, i tag non vengono assegnati automaticamente alle risorse. Puoi modificare chiavi e valori di tag e rimuovere tag da una risorsa in qualsiasi momento. È possibile impostare il valore di un tag su null. Se aggiungi un tag con la stessa chiave di un tag esistente a una risorsa specifica, il nuovo valore sovrascrive quello precedente. Se elimini una risorsa, verranno eliminati anche tutti i tag associati alla risorsa. Inoltre, se si aggiungono o eliminano tag in un gruppo di replica, verranno aggiunti o rimossi anche i tag di tutti i nodi del gruppo di replica.

Puoi lavorare con i tag utilizzando la AWS Management Console, lo AWS CLI e l'API ElastiCache.

Se utilizzi (IAM), puoi controllare quali utenti nel tuo account AWS dispongono dell'autorizzazione per creare, modificare o eliminare i tag. Per ulteriori informazioni, consulta Autorizzazioni a livello di risorsa.

Puoi assegnare tag alla maggior parte delle risorse ElastiCache già esistenti nel tuo account. Nella tabella seguente sono elencate le risorse che supportano il tagging. Se usi il comando AWS Management Console, puoi applicare tag a risorse utilizzando l'Editor di tag. Alcune schermate relative alle risorse ti permettono di specificare i tag per una risorsa quando crei la risorsa, ad esempio un tag con la chiave con nome e un valore specificato. Nella maggior parte dei casi, la console applica i tag subito dopo la creazione della risorsa, anziché durante il processo di creazione. La console può organizzare le risorse in base al relativo tag Nome ma questo tag non ha un significato semantico per il servizio ElastiCache

Inoltre, alcune operazioni per la creazione di risorse ti consentono di specificare tag per una risorsa durante la sua creazione. Se i tag non possono essere applicati durante la creazione della risorsa, eseguiamo il rollback del processo di creazione della risorsa. Ciò fa sì che le risorse vengano create con i tag oppure che non vengano create affatto, nonché che nessuna risorsa sia mai sprovvista di tag. Il tagging delle risorse in fase di creazione ti permette di evitare di eseguire script di tagging personalizzati dopo la creazione delle risorse.

Se utilizzi l'API Amazon ElastiCache la CLI AWS o un SDK AWS, puoi usare il paramentro Tags sull'operazione API ElastiCache pertinente per applicare i tag. Questi sono:

  • CreateServerlessCache

  • CreateCacheCluster

  • CreateReplicationGroup

  • CopyServerlessCacheSnapshot

  • CopySnapshot

  • CreateCacheParameterGroup

  • CreateCacheSecurityGroup

  • CreateCacheSubnetGroup

  • CreateServerlessCacheSnapshot

  • CreateSnapshot

  • CreateUserGroup

  • CreateUser

  • PurchaseReservedCacheNodesOffering

Nella seguente tabella sono descritte le risorse ElastiCache a cui puoi associare i tag, nonché le risorse che possono essere associate a tag utilizzando l'API ElastiCache, la CLI AWS o un SDK AWS.

Support dell’assegnazione di tag per le risorse ElastiCache
Risorsa support dei tag Supporta l'applicazione di tag in fase di creazione
serverlesscache
Gruppo di parametri
SecurityGroup
Gruppo di sottoreti
gruppo di replica
cluster
Istanza riservata
serverlesscachesnapshot
snapshot
Utente
gruppo utenti
Nota

Non è possibile assegnare tag ai Global Datastore.

Puoi applicare autorizzazioni basate su tag a livello di risorsa nelle policy IAM alle operazioni dell'API ElastiCache che supportano il l’assegnazione di tag in fase di creazione per implementare un controllo granulare sugli utenti e sui gruppi che associano tag alle risorse in fase di creazione. Le risorse vengono adeguatamente protette dalla creazione, ovvero tag che vengono applicati immediatamente alle risorse. Pertanto qualsiasi autorizzazione basata su tag a livello di risorsa che controlla l'uso delle risorse risulta immediatamente valida. Le risorse possono essere monitorate e segnalate con maggiore precisione. Puoi applicare l'uso del tagging alle nuove risorse e controllare quali chiavi e valori di tag sono impostati per le risorse.

Per ulteriori informazioni, consulta Esempio: assegnazione di tag alle risorse.

Per ulteriori informazioni sul tagging delle risorse per la fatturazione, vedere Monitoraggio dei costi con i tag di allocazione dei costi.

Le seguenti regole si applicano alle etichette come parte delle operazioni di richiesta:

  • CreateReplicationGroup

    • Se il file --primary-cluster-id e --tags sono inclusi nella richiesta, i tag di richiesta verranno aggiunti al gruppo di replica e propagati a tutti i cluster di cache nel gruppo di replica. Se il cluster di cache primario dispone di tag esistenti, questi verranno sovrascritti con i tag di richiesta per avere tag coerenti in tutti i nodi.

      Se non sono presenti tag di richiesta, i tag cluster di cache primaria verranno aggiunti al gruppo di replica e propagati a tutti i cluster di cache.

    • Se si specifica --snapshot-name o --serverless-cache-snapshot-name:

      Se i tag sono inclusi nella richiesta, il gruppo di replica viene contrassegnato solo con tali tag. Se nella richiesta non sono inclusi tag, i tag dello snapshot vengono aggiunti al gruppo di replica.

    • Se il file --global-replication-group-id viene fornito:

      Se i tag sono inclusi nella richiesta, i tag della richiesta vengono aggiunti al gruppo di replica e propagati a tutti i cluster di cache.

  • CreateCacheCluster

    • Se il file --replication-group-id viene fornito:

      Se i tag sono inclusi nella richiesta, il cluster di cache verrà contrassegnato solo con tali tag. Se nella richiesta non sono inclusi tag, il cluster di cache erediterà i tag del gruppo di replica anziché i tag del cluster di cache primario.

    • Se il file --snapshot-name viene fornito:

      Se i tag sono inclusi nella richiesta, il cluster di cache verrà contrassegnato solo con tali tag. Se nella richiesta non sono inclusi tag, i tag snapshot verranno aggiunti al cluster di cache.

  • CreateServerlessCache:

    • Se i tag sono inclusi nella richiesta, solo i tag della richiesta vengono aggiunti alla cache serverless.

  • CreateSnapshot

    • Se il file --replication-group-id viene fornito:

      Se i tag sono inclusi nella richiesta, solo i tag di richiesta verranno aggiunti allo snapshot. Se nella richiesta non sono inclusi tag, i tag del gruppo di replica verranno aggiunti allo snapshot.

    • Se il file --cache-cluster-id viene fornito:

      Se i tag sono inclusi nella richiesta, solo i tag di richiesta verranno aggiunti allo snapshot. Se nella richiesta non sono inclusi tag, i tag cluster di cache verranno aggiunti allo snapshot.

    • Snapshot automatiche

      I tag verranno propagati dai tag del gruppo di replica.

  • CreateServerlessCacheSnapshot:

    • Se i tag sono inclusi nella richiesta, solo i tag della richiesta vengono aggiunti allo snapshot della cache serverless.

  • CopySnapshot

    • Se i tag sono inclusi nella richiesta, solo i tag di richiesta verranno aggiunti allo snapshot. Se nella richiesta non sono inclusi tag, i tag snapshot di fonte verranno aggiunti allo snapshot copiato.

  • CopyServerlessCacheSnapshot:

    • Se i tag sono inclusi nella richiesta, solo i tag della richiesta vengono aggiunti allo snapshot della cache serverless.

  • AddTagsToResourceeRemoveTagsFromResource:

    • I tag verranno aggiunti/rimossi dal gruppo di replica e l'operazione verrà propagata a tutti i cluster del gruppo di replica.

    Nota

    AddTagsToResourceeRemoveTagsFromResourcenon può essere utilizzato per i gruppi di protezione e parametri predefiniti.

  • IncreaseReplicaCount e ModifyReplicationGroupShardConfiguration:

    • A tutti i nuovi cluster aggiunti al gruppo di replica vengono applicati gli stessi tag del gruppo di replica.

Si applicano le seguenti limitazioni di base ai tag:

  • Numero massimo di tag per risorsa: 50

  • Per ciascuna risorsa, ogni chiave del tag deve essere univoca e ogni chiave del tag può avere un solo valore.

  • La lunghezza massima della chiave è 128 caratteri Unicode in formato UTF-8.

  • La lunghezza massima del valore è 256 caratteri Unicode in formato UTF-8.

  • Sebbene ElastiCache consenta l'uso di qualsiasi carattere nei tag, altri servizi presentano limitazioni più restrittive. I caratteri consentiti nei servizi sono: lettere, numeri e spazi rappresentabili in formato UTF-8 e i seguenti caratteri speciali + – = . _ : / @.

  • Per chiavi e valori di tag viene fatta la distinzione tra maiuscole e minuscole.

  • Il prefisso aws: è riservato per l'uso di AWS. Se il tag ha una chiave di tag con questo prefisso, non puoi modificare o eliminare la chiave o il valore de tag. I tag con il prefisso aws: non vengono conteggiati per il limite del numero di tag per risorsa.

Non puoi interrompere, arrestare o eliminare una risorsa solo sulla base dei relativi tag. Devi specificare il relativo identificatore. Ad esempio, per eliminare gli snapshot associato a una chiave di tag denominata DeleteMe, devi utilizzare l'operazione DeleteSnapshot con gli identificatori di risorsa degli snapshot, ad esempio snap-1234567890abcdef0.

Per ulteriori informazioni sulle risorse ElastiCache che è possibile taggare, vedereRisorse cui è possibile associare tag.

  • Creazione di una cache serverless utilizzando i tag

    aws elasticache create-serverless-cache \ --serverless-cache-name CacheName \ --engine redis --tags Key="Cost Center", Value="1110001" Key="project",Value="XYZ"
  • Aggiunta di tag a una cache serverless

    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"
  • Aggiunta di tag a un gruppo di replica.

    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"
  • Creazione di un cluster di cache con i tag.

    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"
  • Creazione di uno snapshot serverless con tag

    aws elasticache create-serverless-cache-snapshot \ --serverless-cache-name testing-tags \ --serverless-cache-snapshot-name bkp-testing-tags-scs \ --tags Key="work",Value="foo"
  • Esempio: creazione di uno snapshot con tag

    In questo caso, se si aggiungono tag su richiesta, anche se il gruppo di replica contiene tag, lo snapshot riceverà solo i tag di richiesta.

    aws elasticache create-snapshot \ --replication-group-id testing-tags \ --snapshot-name bkp-testing-tags-rg \ --tags Key="work",Value="foo"
  1. Consentire l’operazione AddTagsToResource a un cluster solo se il cluster ha il 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. Consentire l’operazione RemoveTagsFromResource da un gruppo di replica se contiene i tag progetto e servizio e le chiavi sono diverse da Project e 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. Consentire AddTagsToResource a qualsiasi risorsa solo se i tag sono diversi da progetto e servizio.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "elasticache:AddTagsToResource", "Resource": [ "arn:aws:elasticache:*:*:*:*" ], "Condition": { "ForAnyValue:StringNotEqualsIgnoreCase": { "aws:TagKeys": [ "Service", "Project" ] } } } ] }
  4. Negare l’operazione CreateReplicationGroup se la richiesta ha 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. Negare l’operazione CopySnapshot se lo snapshot di fonte ha tag project=xyz e il tag request è 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. Rifiuto dell’azione CreateCacheCluster se il tag della richiesta Project manca o è diverso da 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" ] } } } ] }

Per informazioni correlate sulle chiavi di condizione, consulta Utilizzo delle chiavi di condizione.