Impostazione delle opzioni di configurazione dopo la creazione di un ambiente - 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à.

Impostazione delle opzioni di configurazione dopo la creazione di un ambiente

Puoi modificare le impostazioni delle opzioni in un ambiente in esecuzione applicando le configurazioni salvate e caricando un nuovo bundle di origine con i file di configurazione (.ebextensions) o utilizzando un documento in formato JSON. Anche la console Elastic Beanstalk e la CLI EB hanno funzionalità specifiche del client per la configurazione e l'aggiornamento delle opzioni di configurazione.

Quando imposti o modifichi un'opzione di configurazione, puoi attivare un aggiornamento completo dell'ambiente, a seconda dell'importanza della modifica. Ad esempio, le modifiche delle opzioni in aws:autoscaling:launchconfiguration, ad esempio InstanceType, richiedono di nuovo l'esecuzione del provisioning delle istanze Amazon EC2 nell'ambiente. Questa operazione attiva un aggiornamento in sequenza. Altre modifiche di configurazione possono essere applicate senza alcuna interruzione o provisioning.

È possibile annullare le impostazioni delle opzioni da un ambiente utilizzando i comandi della CLI EB o della AWS CLI. La rimozione di un'opzione che è stata impostata direttamente in un ambiente a livello di API consente a impostazioni nei file di configurazione, che sono altrimenti mascherate da impostazioni applicate direttamente a un ambiente, di emergere e di diventare effettive.

Le impostazioni delle configurazioni salvate e i file di configurazione possono essere sostituiti impostando la stessa opzione direttamente nell'ambiente con uno degli altri metodi di configurazione. Tuttavia, questi possono essere rimossi completamente applicando un file di configurazione o una configurazione salvata aggiornati. Quando un'opzione non è impostata in una configurazione salvata, in un file di configurazione oppure direttamente su un ambiente, viene applicato il valore predefinito, se presente. Per informazioni dettagliate, consulta Priorità.

Console Elastic Beanstalk

Puoi aggiornare le impostazioni delle opzioni di configurazione nella console Elastic Beanstalk distribuendo un bundle di origine dell'applicazione che contiene i file di configurazione, applicando una configurazione salvata o modificando l'ambiente direttamente nella pagina Configuration (Configurazione) nella console di gestione dell'ambiente.

Utilizzo dei file di configurazione (.ebextensions)

Aggiorna i file di configurazione nella directory di origine, crea un nuovo bundle di origine e distribuisci la nuova versione nell'ambiente Elastic Beanstalk in uso per applicare le modifiche.

Per informazioni dettagliate sui file di configurazione, consulta .Ebextensions.

Per distribuire un bundle di origine
  1. Apri la console Elastic Beanstalk e nell'elenco Regions (Regioni) seleziona la tua Regione AWS.

  2. Nel pannello di navigazione selezionare Environments (Ambienti), quindi selezionare il nome dell'ambiente dall'elenco.

    Nota

    Se si dispone di molti ambienti, utilizzare la barra di ricerca per filtrare l'elenco degli ambienti.

  3. Nella pagina della panoramica dell'ambiente scegliere Upload and deploy (Carica e distribuisci).

  4. Utilizzare la finestra di dialogo su schermo per caricare il bundle di origine.

  5. Selezionare Deploy (Distribuisci).

  6. Al termine della distribuzione, è possibile scegliere l'URL del sito per aprire il sito Web in una nuova scheda.

Le modifiche apportate ai file di configurazione non sostituiranno le impostazioni delle opzioni in configurazioni salvate o in impostazioni applicate direttamente all'ambiente a livello di API. Vedi Priorità per dettagli.

Utilizzo di una configurazione salvata

Applica una configurazione salvata a un ambiente in esecuzione per applicare impostazioni di opzioni da essa definite.

Per applicare una configurazione salvata a un ambiente in esecuzione (console Elastic Beanstalk)
  1. Apri la console Elastic Beanstalk e nell'elenco Regions (Regioni) seleziona la tua Regione AWS.

  2. Nel riquadro di navigazione, scegliere Applicazioni, quindi selezionare il nome dell'applicazione dall'elenco.

    Nota

    Se si dispone di molte applicazioni, utilizzare la barra di ricerca per filtrare l'elenco delle applicazioni.

  3. Nel riquadro di spostamento individuare il nome dell'applicazione e scegliere Saved configurations (Configurazioni salvate).

  4. Selezionare la configurazione salvata che si desidera applicare, quindi scegliere Load (Carica).

  5. Seleziona un ambiente, quindi scegli Load (Carica).

