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 del ramo della piattaforma Docker gestito da ECS in Elastic Beanstalk
Questo argomento fornisce una panoramica dei rami della piattaforma Docker gestita da Elastic Beanstalk ECS per Amazon Linux 2 e Amazon Linux 2023. Fornisce inoltre informazioni di configurazione specifiche per la piattaforma gestita Docker ECS.
Migrazione da Docker multi-container in poi AL1
Il 18 luglio 2022, Elastic Beanstalk ha impostato lo stato di tutte le filiali della piattaforma basate su Amazon Linux AMI () come ritirato. AL1 Sebbene questo capitolo fornisca informazioni sulla configurazione per questa piattaforma ritirata, ti consigliamo vivamente di migrare all'ultima filiale della piattaforma supportata. Se attualmente utilizzi il Multi-container Docker dismesso in esecuzione su AL1 platform branch, puoi migrare al ramo di piattaforma ECS Running on 023 più recente. AL2 L'ultima versione della ramificazione della piattaforma supporta tutte le funzionalità della ramificazione fuori produzione. Non sono richieste modifiche al codice sorgente. Per ulteriori informazioni, consulta Migrazione dell'ECSapplicazione Elastic Beanstalk da Docker multi-container gestito su Amazon Linux 2023 AL1 ECS.
Panoramica della piattaforma Docker gestita da ECS
Elastic Beanstalk utilizza Amazon Elastic Container Service (Amazon ECS) per coordinare le distribuzioni dei container in ambienti Docker multicontainer. Amazon ECS fornisce strumenti per la gestione di un cluster di istanze che eseguono container Docker. Elastic Beanstalk si occupa delle attività Amazon ECS, tra cui la creazione di cluster, la definizione delle attività e l'esecuzione. Le istanze nell'ambiente eseguono lo stesso set di container, che sono definiti in un file Dockerrun.aws.json
v2. Per ottenere il massimo da Docker, Elastic Beanstalk ti consente di creare un ambiente in cui le tue istanze EC2 Amazon eseguono più contenitori Docker fianco a fianco.
Il diagramma seguente mostra un esempio di ambiente Elastic Beanstalk configurato con tre contenitori Docker in esecuzione su ogni EC2 istanza Amazon in un gruppo Auto Scaling:

Risorse Amazon ECS create da Elastic Beanstalk
Quando crei un ambiente utilizzando la piattaforma Docker gestita da ECS, Elastic Beanstalk crea e configura automaticamente diverse risorse Amazon Elastic Container Service durante la creazione dell'ambiente. In tal modo, crea i contenitori necessari su ogni EC2 istanza Amazon.
-
Cluster Amazon ECS: le istanze di container in Amazon ECS sono organizzate in cluster. Se usato con Elastic Beanstalk, viene sempre creato un cluster per ogni ambiente Docker gestito da ECS. Un cluster ECS contiene anche fornitori di capacità di gruppo Auto Scaling e altre risorse.
-
Definizione attività Amazon ECS: Elastic Beanstalk usa il file
Dockerrun.aws.json
v2 nel progetto per generare la definizione delle attività Amazon ECS utilizzata per configurare le istanze di container nell'ambiente. -
Attività Amazon ECS: Elastic Beanstalk comunica con Amazon ECS per eseguire un'attività su ogni istanza nell'ambiente e coordinare la distribuzione dei container. In un ambiente scalabile, Elastic Beanstalk avvia una nuova attività ogni volta che un'istanza viene aggiunta al cluster.
-
Agente container Amazon ECS: l'agente viene eseguito in un container Docker sulle istanze nell'ambiente. L'agente esegue il polling del servizio Amazon ECS e attende l'esecuzione di un'attività.
-
Volumi di dati Amazon ECS: oltre ai volumi definiti nella versione
Dockerrun.aws.json
2, Elastic Beanstalk inserisce le definizioni dei volumi nella definizione delle attività per facilitare la raccolta dei log.Elastic Beanstalk crea volumi di log sull'istanza di container, uno per ogni container Docker, in
/var/log/containers/
. Questi volumi sono denominaticontainername
awseb-logs-
e vengono forniti per il montaggio dei container. Vedi Formato della definizione del container per ulteriori informazioni su come montarli.containername
Per ulteriori informazioni sulle risorse di Amazon ECS, consulta la Amazon Elastic Container Service Developer Guide.
Dockerrun.aws.json
file v2
Le istanze del contenitore richiedono un file di configurazione denominato. Dockerrun.aws.json
Le istanze di container si riferiscono alle EC2 istanze Amazon che eseguono Docker gestito da ECS in un ambiente Elastic Beanstalk. Questo file è specifico per Elastic Beanstalk e può essere utilizzato da solo o abbinato a un codice sorgente e a contenuti in un bundle di origine per creare un ambiente su una piattaforma Docker.
Nota
Il formato versione 2 di Dockerrun.aws.json
aggiunge il supporto per più contenitori per EC2 istanza Amazon e può essere utilizzato solo con una piattaforma Docker gestita da ECS. Il formato differisce in modo significativo dalle altre versioni dei file di configurazione che supportano i rami della piattaforma Docker che non sono gestiti da ECS.
Consulta Dockerrun.aws.json v2 per i dettagli sul formato aggiornato e un file di esempio.
Immagini Docker
La piattaforma Docker gestita da ECS per Elastic Beanstalk richiede che le immagini siano precostruite e archiviate in un archivio di immagini online pubblico o privato prima di creare un ambiente Elastic Beanstalk.
Nota
La creazione di immagini personalizzate durante la distribuzione con un Dockerfile
non è supportata dalla piattaforma Docker gestita da ECS su Elastic Beanstalk. Crea le immagini e distribuiscile in un repository online prima di creare un ambiente Elastic Beanstalk.
Specifica le immagini per nome in Dockerrun.aws.json
v2
Per configurare Elastic Beanstalk in modo che effettui l'autenticazione su un repository privato, includi il parametro authentication
nel file Dockerrun.aws.json
v2.
Distribuzioni di container non riuscite
Se un'attività Amazon ECS ha esito negativo, uno o più container nell'ambiente Elastic Beanstalk non verranno avviati. Elastic Beanstalk non esegue il rollback degli ambienti multicontainer a causa di un'attività Amazon ECS non riuscita. Se un container non viene avviato nell'ambiente, ridistribuisci la versione corrente o una versione funzionante precedente dalla console Elastic Beanstalk.
Per distribuire una versione esistente
-
Apri la console Elastic Beanstalk nella regione dell'ambiente in uso.
-
Fai clic su Actions (Operazioni) a destra del nome dell'applicazione, quindi su View application versions (Visualizza versioni dell'applicazione).
-
Seleziona una versione dell'applicazione e fai clic su Deploy (Distribuisci).
Estensione delle piattaforme Docker basate su ECS per Elastic Beanstalk
Elastic Beanstalk offre funzionalità di estensibilità che consentono di applicare comandi, script, software e configurazioni personalizzati alle distribuzioni delle applicazioni. Il flusso di lavoro di distribuzione per i rami delle piattaforme ECS AL2 e AL2 023 varia leggermente rispetto alle altre piattaforme basate su Linux. Per ulteriori informazioni, consulta Flusso di lavoro di distribuzione delle istanze per l'ECSesecuzione su Amazon Linux 2 e versioni successive.