VPCEndpoint ECR dell'interfaccia Amazon ()AWS PrivateLink - Amazon ECR

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à.

VPCEndpoint ECR dell'interfaccia Amazon ()AWS PrivateLink

Puoi migliorare il tuo livello di sicurezza VPC configurando Amazon per l'utilizzo di un ECR endpoint di interfacciaVPC. VPCgli endpoint sono alimentati da AWS PrivateLink, una tecnologia che consente di accedere in modo privato ad Amazon ECR APIs tramite indirizzi IP privati. AWS PrivateLink limita tutto il traffico di rete tra te VPC e Amazon ECR alla rete Amazon. Non hai bisogno di un gateway Internet, di un NAT dispositivo o di un gateway privato virtuale.

Per ulteriori informazioni sugli AWS PrivateLink VPC endpoint, consulta VPCEndpoints nella Amazon VPC User Guide.

Considerazioni sugli endpoint Amazon ECR VPC

Prima di configurare gli VPC endpoint per AmazonECR, tieni presente le seguenti considerazioni.

  • Per consentire alle tue ECS attività Amazon ospitate su EC2 istanze Amazon di estrarre immagini private da AmazonECR, crea gli VPC endpoint di interfaccia per Amazon. ECS Per ulteriori informazioni, consulta Interface VPC Endpoints (AWS PrivateLink) nella Amazon Elastic Container Service Developer Guide.

  • Le ECS attività di Amazon ospitate su Fargate che estraggono immagini di container da Amazon ECR possono limitare l'accesso allo specifico utilizzo delle VPC loro attività e all'VPCendpoint utilizzato dal servizio aggiungendo chiavi di condizione al IAM ruolo di esecuzione dell'attività per l'attività. Per ulteriori informazioni, consulta IAMAutorizzazioni opzionali per Fargate Tasks Pulling Amazon Images over Interface Endpoints nella ECR Amazon Elastic Container Service Developer Guide.

  • Il gruppo di sicurezza collegato all'VPCendpoint deve consentire le connessioni in entrata sulla porta 443 dalla sottorete privata di. VPC

  • VPCgli endpoint attualmente non supportano le richieste interregionali. Assicurati di creare gli VPC endpoint nella stessa regione in cui intendi API effettuare le chiamate verso AmazonECR.

  • VPCgli endpoint attualmente non supportano gli archivi Amazon ECR Public. Prendi in considerazione l'utilizzo di una regola pull through cache per ospitare l'immagine pubblica in un repository privato nella stessa regione dell'endpoint. VPC Per ulteriori informazioni, consulta Sincronizza un registro upstream con un registro ECR privato Amazon.

  • VPCsupporto AWS fornito solo per gli endpoint DNS tramite Amazon Route 53. Se desideri utilizzare il tuoDNS, puoi utilizzare l'inoltro condizionaleDNS. Per ulteriori informazioni, consulta la sezione DHCPOptions Sets nella Amazon VPC User Guide.

  • Se i container dispongono di connessioni esistenti ad Amazon S3, le relative connessioni potrebbero essere interrotte per un breve periodo quando aggiungi l'endpoint gateway Amazon S3. Se vuoi evitare questa interruzione, creane uno nuovo VPC che utilizzi l'endpoint gateway Amazon S3, quindi migra il cluster ECS Amazon e i relativi contenitori nel nuovo. VPC

  • Quando un'immagine viene recuperata utilizzando una regola pull through cache per la prima volta, se hai configurato Amazon ECR per utilizzare un VPC endpoint di interfaccia, devi creare una sottorete pubblica nella stessaVPC, con un NAT gateway, e quindi indirizzare tutto il traffico in uscita verso Internet dalla sottorete privata al NAT gateway per far funzionare l'pull. AWS PrivateLink Le operazioni successive di estrazione dell'immagine non richiedono questo passaggio. Per ulteriori informazioni, consulta Scenario: accesso a Internet da una sottorete privata nella Guida per l'utente di Amazon Virtual Private Cloud.

Considerazioni per le immagini Windows

