View a markdown version of this page

Sincronizzazione di un registro upstream con un registro privato Amazon ECR - 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à.

Sincronizzazione di un registro upstream con un registro privato Amazon ECR

Utilizzando le regole di pull through cache, puoi sincronizzare il contenuto di un registro upstream con il tuo registro privato Amazon ECR.

Amazon ECR attualmente supporta la creazione di regole di cache pull through per i seguenti registri upstream:

  • Amazon ECR Public, Kubernetes Container Image Registry e Quay (non richiede l'autenticazione)

  • Docker Hub, Microsoft Azure Container Registry, Container Registry, GitHub Container Registry e GitLab Chainguard Registry (richiede l'autenticazione con segreto) AWS Secrets Manager

  • Amazon ECR (richiede l'autenticazione con ruolo IAM) AWS

Per quanto riguarda GitLab Container Registry, Amazon ECR supporta la cache pull through solo con GitLab l'offerta Software as a Service (SaaS). Per ulteriori informazioni sull'utilizzo GitLab dell'offerta SaaS, consulta. GitLab.com

Per i registri upstream che richiedono l'autenticazione con segreti (come Docker Hub), devi archiviare le tue credenziali in un segreto. AWS Secrets Manager Puoi utilizzare la console Amazon ECR per creare segreti di Secrets Manager per ogni registro upstream autenticato. Per ulteriori informazioni sulla creazione di un segreto di Secrets Manager utilizzando la console Secrets Manager, consulta. Archiviazione delle credenziali del repository upstream in un AWS Secrets Manager Secret

Per Amazon ECR, è necessario creare un ruolo IAM se i registri Amazon ECR upstream e downstream appartengono a account diversi. AWS Per ulteriori informazioni sulla creazione di un ruolo IAM, consulta Sono necessarie politiche IAM per il pull through cache da ECR a ECR su più account.

Dopo aver creato una regola di pull through cache per il registro upstream, estrai un'immagine da quel registro upstream utilizzando l'URI del tuo registro privato Amazon ECR. Amazon ECR, quindi, crea un repository e memorizza l'immagine nella cache nel tuo registro privato. Per le successive richieste di pull dell'immagine memorizzata nella cache con un determinato tag, Amazon ECR verifica nel registro upstream la presenza di una nuova versione dell'immagine con quel tag specifico e tenta di aggiornare l'immagine nel registro privato almeno una volta ogni 24 ore.

Modelli per la creazione di repository

Amazon ECR ha aggiunto il supporto per i modelli di creazione di repository, che ti dà la possibilità di specificare le configurazioni iniziali per i nuovi repository creati da Amazon ECR per tuo conto utilizzando le regole di pull through cache. Ogni modello contiene un prefisso dello spazio dei nomi del repository che viene utilizzato per abbinare i nuovi repository a un modello specifico. I modelli possono specificare la configurazione per tutte le impostazioni del repository, comprese le policy di accesso basate sulle risorse, l'immutabilità dei tag, la crittografia e le policy del ciclo di vita. Le impostazioni in un modello di creazione di repository vengono applicate solo durante la creazione del repository e non hanno alcun effetto sui repository esistenti o sui repository creati con altri metodi. Per ulteriori informazioni, consulta Modelli per controllare i repository creati durante un pull through cache, la creazione in modalità push o un'azione di replica.

Considerazioni sull'utilizzo delle regole di cache pull through

Quando utilizzi le regole di pull through cache di Amazon ECR, considera quanto segue.

  • AWS Lambda non supporta l'estrazione di immagini di contenitori da Amazon ECR utilizzando una regola di pull through cache.

  • Quando si estraggono immagini utilizzando la cache pull-through, gli endpoint del servizio FIPS di Amazon ECR non sono supportati la prima volta che viene estratta un'immagine. Tuttavia, l'utilizzo degli endpoint del servizio FIPS Amazon ECR funziona sui pull successivi.

  • Per i repository upstream che richiedono l'autenticazione, quando un'immagine viene estratta per la prima volta dall'URI del registro privato Amazon ECR o per aggiornare la cache, i pull dell'immagine vengono avviati dall'utente associato alle credenziali configurate nella regola pull through cache. Le estrazioni successive restituiranno l'immagine direttamente dalla cache nel registro privato del cliente.

  • Per i repository upstream che non richiedono l'autenticazione, quando un'immagine viene estratta tramite l'URI del registro privato Amazon ECR, l'estrazione dell'immagine viene avviata dagli indirizzi IP. AWS

  • Quando un cliente estrae un'immagine memorizzata nella cache tramite l'URI del registro privato Amazon ECR, Amazon ECR verifica se ha convalidato l'immagine rispetto al registro upstream nelle ultime 24 ore. Se la finestra di 24 ore è scaduta, Amazon ECR invia una richiesta a monte per verificare la presenza di una versione più recente e aggiorna la cache, se disponibile. Se la finestra non è scaduta, Amazon ECR fornisce l'immagine memorizzata nella cache senza contattare l'upstream.

  • La chiamata all'ListImageReferrersAPI a un repository creato dalla cache di tipo pull through riporta gli artefatti del OCI-compliant referrer nella cache privata.

  • Amazon ECR verifica se gli artefatti del referrer sono stati aggiornati nelle ultime 6 ore. Se la finestra di 6 ore è scaduta, Amazon ECR invia una richiesta a monte per verificare la presenza di versioni più recenti e aggiorna la cache, se esistono.

  • Se per qualsiasi motivo Amazon ECR non è in grado di aggiornare l'immagine dal registro upstream e l'immagine viene estratta, l'ultima immagine memorizzata nella cache verrà comunque estratta.

  • Quando crei il segreto di Secrets Manager contenente le credenziali del registro upstream, il nome del segreto deve utilizzare il prefisso ecr-pullthroughcache/. Il segreto, inoltre, deve trovarsi nello stesso account e nella stessa regione in cui è stata creata la regola di cache pull-through.

  • Quando un'immagine multi-architettura viene estratta utilizzando una regola di cache pull-through, l'elenco manifesto e ogni immagine a cui fa riferimento nell'elenco manifesto vengono estratti nel repository Amazon ECR. Se si desidera estrarre solo un'architettura specifica, è possibile estrarre l'immagine utilizzando il digest dell'immagine o il tag associato all'architettura anziché il tag associato all'elenco manifesto.

  • Amazon ECR utilizza un ruolo IAM collegato ai servizi che fornisce le autorizzazioni necessarie ad Amazon ECR per creare per tuo conto il repository, recuperare il valore segreto di Secrets Manager per l'autenticazione e inviare l'immagine memorizzata nella cache. Il ruolo IAM collegato ai servizi viene creato automaticamente quando viene creata una regola di cache pull-through. Per ulteriori informazioni, consulta Ruolo collegato ai servizi Amazon ECR per la cache pull-through.

  • Per impostazione predefinita, il principale IAM che estrae l'immagine memorizzata nella cache dispone delle autorizzazioni concesse tramite la policy IAM. È possibile utilizzare la policy delle autorizzazioni del registro privato di Amazon ECR per definire ulteriormente le autorizzazioni di un'entità IAM. Per ulteriori informazioni, consulta Utilizzo delle autorizzazioni di registro.

  • I repository Amazon ECR creati utilizzando il flusso di lavoro della cache pull-through vengono trattati come qualsiasi altro repository Amazon ECR. Sono supportate tutte le funzionalità del repository, come la replica e la scansione delle immagini.

  • Quando Amazon ECR crea un nuovo repository per tuo conto utilizzando un'azione di cache pull-through, al repository vengono applicate le impostazioni predefinite indicate di seguito, a meno che non esista un modello di creazione repository corrispondente. Puoi utilizzare un modello di creazione repository per definire le impostazioni applicate ai repository creati da Amazon ECR per tuo conto. Per ulteriori informazioni, consulta Modelli per controllare i repository creati durante un pull through cache, la creazione in modalità push o un'azione di replica.

    • Immutabilità dei tag: l'immutabilità dei tag specifica se i tag delle immagini possono essere sovrascritti. Per impostazione predefinita, i tag delle immagini sono modificabili (possono essere sovrascritti). È possibile modificare il comportamento dei tag configurando i filtri di esclusione dei tag nella casella di testo Esclusione tag Mutable quando Mutable è selezionato Mutable o nella casella di testo Esclusione tag Immutable quando Immutable è selezionato Immutable.

    • Crittografia: viene utilizzata la crittografia predefinita. AES256

    • Autorizzazioni del repository: omessa, non viene applicata alcuna politica di autorizzazione del repository.

    • Criterio del ciclo di vita: omesso, non viene applicato alcun criterio relativo al ciclo di vita.

    • Tag di risorsa: omesso, non viene applicato alcun tag di risorsa.

  • L'attivazione dell'immutabilità dei tag di immagine per i repository utilizzando una regola di cache pull-through impedirà ad Amazon ECR di aggiornare le immagini utilizzando lo stesso tag.

  • Quando un'immagine viene estratta utilizzando la regola pull through cache per la prima volta, potrebbe essere necessario un percorso verso Internet. Ci sono alcune circostanze in cui è necessario un percorso verso Internet, quindi è meglio impostare un percorso per evitare errori. Pertanto, se hai configurato Amazon ECR per utilizzare un'interfaccia VPC endpoint, AWS PrivateLink devi assicurarti che il primo pull abbia un percorso verso Internet. Un modo per farlo è creare una sottorete pubblica nello stesso VPC, con un gateway Internet, e quindi indirizzare tutto il traffico in uscita verso Internet dalla sottorete privata alla sottorete pubblica. Le successive estrazioni delle immagini che utilizzano la regola pull through cache non lo richiedono. Per ulteriori informazioni, consulta Opzioni di routing di esempio nella Guida per l'utente di Amazon Virtual Private Cloud.

  • Il push delle immagini direttamente in un repository di cache pull through non è un modello supportato. Questa pratica può causare un'incoerenza temporanea nel caso in cui le successive operazioni di estrazione dell'immagine continuino a restituire la versione precedentemente memorizzata nella cache anziché l'immagine appena inserita. Per risolvere questa incoerenza, eliminate l'immagine e quindi estraetela nuovamente per aggiornare la copia memorizzata nella cache. In alternativa, attendi fino a 24 ore che la cache si aggiorni, quindi estrai nuovamente l'immagine.