Utilizzo di immagini non AWS containerizzate in Amazon ECS - Amazon Elastic Container Service

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 Anywhere. ECS

Importante

Se la definizione dell'attività fa riferimento a un'immagine archiviata in AmazonECR, questo argomento non si applica. Per ulteriori informazioni, consulta Using Amazon ECR Images with Amazon ECS nella Amazon Elastic Container Registry User Guide.

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 ECS container Amazon.

Per i processi ospitati su Fargate, questa funzione richiede la versione 1.2.0o 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 Amazon o ECS API AWS CLI AWS SDK, se il segreto esiste nella Regione AWS stessa attività che stai avviando, puoi utilizzare il nome ARN o il nome completo del segreto. Se il segreto esiste in un altro account, è necessario specificare l'intero ARN segreto. Quando si utilizza il AWS Management Console, è necessario specificare sempre l'intero contenuto ARN 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 di Amazon Resource (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 del registro privato utilizza le variabili di ambiente Amazon ECS Container Agent per l'autenticazione nei registri privati. Questo metodo è supportato solo per le attività ospitate su EC2 istanze Amazon. Per ulteriori informazioni, consulta Configurazione delle istanze di ECS container Amazon per immagini Docker private .

Per utilizzare il registro privato
  1. 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 IAMRuolo di esecuzione delle ECS attività di Amazon.

    Le autorizzazioni seguenti devono essere aggiunte manualmente come policy inline al ruolo per l'esecuzione di attività, per fornire l'accesso ai segreti che crei. Per ulteriori informazioni, vedere Aggiungere e rimuovere IAM politiche.

    • secretsmanager:GetSecretValue

    • kms:Decrypt—Richiesto solo se la chiave utilizza una KMS chiave personalizzata e non la chiave predefinita. L'Amazon Resource Name (ARN) per la tua 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" ] } ] }
  2. Utilizzalo AWS Secrets Manager per creare un segreto per le credenziali del tuo 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" }
  3. Registra una definizione di attività. Per ulteriori informazioni, consulta Creazione di una definizione di ECS attività Amazon utilizzando la console.