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à.
Esegui la migrazione di un ARN di servizio breve di Amazon ECS a un ARN lungo
Amazon ECS assegna un Amazon Resource Name (ARN) univoco a ciascun servizio. I servizi creati prima del 2021 hanno un formato ARN breve:
arn:aws:ecs:
region
:aws_account_id
:service/service-name
Amazon ECS ha modificato il formato ARN per includere il nome del cluster. Questo è un formato ARN lungo:
arn:aws:ecs:
region
:aws_account_id
:service/cluster-name
/service-name
Il servizio deve avere il formato ARN lungo per poter etichettare il servizio.
È possibile migrare un servizio con un formato ARN breve in un formato ARN lungo senza dover ricreare il servizio. Puoi usare l'API, la CLI o la console. Non è possibile annullare l'operazione di migrazione.
Se desideri utilizzare per AWS CloudFormation etichettare un servizio con un formato ARN breve, devi migrare il servizio utilizzando l'API, la CLI o la console. Una volta completata la migrazione, puoi utilizzare AWS CloudFormation per etichettare il servizio.
Se desideri utilizzare Terraform per etichettare un servizio con un formato ARN breve, devi migrare il servizio utilizzando l'API, la CLI o la console. Al termine della migrazione, puoi utilizzare Terraform per etichettare il servizio.
Una volta completata la migrazione, il servizio presenta le seguenti modifiche:
-
Il formato ARN lungo
arn:aws:ecs:
region
:aws_account_id
:service/cluster-name
/service-name
-
Quando esegui la migrazione utilizzando la console, Amazon ECS aggiunge un tag al servizio con la chiave impostata su «ecs: serviceArnMigrated At» e il valore impostato sul timestamp della migrazione (formato UTC).
Questo tag viene conteggiato ai fini della tua quota di tag.
-
Quando
PhysicalResourceId
in uno AWS CloudFormation stack rappresenta un ARN di servizio, il valore non cambia e continuerà a essere l'ARN del servizio breve.
Prerequisiti
Eseguire le seguenti operazioni prima di migrare l'ARN del servizio.
-
Per verificare se disponi di un ARN di servizio breve, visualizza i dettagli del servizio nella console Amazon ECS (viene visualizzato un avviso quando il servizio ha il formato ARN breve) o il parametro return da.
serviceARN
describe-services
Quando l'ARN non include il nome del cluster, si dispone di un ARN breve. Di seguito è riportato il formato di un ARN breve:arn:aws:ecs:
region
:aws_account_id
:service/service-name
-
Nota la data di creazione.
Se disponi di policy IAM che utilizzano il formato ARN breve, aggiornalo al formato ARN lungo.
Sostituisci ogni
user input placeholder
con le tue informazioni.arn:aws:ecs:
region
:aws_account_id
:service/cluster-name
/service-name
Per ulteriori informazioni, consulta Modifica delle politiche IAM nella Guida per l' AWS Identity and Access Management utente.
Se disponi di strumenti che utilizzano il formato ARN breve, aggiornalo al formato ARN lungo.
Sostituisci ogni
user input placeholder
con le tue informazioni.arn:aws:ecs:
region
:aws_account_id
:service/cluster-name
/service-name
-
Abilita il formato ARN lungo del servizio. Esegui
put-account-setting
con l'opzioneserviceLongArnFormat
impostata suenabled
. Per ulteriori informazioni, put-account-settingconsulta la sezione Amazon Elastic Container Service API Reference.Esegui il comando come utente root quando il servizio ha una
createdAt
data sconosciuta.aws ecs put-account-setting --name serviceLongArnFormat --value enabled
Output di esempio
{ "setting": { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::
123456789012:role/your-role
", "type": user } } -
Abilita il formato ARN lungo dell'attività. Ciò consente alle attività eseguite come parte di un servizio di avere il formato ARN lungo. Esegui
put-account-setting
con l'opzionetaskLongArnFormat
impostata suenabled
. Per ulteriori informazioni, put-account-settingconsulta la sezione Amazon Elastic Container Service API Reference.Esegui il comando come utente root quando il servizio ha una
createdAt
data sconosciuta.aws ecs put-account-setting --name taskLongArnFormat --value enabled
Output di esempio
{ "setting": { "name": "taskLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::
123456789012:role/your-role
", "type": user } }
Procedura
Usa quanto segue per migrare l'ARN del servizio.
Apri la console alla v2. https://console.aws.amazon.com/ecs/
-
Nella pagina Clusters (Cluster), scegli il cluster.
-
Nella sezione Servizi, scegli un servizio con un avviso nella colonna ARN.
Viene visualizzata la pagina dei dettagli del servizio.
-
Scegli Migra a un ARN lungo.
Viene visualizzata la finestra di dialogo del servizio Migrate.
-
Scegliere Migrate (Migrazione).
Dopo aver completato i prerequisiti, puoi taggare il tuo servizio. Esegui il comando seguente:
Amazon ECS valuta la possibilità di passare il formato ARN lungo in tag-resource
una richiesta API per un servizio con un ARN breve come segnale per migrare il servizio all'utilizzo del formato ARN lungo.
aws ecs tag-resource \ --resource-arn arn:aws:ecs:
region
:aws_account_id
:service/cluster-name
/service-name
--tags key=key1
,value=value1
L'esempio seguente contrassegna MyService con un tag con una chiave impostata su "" e un valore impostato su TestService ": WebServers
aws ecs tag-resource \ --resource-arn arn:aws:ecs:us-east-1:123456789012:service/MyCluster/MyService --tags key=TestService1,value=WebServers
Dopo aver completato i prerequisiti, puoi taggare il tuo servizio. Create una aws_ecs_service
risorsa e impostate il tags
riferimento. Per ulteriori informazioni, consulta Resource: aws_ecs_service
resource "aws_ecs_service" "MyService" { name = "example" cluster = aws_ecs_cluster.MyService.id tags = { "Name" = "MyService" "Environment" = "Production" "Department" = "QualityAssurance" } }
Passaggi successivi
Puoi aggiungere tag al servizio. Per ulteriori informazioni, consulta Aggiungere tag alle risorse Amazon ECS.
Se desideri che Amazon ECS propaghi i tag dalla definizione dell'attività o dal servizio all'attività, esegui update-service
con il propagateTags
parametro. Per ulteriori informazioni, consulta update-service nel Reference. AWS Command Line Interface
Risoluzione dei problemi
Alcuni utenti potrebbero riscontrare il seguente errore durante la migrazione dal formato ARN breve al formato ARN lungo.
There was an error while migrating the ARN of service
service-name
. The specified account does not have
serviceLongArnFormat or taskLongArnFormat account settings enabled. Add account
settings in order to enable tagging.
Se hai già abilitato l'impostazione dell'serviceLongArnFormat
account ma continui a riscontrare questo errore, è possibile che le impostazioni dell'account per il formato ARN lungo non siano state abilitate per il principale IAM specifico che ha originariamente creato il servizio.
-
Identifica il principale che ha creato il servizio.
Nella console, le informazioni sono disponibili nel campo Creato da nella scheda Configurazione e rete nella pagina dei dettagli del servizio nella console Amazon ECS.
Per il AWS CLI, esegui il seguente comando:
Sostituisci
user-input
con i tuoi valori.aws ecs describe-services --cluster
cluster-name
--servicesservice-name
--query 'services[0].{createdBy: createdBy}'
-
Abilita le impostazioni dell'account richieste per quel committente specifico. Questa operazione può essere eseguita in uno dei seguenti modi:
-
Assumi l'utente o il ruolo IAM per quel principale. Quindi esegui
put-account-setting
. -
Usa l'utente root per eseguire il comando specificando il principale di creazione con.
principal-arn
Esempio.
Sostituisci
principal-arn
con il valore del passaggio 1.aws ecs put-account-setting --name serviceLongArnFormat --value enabled --principal-arn
arn:aws:iam::123456789012:role/jdoe
-
Entrambi i metodi abilitano l'impostazione serviceLongArnFormat
dell'account richiesta sul principale che ha creato il servizio, il che consente di procedere con la migrazione ARN.