Le immagini basate sul sistema operativo Windows includono artefatti con limitazioni di licenza che impediscono la distribuzione. Per impostazione predefinita, quando invii immagini Windows a un ECR repository Amazon, i livelli che includono questi artefatti non vengono inviati in quanto sono considerati livelli esterni. Quando gli artefatti vengono forniti da Microsoft, i livelli estranei vengono recuperati dall'infrastruttura di Microsoft Azure. Per questo motivo, per consentire ai contenitori di estrarre questi livelli esterni da Azure, sono necessari passaggi aggiuntivi oltre alla creazione degli endpoint. VPC

È possibile ignorare questo comportamento quando si inviano immagini Windows ad Amazon ECR utilizzando il --allow-nondistributable-artifacts flag nel demone Docker. Se abilitato, questo flag invierà i livelli concessi in licenza ad Amazon, il ECR che consente di estrarre queste immagini da Amazon ECR tramite l'VPCendpoint senza che sia necessario un accesso aggiuntivo ad Azure.

Importante

L'utilizzo del flag --allow-nondistributable-artifacts non preclude l'obbligo dell'utente di rispettare i termini della licenza dell'immagine di base del container Windows; non è possibile pubblicare contenuti di Windows per la ridistribuzione pubblica o di terze parti. L'uso all'interno del proprio ambiente è consentito.

Per abilitare l'uso di questo flag per l'installazione Docker, è necessario modificare il file di configurazione del daemon Docker che, a seconda dell'installazione Docker, può in genere essere configurato nel menu delle impostazioni o delle preferenze nella sezione Docker Engine o modificando direttamente il file C:\ProgramData\docker\config\daemon.json.

Di seguito è illustrato un esempio della configurazione necessaria: Sostituisci il valore con l'archivio in cui URI stai inviando le immagini.

{ "allow-nondistributable-artifacts": [ "111122223333.dkr.ecr.us-west-2.amazonaws.com" ] }

Dopo aver modificato il file di configurazione del daemon Docker, è necessario riavviare il daemon Docker prima di tentare di inviare l'immagine. Conferma che l'invio ha funzionato verificando che il livello base sia stato inviato nel repository.

Nota

I livelli base per le immagini Windows sono grandi. La dimensione del layer comporterà tempi di invio più lunghi e costi di archiviazione aggiuntivi in Amazon ECR per queste immagini. Per questi motivi, si consiglia di utilizzare questa opzione solo quando è strettamente necessaria per ridurre i tempi di costruzione e i costi di storage in corso. Ad esempio, l'mcr.microsoft.com/windows/servercoreimmagine ha una dimensione di circa 1,7 GiB quando è compressa in Amazon. ECR

Crea gli VPC endpoint per Amazon ECR

Per creare gli VPC endpoint per il ECR servizio Amazon, utilizza la procedura Creating an Interface Endpoint nella Amazon VPC User Guide.

ECSLe attività Amazon ospitate su EC2 istanze Amazon richiedono sia gli ECR endpoint Amazon che l'endpoint gateway Amazon S3.

ECSLe attività Amazon ospitate su Fargate utilizzando una versione della piattaforma 1.4.0 o successiva richiedono sia gli ECR VPC endpoint Amazon che gli endpoint gateway Amazon S3.

ECSLe attività Amazon ospitate su Fargate che utilizzano una versione della piattaforma 1.3.0 o precedente richiedono solo com.amazonaws. region.ecr.dkr Endpoint ECR VPC Amazon e endpoint gateway Amazon S3.

Nota

L'ordine in cui vengono creati gli endpoint non è rilevante.

com.amazonaws.region.ecr.dkr

Questo endpoint viene utilizzato per il registro Docker. APIs I comandi del client Docker come push e pull utilizzano questo endpoint.

Quando crei questo endpoint, devi abilitare un hostname privato. DNS Per fare ciò, assicurati che l'opzione Enable Private DNS Name sia selezionata nella VPC console Amazon quando crei l'VPCendpoint.

com.amazonaws.region.ecr.api
Nota

