Come posso risolvere i problemi relativi ai tag delle attività Amazon ECS?

6 minuti di lettura
0

Desidero risolvere i problemi relativi ai tag delle attività Amazon Elastic Container Service (Amazon ECS).

Risoluzione

Nota: se ricevi errori quando esegui i comandi dell'interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione dei problemi per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

Quando imposti i tag delle attività con Amazon ECS, potresti riscontrare i seguenti problemi:

  • I tag non vengono propagati dalla definizione dell'attività o dal servizio alle attività.
  • Il formato ARN e ID risorsa per i tag è obsoleto.
  • A causa della mancanza delle autorizzazioni o delle restrizioni relative ai tag di AWS Identity and Access Management (IAM), non puoi creare nuove risorse Amazon ECS o aggiungervi tag.
  • Non puoi vedere i tag di Amazon ECS nella pagina Fatturazione della console Gestione costi e fatturazione AWS.

Utilizza il parametro PropagateTags per la propagazione dalla definizione dell'attività o dal servizio alle attività

Per impostazione predefinita il parametro PropagateTags non è attivato. Per copiare i tag dalla definizione dell'attività o dal servizio all'attività, attiva PropagateTags. Puoi copiare i tag quando esegui un'attività, crei un servizio o aggiorni un servizio.

Nota: nei seguenti comandi, sostituisci servicename con il nome del tuo servizio, clustername con il nome del tuo cluster e region con la tua regione AWS. Sostituisci inoltre taskdefinitionname con il nome della tua definizione dell'attività e taskdefinitionversion con la versione della tua definizione dell'attività.

Per verificare se PropagateTags è attivato in un servizio specifico, esegui il seguente comando describe-services:

aws ecs describe-services --services servicename --cluster clustername --region region --query 'services[*].propagateTags' --output text

Per attivare la propagazione dei tag per una nuova attività autonoma, esegui il seguente comando run-task:

aws ecs run-task --cluster clustername --task-definition taskdefinitionname:taskdefinitionversion --launch-type FARGATE/EC2 --propagate-tags TASK_DEFINITION/SERVICE

Per attivare la propagazione dei tag per un nuovo servizio, esegui il seguente comando create-service:

aws ecs create-service --cluster clustername --service-name servicename --task-definition taskdefinitionname:taskdefinitionversion --desired-count 2 --launch-type FARGATE --platform-version LATEST --network-configuration "awsvpcConfiguration={subnets=[subnet-abcdef123],securityGroups=[sg-pqrst5678]}" --propagateTags TASK_DEFINITION/SERVICE

Per attivare la propagazione dei tag per un servizio esistente, esegui il seguente comando update-service:

aws ecs update-service --cluster clustername --service servicename --propagate-tags SERVICE/TASK_DEFINITION --force-new-deployment

Per attivare la propagazione dei tag, puoi anche utilizzare la console Amazon ECS.

Completa i seguenti passaggi:

  1. Apri la console Amazon ECS.
  2. Seleziona la regione della tua risorsa Amazon ECS.
  3. Nel pannello di navigazione, seleziona Definizioni di attività.
  4. Seleziona la definizione dell'attività dall'elenco delle risorse, quindi scegli Operazioni.
  5. Seleziona Crea servizio o Esegui attività.
  6. In Configurazione dell'assegnazione di tag delle attività, seleziona Servizio o Definizioni di attività.
    Nota: l'opzione predefinita è Non propagare.

Per utilizzare AWS CloudFormation per configurare i tag in Amazon ECS, è necessario dichiarare la risorsa AWS::ECS::Service. Per dichiarare AWS::ECS::Service, utilizza le proprietà EnableECSManagedTags e PropagateTags con il valore SERVICE o TASK_DEFINITION.

Nota:

Utilizza il formato ARN corretto

Per assegnare tag alle risorse Amazon ECS, è necessario utilizzare il nuovo formato ARN e ID. Per migrare la tua distribuzione Amazon ECS al nuovo formato, consulta Migrating your Amazon ECS deployment to the new ARN and resource ID format (Migrazione della distribuzione Amazon ECS al nuovo formato ARN e ID risorsa).

Nota: le risorse esistenti ricevono il nuovo formato ARN solo dopo averle ricreate.

