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à.
Utilizzo di immagini non AWS containerizzate in Amazon ECS
Utilizzate il registro privato per memorizzare le vostre credenziali e AWS Secrets Manager quindi fate riferimento ad esse nella definizione dell'attività. In questo modo è possibile fare riferimento alle immagini dei contenitori presenti in registri privati AWS che non richiedono l'autenticazione nelle definizioni delle attività. Questa funzionalità è supportata da attività ospitate su Fargate, istanze Amazon e EC2 istanze esterne che utilizzano Amazon ECS Anywhere.
Importante
Le informazioni di questo argomento non sono applicabili se la definizione di attività fa riferimento a un'immagine memorizzata in Amazon ECR. Per ulteriori informazioni, consulta Utilizzo di immagini Amazon ECR con Amazon ECS nella Guida per l'utente di Amazon Elastic Container Registry.
Per le attività ospitate su EC2 istanze Amazon, questa funzionalità richiede una versione 1.19.0
o successiva dell'agente container. Tuttavia, ti consigliamo di utilizzare la versione più recente dell'agente container. Per informazioni sulla verifica della versione dell'agente e sull'aggiornamento alla versione più recente, consulta Aggiornamento dell'agente del container Amazon ECS.
Per i processi ospitati su Fargate, questa funzione richiede la versione 1.2.0
o successiva della piattaforma. Per informazioni, consultare Versioni della piattaforma Fargate per Amazon ECS.
All'interno della definizione del container, specifica l'oggetto repositoryCredentials
con i dettagli del segreto che hai creato. Il segreto a cui si fa riferimento può provenire da un account diverso Regione AWS o diverso da quello dell'attività che lo utilizza.
Nota
Quando utilizzi l'API o l' AWS SDK di Amazon ECS, se il segreto esiste nella Regione AWS stessa attività che stai avviando, puoi utilizzare l'ARN completo o il nome del segreto. AWS CLI Se il segreto esiste in un altro account, occorre specificare l'ARN completo del segreto. Quando si utilizza AWS Management Console, è necessario specificare sempre l'ARN completo del segreto.
Di seguito viene riportato un frammento di una definizione di attività che mostra i parametri obbligatori:
Sostituisci i seguenti parametri:
-
private-repo
con il nome host del repository privato -
private-image
con il nome dell'immagine arn:aws:secretsmanager:region:aws_account_id:secret:secret_name
con il nome segreto Amazon Resource Name (ARN)
"containerDefinitions": [ { "image": "
private-repo/private-image
", "repositoryCredentials": { "credentialsParameter": "arn:aws:secretsmanager:region:aws_account_id:secret:secret_name
" } } ]
Nota
Un altro metodo per abilitare l'autenticazione di registri privati utilizza le variabili di ambiente dell'agente del container di Amazon ECS per effettuare l'autenticazione a registri privati. Questo metodo è supportato solo per le attività ospitate su EC2 istanze Amazon. Per ulteriori informazioni, consulta Configurazione delle istanze di container Amazon ECS per immagini Docker private .
Per utilizzare il registro privato
-
La definizione dell'attività deve avere un ruolo di esecuzione dell'attività. In questo modo l'agente container può recuperare l'immagine del container. Per ulteriori informazioni, consulta Ruolo IAM di esecuzione di attività Amazon ECS.
L'autenticazione del registro privato consente alle attività di Amazon ECS di estrarre immagini di container da registri privati esterni AWS (come Docker Hub, Quay.io o il tuo registro privato) che richiedono credenziali di autenticazione. Questa funzionalità utilizza Secrets Manager per archiviare in modo sicuro le credenziali di registro, a cui viene poi fatto riferimento nella definizione dell'attività utilizzando il parametro.
repositoryCredentials
Per ulteriori informazioni sulla configurazione dell'autenticazione del registro privato, consulta Utilizzo di immagini non AWS container in Amazon ECS.
Per fornire l'accesso ai segreti che contengono le credenziali del registro privato, aggiungi le seguenti autorizzazioni come policy in linea al ruolo di esecuzione dell'attività. Per ulteriori informazioni, consulta Aggiunta e rimozione delle policy IAM.
-
secretsmanager:GetSecretValue
—Necessario per recuperare le credenziali del registro privato da Secrets Manager. -
kms:Decrypt
: obbligatorio solo se il segreto utilizza una chiave KMS personalizzata e non quella di default. Il nome della risorsa Amazon (ARN) per la chiave personalizzata deve essere aggiunto come risorsa.
Di seguito viene riportata una policy inline che aggiunge le autorizzazioni.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:<region>:<aws_account_id>:secret:secret_name", "arn:aws:kms:<region>:<aws_account_id>:key/key_id" ] } ] }
-
-
Utilizzatelo AWS Secrets Manager per creare un segreto per le credenziali del registro privato. Per informazioni su come creare un segreto, consulta Create an AWS Secrets Manager secret nella Guida per l'AWS Secrets Manager utente.
Immettete le credenziali del registro privato utilizzando il seguente formato:
{ "username" : "
privateRegistryUsername
", "password" : "privateRegistryPassword
" } -
Registra una definizione di attività. Per ulteriori informazioni, consulta Creazione di una definizione di attività Amazon ECS utilizzando la console.