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à.
Gestione di più ambienti elastici Elastic Beanstalk come gruppo con la CLI EB
La CLI EB ti consente di creare gruppi di ambienti AWS Elastic Beanstalk, in ognuno dei quali viene eseguito un componente distinto di un'applicazione SOA (Service-Oriented Architecture, architettura orientata ai servizi). L'interfaccia a riga di comando EB gestisce questi gruppi utilizzando l'API Compose Environments.
Nota
I gruppi di ambienti sono diversi dai vari container in un ambiente docker multicontainer. Con i gruppi di ambiente, ogni componente della tua applicazione viene eseguito in un ambiente Elastic Beanstalk distinto, con una serie di istanze Amazon EC2 dedicate. Ogni componente è in grado di ridimensionarsi separatamente. Con docker multicontainer, puoi combinare più componenti di un'applicazione in un unico ambiente. Tutti i componenti condividono lo stesso set di istanze Amazon EC2, ognuna delle quali esegue più container docker. Scegli una delle architetture in base alle esigenze della tua attività.
Per informazioni dettagliate sui docker multicontainer, consultare Utilizzo del ramo della piattaforma Docker ECS gestito in Elastic Beanstalk.
Organizza i componenti dell'applicazione nella seguente struttura di cartelle:
~/project-name
|-- component-a
| `-- env.yaml
`-- component-b
`-- env.yaml
Ogni sottocartella contiene il codice sorgente per un componente indipendente di un'applicazione che verrà eseguito nel relativo ambiente e un file di definizione di ambiente denominato env.yaml
. Per informazioni dettagliate sul formato env.yaml
, consulta Manifest di ambiente (env.yaml).
Per utilizzare l'API Compose Environments
, dapprima esegui eb init dalla cartella di progetto, specificando ogni componente in base al nome della cartella che lo contiene con l'opzione --modules
:
~/workspace/project-name$ eb init --modules component-a component-b
L'interfaccia a riga di comando EB richiede la configurazione di ogni componente e quindi crea la directory .elasticbeanstalk
nella cartella di ciascun componente. L'interfaccia a riga di comando EB non crea i file di configurazione nella directory principale.
~/project-name
|-- component-a
| |-- .elasticbeanstalk
| `-- env.yaml
`-- component-b
|-- .elasticbeanstalk
`-- env.yaml
Successivamente, esegui il comando eb create con un elenco di ambienti da creare (uno per ogni componente):
~/workspace/project-name$ eb create --modules component-a component-b
--env-group-suffix group-name
Questo comando crea un ambiente per ogni componente. I nomi degli ambienti vengono creati concatenando il valore EnvironmentName
specificato nel file env.yaml
con il nome del gruppo, separato da un trattino. La lunghezza totale di queste due opzioni e del trattino non deve superare la lunghezza massima consentita per i nomi di ambiente, ovvero 23 caratteri.
Per aggiornare l'ambiente, utilizza il comando eb deploy:
~/workspace/project-name$ eb deploy --modules component-a component-b
Puoi aggiornare ogni componente individualmente oppure in gruppo. Specifica i componenti che intendi aggiornare con l'opzione --modules
.
L'interfaccia a riga di comando EB memorizza il nome di gruppo utilizzato con eb create nella sezione branch-defaults
del file di configurazione dell'interfaccia in /.elasticbeanstalk/config.yml
. Per distribuire l'applicazione in un gruppo differente, utilizza l'opzione --env-group-suffix
quando esegui eb deploy. Se il gruppo non esiste ancora, l'interfaccia a riga di comando EB creerà un nuovo gruppo di ambienti:
~/workspace/project-name$ eb deploy --modules component-a component-b
--env-group-suffix group-2-name
Per terminare gli ambienti, esegui eb terminate nella cartella di ogni modulo. Per impostazione predefinita, l'interfaccia a riga di comando EB visualizzerà un errore se tenti di terminare un ambiente da cui dipende un altro ambiente in esecuzione. Termina dapprima l'ambiente dipendente, oppure utilizza l'opzione --ignore-links
per sovrascrivere il comportamento di default:
~/workspace/project-name/component-b$ eb terminate --ignore-links