Verifica che l'entità IAM disponga delle autorizzazioni richieste e controlla le restrizioni relative ai tag

Tutti gli account AWS utilizzano l'autorizzazione all'assegnazione di tag. Per assegnare tag a risorse Amazon ECS quando le crei, il principale IAM deve disporre dell'autorizzazione ecs:TagResource. Anche le seguenti API Amazon ECS devono disporre di questa autorizzazione:

  • CreateCapacityProvider
  • CreateCluster
  • CreateService
  • CreateTaskSet
  • RegisterContainerInstance
  • RegisterTaskDefinition
  • RunTask
  • StartTask

Se non riesci ad aggiungere tag al tuo servizio Amazon ECS o a creare risorse, completa i seguenti passaggi per risolvere il problema:

  1. Controlla se negli eventi di AWS CloudTrail sono presenti eventi TagResource.
  2. Esamina gli eventi per individuare uno dei seguenti messaggi di errore:
    "AccessDenied"
    -oppure-
    "The tags cannot be updated at this time. Wait a few minutes and try again"
    Se ricevi uno degli errori precedenti, l'entità IAM non dispone delle autorizzazioni ecs:TagResource.
  3. Utilizza la console IAM o AWS CLI per aggiungere le autorizzazioni ecs:TagResource alle entità IAM.
  4. Ricrea la risorsa o aggiungi nuovamente i tag al cluster Amazon ECS.
  5. Verifica che i tuoi tag Amazon ECS rispettino le restrizioni relative ai tag.

Verifica se si è verificato un problema con Gestione costi e fatturazione AWS

Se non riesci a filtrare le attività di Amazon ECS in base ai tag per verificarne il costo, verifica che i tag richiesti siano presenti nelle attività Amazon ECS. Esegui il seguente comando list-tags-for-resource:

aws ecs list-tags-for-resource --resource-arn value

Nota: sostituisci value con l'ARN dell'attività.

Per utilizzare la console Amazon ECS per controllare i tag delle attività Amazon ECS, completa i seguenti passaggi:

  1. Apri la console Amazon ECS.
  2. Seleziona la regione della tua risorsa Amazon ECS.
  3. Nel pannello di navigazione, scegli un tipo di risorsa, ad esempio Cluster.
  4. Seleziona la tua risorsa, quindi scegli Tag per visualizzare tutti i tag esistenti per quella risorsa.

Per verificare la presenza di tag gestiti, è necessario attivare i tag gestiti da Amazon ECS. Per verificare se i tag gestiti da Amazon ECS sono attivati, esegui il seguente comando describe-services:

aws ecs describe-services --services servicename --cluster clustername --region region --query 'services[*].enableECSManagedTags' --output text

Nota: sostituisci servicename con il nome del tuo servizio, clustername con il nome del tuo cluster e region con la tua regione.

Nell'output del comando, controlla se enableECSManagedTags è impostato su true.

Per utilizzare la console per attivare i tag gestiti da Amazon ECS, completa i seguenti passaggi:

  1. Apri la console Amazon ECS.
  2. Seleziona la regione della tua risorsa Amazon ECS.
  3. Nel pannello di navigazione, seleziona Definizioni di attività.
  4. Seleziona la definizione dell'attività dall'elenco delle risorse, quindi scegli Operazioni.
  5. Seleziona Crea servizio o Esegui attività.
  6. In Configurazione dell'assegnazione di tag delle attività, scegli Abilita tag gestiti da ECS.

Per utilizzare AWS CLI per attivare i tag gestiti da ECS, esegui il comando update-service:

aws ecs update-service --cluster clustername --service servicename --enable-ecs-managed-tags --force-new-deployment

Nota: sostituisci clustername con il nome del tuo cluster e servicename con il nome del tuo servizio.

I tag utilizzati per la fatturazione potrebbero essere elencati, anche se non compaiono in AWS Cost Explorer. Per risolvere il problema, attiva i tag di allocazione dei costi nella console Gestione costi e fatturazione.

Nota: l'attivazione dei tag può richiedere fino a 24 ore.

Informazioni correlate

Amazon ECS troubleshooting

Assegnare tag alle risorse Amazon ECS

Concessione dell'autorizzazione all'assegnazione di tag alle risorse al momento della creazione

AWS UFFICIALE
AWS UFFICIALEAggiornata 3 mesi fa