Il specificato region rappresenta l'identificatore della regione per una AWS regione supportata da AmazonECR, ad esempio us-east-2 per la regione Stati Uniti orientali (Ohio).

Questo endpoint viene utilizzato per le chiamate verso Amazon ECRAPI. APIazioni come DescribeImages e CreateRepository vanno a questo endpoint.

Quando questo endpoint viene creato, hai la possibilità di abilitare un hostname privatoDNS. Abilita questa impostazione selezionando Enable Private DNS Name nella VPC console quando crei l'VPCendpoint. Se abiliti un DNS nome host privato per l'VPCendpoint, aggiorna il tuo SDK o AWS CLI alla versione più recente in modo che non sia necessario specificare un endpoint URL quando si utilizza o. SDK AWS CLI

Se abiliti un DNS nome host privato e utilizzi una AWS CLI versione SDK or rilasciata prima del 24 gennaio 2019, devi utilizzare il --endpoint-url parametro per specificare gli endpoint dell'interfaccia. L'esempio seguente mostra il formato dell'endpoint. URL

aws ecr create-repository --repository-name name --endpoint-url https://api.ecr.region.amazonaws.com

Se non abiliti un DNS nome host privato per l'VPCendpoint, devi utilizzare il --endpoint-url parametro che specifica l'ID dell'endpoint per l'VPCendpoint dell'interfaccia. L'esempio seguente mostra il formato dell'endpoint. URL

aws ecr create-repository --repository-name name --endpoint-url https://VPC_endpoint_ID.api.ecr.region.vpce.amazonaws.com

Creare l'endpoint gateway Amazon S3

Affinché le tue ECS attività Amazon richiedano immagini private da AmazonECR, devi creare un endpoint gateway per Amazon S3. L'endpoint gateway è necessario perché Amazon ECR utilizza Amazon S3 per archiviare i livelli di immagine. Quando i contenitori scaricano immagini da AmazonECR, devono accedere ECR ad Amazon per ottenere il manifesto dell'immagine e quindi ad Amazon S3 per scaricare i livelli di immagine effettivi. Di seguito è riportato l'Amazon Resource Name (ARN) del bucket Amazon S3 contenente i livelli per ogni immagine Docker.