Le impostazioni definite in una configurazione salvata sovrascrivono le impostazioni nei file di configurazione e vengono sostituite dalle impostazioni configurate tramite la console di gestione dell'ambiente.

Consulta Configurazioni salvate per dettagli sulla creazione di configurazioni salvate.

Utilizzo della console Elastic Beanstalk

La console Elastic Beanstalk presenta varie opzioni di configurazione nella pagina Configuration (Configurazione) per ogni ambiente.

Per modificare le opzioni di configurazione in un ambiente in esecuzione (console Elastic Beanstalk)
  1. Apri la console Elastic Beanstalk e nell'elenco Regions (Regioni) seleziona la tua Regione AWS.

  2. Nel pannello di navigazione selezionare Environments (Ambienti), quindi selezionare il nome dell'ambiente dall'elenco.

    Nota

    Se si dispone di molti ambienti, utilizzare la barra di ricerca per filtrare l'elenco degli ambienti.

  3. Nel riquadro di navigazione, selezionare Configuration (Configurazione).

  4. Trova la pagina della configurazione che desideri modificare:

    • Se vedi l'opzione a cui sei interessato o conosci la categoria di configurazione in cui si trova, seleziona Edit (Modifica) nella categoria di configurazione.

    • Per cercare un'opzione, attiva Table View (Visualizzazione tabella), quindi immetti i termini di ricerca nella casella di ricerca. Mentre digiti, l'elenco diventa più breve e mostra solo le opzioni che soddisfano i termini di ricerca.

      Quando vedi l'opzione che hai cercato, scegli Edit (Modifica) nella categoria di configurazione che la contiene.

      Visualizzazione tabella della pagina della panoramica della configurazione della console Elastic Beanstalk che mostra la ricerca di un'opzione
  5. Modifica le impostazioni e successivamente scegli Save (Salva).

  6. Ripeti i due passaggi precedenti su altre categorie di configurazione in base alle esigenze.

  7. Scegliere Apply (Applica).

Le modifiche apportate alle opzioni di configurazione nella console di gestione dell'ambiente vengono applicate direttamente all'ambiente. Queste modifiche sostituiscono le impostazioni per le stesse opzioni nei file di configurazione o nelle configurazioni salvate. Vedi Priorità per dettagli.

Per ulteriori informazioni su come modificare le opzioni di configurazione in un ambiente di esecuzione utilizzando la console Elastic Beanstalk, consulta gli argomenti disponibili in Configurazione degli ambienti Elastic Beanstalk.

CLI EB

È possibile aggiornare le impostazioni delle opzioni di configurazione con la CLI EB distribuendo un codice sorgente che contiene i file di configurazione, applicando le impostazioni di una configurazione salvata o modificando la configurazione dell'ambiente direttamente con il comando eb config.

Utilizzo dei file di configurazione (.ebextensions)

Includi i file .config nella tua cartella di progetto in .ebextensions per distribuirli con il codice della tua applicazione.

Per informazioni dettagliate sui file di configurazione, consulta .Ebextensions.

