Creazione di collegamenti tra gli ambienti Elastic Beanstalk - AWS Elastic Beanstalk

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

Creazione di collegamenti tra gli ambienti Elastic Beanstalk

Poiché la tua applicazione cresce in termini di dimensioni e complessità, è possibile che tu voglia suddividerla in componenti che hanno cicli di vita di sviluppo e operativi differenti. Eseguendo servizi più piccoli che interagiscono tra loro mediante un'interfaccia ben definita, i team possono lavorare in modo indipendente e le distribuzioni possono presentare un rischio più ridotto. AWS Elastic Beanstalk consente di collegare gli ambienti per condividere le informazioni tra i componenti interdipendenti.

Nota

Elastic Beanstalk supporta attualmente collegamenti tra ambienti per tutte le piattaforme ad eccezione di Multicontainer Docker.

Mediante i collegamenti tra ambienti, puoi specificare le connessioni tra gli ambienti dei componenti dell'applicazione come riferimenti designati. Quando crei un ambiente che definisce un collegamento, Elastic Beanstalk imposta una variabile di ambiente con lo stesso nome del collegamento. Il valore della variabile è l'endpoint che puoi utilizzare per la connessione a un altro componente, ovvero un server Web o un ambiente lavoratore.

Ad esempio, se la tua applicazione è composta da un front-end che raccoglie indirizzi e-mail e un lavoratore che invia un messaggio di benvenuto agli indirizzi e-mail raccolti dal front-end, puoi creare un collegamento al lavoratore nel tuo front-end di modo che rilevi automaticamente l'endpoint (URL coda) per il lavoratore.

Definisci i collegamenti ad altri ambienti in un manifest di ambiente, un file in formato YAML denominato env.yaml nella radice dell'origine dell'applicazione. Il seguente manifest definisce un collegamento a un ambiente denominato lavoratore:

~/workspace/my-app/frontend/env.yaml

AWSConfigurationTemplateVersion: 1.1.0.0 EnvironmentLinks: "WORKERQUEUE": "worker"

Quando crei un ambiente con una versione dell'applicazione che include il suddetto manifest di ambiente, Elastic Beanstalk cerca un ambiente denominato worker appartenente alla stessa applicazione. Se tale ambiente esiste, Elastic Beanstalk crea una proprietà di ambiente denominata WORKERQUEUE. Il valore di WORKERQUEUE è l'URL coda di Amazon SQS. L'applicazione front-end può leggere questa proprietà come variabile di ambiente. Per informazioni dettagliate, vedi Manifest di ambiente (env.yaml).

Per utilizzare i collegamenti all'ambiente, aggiungi un manifesto di ambiente all'origine dell'applicazione e caricalo con l'EB CLI AWS CLI o un SDK. Se utilizzi AWS CLI o un SDK, imposta il process flag quando chiami: CreateApplicationVersion

$ aws elasticbeanstalk create-application-version --process --application-name my-app --version-label frontend-v1 --source-bundle S3Bucket="DOC-EXAMPLE-BUCKET",S3Key="front-v1.zip"

Questa opzione indica a Elastic Beanstalk di convalidare il manifest di ambiente e i file di configurazione nel bundle di origine quando crei la versione dell'applicazione. L'interfaccia a riga di comando EB imposta questo flag automaticamente quando un manifest di ambiente è presente nella directory di progetto.

Crea i tuoi ambienti normalmente utilizzando qualsiasi client. Quando devi terminare gli ambienti, esegui questa operazione dapprima con il collegamento. Se un ambiente è collegato a un altro ambiente, Elastic Beanstalk impedisce la terminazione dell'ambiente collegato. Per sovrascrivere questa protezione, utilizza il flag ForceTerminate. Questo parametro è disponibile nell' AWS CLI come --force-terminate:

$ aws elasticbeanstalk terminate-environment --force-terminate --environment-name worker