arn:aws:s3:::prod-region-starport-layer-bucket/*

Utilizza la procedura Creating a gateway endpoint nella Amazon VPC User Guide per creare il seguente endpoint gateway Amazon S3 per Amazon. ECR Quando crei l'endpoint, assicurati di selezionare le tabelle di routing corrispondenti al tuo. VPC

com.amazonaws.region.s3

L'endpoint gateway Amazon S3 utilizza un documento di IAM policy per limitare l'accesso al servizio. La politica di accesso completo può essere utilizzata perché tutte le restrizioni che hai inserito nei IAM ruoli delle attività o altre politiche IAM utente si applicano ancora a questa politica. Se desideri limitare l'accesso ai bucket Amazon S3 alle autorizzazioni minime richieste per l'utilizzo di Amazon, consulta. ECR Autorizzazioni minime per Amazon S3 Bucket per Amazon ECR

Autorizzazioni minime per Amazon S3 Bucket per Amazon ECR

L'endpoint gateway Amazon S3 utilizza un documento di IAM policy per limitare l'accesso al servizio. Per consentire solo le autorizzazioni minime per il bucket Amazon S3 per ECR Amazon, limita l'accesso al bucket Amazon S3 utilizzato da ECR Amazon quando IAM crei il documento di policy per l'endpoint.

La tabella seguente descrive le autorizzazioni relative alla policy dei bucket di Amazon S3 necessarie ad Amazon. ECR

Autorizzazione Descrizione

arn:aws:s3:::prod-region-starport-layer-bucket/*

Fornisce l'accesso al bucket Amazon S3 contenente i livelli per ogni immagine Docker. Rappresenta l'identificatore della regione per una AWS regione supportata da AmazonECR, ad esempio us-east-2 per la regione Stati Uniti orientali (Ohio).

Esempio

L'esempio seguente illustra come fornire l'accesso ai bucket Amazon S3 necessari per le operazioni di Amazon. ECR

{ "Statement": [ { "Sid": "Access-to-specific-bucket-only", "Principal": "*", "Action": [ "s3:GetObject" ], "Effect": "Allow", "Resource": ["arn:aws:s3:::prod-region-starport-layer-bucket/*"] } ] }

Crea l'endpoint Logs CloudWatch

Le ECS attività di Amazon che utilizzano il tipo di avvio Fargate che utilizzano un gateway Internet VPC senza un gateway Internet e che utilizzano anche il driver di awslogs registro per inviare informazioni di registro a CloudWatch Logs richiedono la creazione del file com.amazonaws. regionendpoint dell'interfaccia.logs per Logs. VPC CloudWatch Per ulteriori informazioni, consulta Using CloudWatch Logs with interface VPC endpoint nella Amazon CloudWatch Logs User Guide.

Crea una politica sugli endpoint per i tuoi endpoint Amazon ECR VPC

Una policy VPC sugli endpoint è una politica IAM delle risorse che colleghi a un endpoint quando crei o modifichi l'endpoint. Se non alleghi una policy quando crei un endpoint, ti AWS allega una policy predefinita che consente l'accesso completo al servizio. Una policy endpoint non esclude né sostituisce policy dell'utente o policy specifiche del servizio. Si tratta di una policy separata per controllare l'accesso dall'endpoint al servizio specificato. Le policy degli endpoint devono essere scritte in formato. JSON Per ulteriori informazioni, consulta Controlling Access to Services with VPC Endpoints nella Amazon VPC User Guide.

Ti consigliamo di creare un'unica policy per le IAM risorse e di collegarla a entrambi gli ECR VPC endpoint Amazon.

Di seguito è riportato un esempio di policy sugli endpoint per AmazonECR. Questa politica consente a un IAM ruolo specifico di estrarre immagini da AmazonECR.

{ "Statement": [{ "Sid": "AllowPull", "Principal": { "AWS": "arn:aws:iam::1234567890:role/role_name" }, "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer", "ecr:GetAuthorizationToken" ], "Effect": "Allow", "Resource": "*" }] }

La seguente policy endpoint di esempio impedisce l'eliminazione di un repository specificato.

{ "Statement": [{ "Sid": "AllowAll", "Principal": "*", "Action": "*", "Effect": "Allow", "Resource": "*" }, { "Sid": "PreventDelete", "Principal": "*", "Action": "ecr:DeleteRepository", "Effect": "Deny", "Resource": "arn:aws:ecr:region:1234567890:repository/repository_name" } ] }

L'esempio di policy endpoint seguente combina i due esempi precedenti in un'unica policy.

{ "Statement": [{ "Sid": "AllowAll", "Effect": "Allow", "Principal": "*", "Action": "*", "Resource": "*" }, { "Sid": "PreventDelete", "Effect": "Deny", "Principal": "*", "Action": "ecr:DeleteRepository", "Resource": "arn:aws:ecr:region:1234567890:repository/repository_name" }, { "Sid": "AllowPull", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::1234567890:role/role_name" }, "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer", "ecr:GetAuthorizationToken" ], "Resource": "*" } ] }
Per modificare la politica VPC degli endpoint per Amazon ECR
  1. Apri la VPC console Amazon all'indirizzo https://console.aws.amazon.com/vpc/.

  2. Nel pannello di navigazione, seleziona Endpoint.

  3. Se non hai ancora creato gli VPC endpoint per AmazonECR, consultaCrea gli VPC endpoint per Amazon ECR.

  4. Seleziona l'ECRVPCendpoint Amazon a cui aggiungere una policy e scegli la scheda Policy nella metà inferiore dello schermo.

  5. Scegli Edit Policy (Modifica policy) e apporta le modifiche alla policy.

  6. Selezionare Save (Salva) per salvare la policy.

Sottoreti condivise

Non puoi creare, descrivere, modificare o eliminare gli VPC endpoint nelle sottoreti condivise con te. Tuttavia, puoi utilizzare gli VPC endpoint nelle sottoreti condivise con te.