~/workspace/my-app/ |-- .ebextensions | |-- environmentvariables.config | `-- healthcheckurl.config |-- .elasticbeanstalk | `-- config.yml |-- index.php `-- styles.css

Distribuisci il tuo codice sorgente con eb deploy.

~/workspace/my-app$ eb deploy

Utilizzo di una configurazione salvata

È possibile utilizzare il comando eb config per applicare una configurazione salvata a un ambiente in esecuzione. Utilizza l'opzione --cfg opzione con il nome della configurazione salvata per applicare le impostazioni al tuo ambiente.

$ eb config --cfg v1

In questo esempio, v1 è il nome di un file di configurazione precedentemente creato e salvato.

Le impostazioni applicate a un ambiente con questo comando sostituiranno le impostazioni applicate durante la creazione dell'ambiente e le impostazioni definite nei file di configurazione del tuo bundle di origine dell'applicazione.

Utilizzo eb config

Il comando eb config della CLI EB consente di impostare e rimuovere impostazioni delle opzioni direttamente su un ambiente utilizzando un editor di testo.

Quando esegui eb config, la CLI EB mostra le impostazioni applicate al tuo ambiente da tutte le origini, inclusi i file di configurazione, le configurazioni salvate, i valori consigliati, le opzioni impostate direttamente sull'ambiente e le API di default.

Nota

eb config non visualizza le proprietà di ambiente. Per impostare proprietà di ambiente che puoi leggere dalla tua applicazione, utilizza eb setenv.

L'esempio seguente mostra le impostazioni applicate nello spazio del nome aws:autoscaling:launchconfiguration. Queste impostazioni includono:

  • Due valori consigliati, per IamInstanceProfile e InstanceType, applicati dalla CLI EB durante la creazione dell'ambiente.

  • L'opzione EC2KeyName, impostata direttamente nell'ambiente durante la creazione in base alla configurazione del repository.

  • Valori predefiniti dell'API per le altre opzioni.

ApplicationName: tomcat DateUpdated: 2015-09-30 22:51:07+00:00 EnvironmentName: tomcat SolutionStackName: 64bit Amazon Linux 2015.03 v2.0.1 running Tomcat 8 Java 8 settings: ... aws:autoscaling:launchconfiguration: BlockDeviceMappings: null EC2KeyName: my-key IamInstanceProfile: aws-elasticbeanstalk-ec2-role ImageId: ami-1f316660 InstanceType: t2.micro ...
Per impostare o modificare le opzioni di configurazione con eb config
  1. Esegui eb config per visualizzare la configurazione dell'ambiente.

    ~/workspace/my-app/$ eb config
  2. Modifica uno qualsiasi dei valori delle impostazioni utilizzando l'editor di testo predefinito.

    aws:autoscaling:launchconfiguration: BlockDeviceMappings: null EC2KeyName: my-key IamInstanceProfile: aws-elasticbeanstalk-ec2-role ImageId: ami-1f316660 InstanceType: t2.medium
  3. Salva il file di configurazione temporaneo ed esci.

  4. La CLI EB aggiorna la configurazione dell'ambiente.

Impostando le opzioni di configurazione con eb config vengono sovrascritte le impostazioni di tutte le altre sorgenti.

Puoi anche eliminare le opzioni dal tuo ambiente con eb config.

Per rimuovere le opzioni di configurazione (CLI EB)
  1. Esegui eb config per visualizzare la configurazione dell'ambiente.

    ~/workspace/my-app/$ eb config
  2. Sostituisci qualsiasi valore mostrato con la stringa null. È anche possibile eliminare l'intera riga contenente l'opzione che desideri rimuovere.

    aws:autoscaling:launchconfiguration: BlockDeviceMappings: null EC2KeyName: my-key IamInstanceProfile: aws-elasticbeanstalk-ec2-role ImageId: ami-1f316660 InstanceType: null
  3. Salva il file di configurazione temporaneo ed esci.

  4. La CLI EB aggiorna la configurazione dell'ambiente.

Se elimini le opzioni dal tuo ambiente con eb config le impostazioni per le stesse opzioni potranno essere visibili dai file di configurazione nel tuo bundle di origine dell'applicazione. Vedi Priorità per dettagli.

Utilizzo eb setenv

Per impostare le proprietà dell'ambiente con la CLI EB, utilizza eb setenv.

~/workspace/my-app/$ eb setenv ENVVAR=TEST INFO: Environment update is starting. INFO: Updating environment my-env's configuration settings. INFO: Environment health has transitioned from Ok to Info. Command is executing on all instances. INFO: Successfully deployed new configuration to environment.

Questo comando imposta le proprietà dell'ambiente nel namespace aws:elasticbeanstalk:application:environment. Le proprietà dell'ambiente impostate con eb setenv sono disponibili per la tua applicazione, dopo un breve processo di aggiornamento.

Visualizza le proprietà dell'ambiente impostate nel tuo ambiente con eb printenv.

~/workspace/my-app/$ eb printenv Environment Variables: ENVVAR = TEST

Il AWS CLI

Puoi aggiornare le impostazioni delle opzioni di configurazione con la AWS CLI implementando un bundle di origine contenente i file di configurazione, applicando una configurazione salvata archiviata in remoto o modificando l'ambiente direttamente con il comando aws elasticbeanstalk update-environment.

Utilizzo dei file di configurazione (.ebextensions)

Per applicare i file di configurazione a un ambiente in esecuzione con la AWS CLI, devi includerli nel bundle di origine dell'applicazione caricato in Amazon S3.

Per informazioni dettagliate sui file di configurazione, consulta .Ebextensions.

~/workspace/my-app-v1.zip |-- .ebextensions | |-- environmentvariables.config | `-- healthcheckurl.config |-- index.php `-- styles.css
Per caricare un bundle fonte dell'applicazione e applicarlo a un ambiente in esecuzione (AWS CLI)
  1. Se non hai già un bucket Elastic Beanstalk in Amazon S3, creane uno con create-storage-location:

    $ aws elasticbeanstalk create-storage-location { "S3Bucket": "elasticbeanstalk-us-west-2-123456789012" }
  2. Carica il bundle di origine dell'applicazione su Amazon S3.

    $ aws s3 cp sourcebundlev2.zip s3://elasticbeanstalk-us-west-2-123456789012/my-app/sourcebundlev2.zip
  3. Per creare la versione dell'applicazione.

    $ aws elasticbeanstalk create-application-version --application-name my-app --version-label v2 --description MyAppv2 --source-bundle S3Bucket="elasticbeanstalk-us-west-2-123456789012",S3Key="my-app/sourcebundlev2.zip"
  4. Aggiornamento dell'ambiente.

    $ aws elasticbeanstalk update-environment --environment-name my-env --version-label v2

Utilizzo di una configurazione salvata

Puoi applicare una configurazione salvata a un ambiente in esecuzione con l'opzione --template-name nel comando aws elasticbeanstalk update-environment.

La configurazione salvata deve essere nel bucket Elastic Beanstalk in un percorso denominato in base al nome dell'applicazione in uso in resources/templates. Ad esempio, il modello v1 per l'applicazione my-app nella regione Stati Uniti occidentali (Oregon). (us-west-2) per l'account 123456789012 si trova in s3://elasticbeanstalk-us-west-2-123456789012/resources/templates/my-app/v1.

Per applicare una configurazione salvata a un ambiente in esecuzione (AWS CLI)
  • Specifica la configurazione salvata in una chiamata update-environment con l'opzione --template-name.

    $ aws elasticbeanstalk update-environment --environment-name my-env --template-name v1

Elastic Beanstalk colloca le configurazioni salvate in questa posizione quando le crei con aws elasticbeanstalk create-configuration-template. Puoi anche modificare le configurazioni salvate in locale e inserirle in questa posizione.

Utilizzo delle opzioni della riga di comando

Per modificare le opzioni di configurazione con un documento JSON (AWS CLI)
  1. Definisci le tue impostazioni delle opzioni in formato JSON in un file locale.

  2. Esegui update-environment con l'opzione --option-settings.

    $ aws elasticbeanstalk update-environment --environment-name my-env --option-settings file://~/ebconfigs/as-zero.json

In questo esempio, as-zero.json definisce le opzioni che configurano l'ambiente con un minimo e un massimo di istanze pari a zero. Questo arresta le istanze nell'ambiente senza terminare l'ambiente.

~/ebconfigs/as-zero.json

[ { "Namespace": "aws:autoscaling:asg", "OptionName": "MinSize", "Value": "0" }, { "Namespace": "aws:autoscaling:asg", "OptionName": "MaxSize", "Value": "0" }, { "Namespace": "aws:autoscaling:updatepolicy:rollingupdate", "OptionName": "RollingUpdateEnabled", "Value": "false" } ]
Nota

Impostando le opzioni di configurazione con update-environment vengono sovrascritte le impostazioni di tutte le altre sorgenti.

Puoi anche eliminare le opzioni dal tuo ambiente con update-environment.

Per annullare le opzioni di configurazione (AWS CLI)
  • Esegui il comando update-environment con l'opzione --options-to-remove.

    $ aws elasticbeanstalk update-environment --environment-name my-env --options-to-remove Namespace=aws:autoscaling:launchconfiguration,OptionName=InstanceType

Se elimini le opzioni dal tuo ambiente con update-environment le impostazioni per le stesse opzioni potranno essere visibili dai file di configurazione nel tuo bundle di origine dell'applicazione. Se un'opzione non è configurata utilizzando uno di questi metodi, si applica il valore predefinito dell'API, se esiste. Vedi Priorità per dettagli.