Esempi di utilizzo di Elastic Beanstalk AWS CLI - AWS Command Line Interface

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

Esempi di utilizzo di Elastic Beanstalk AWS CLI

I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface con Elastic Beanstalk.

Le azioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzare. abort-environment-update

AWS CLI

Come interrompere un’implementazione

Il comando seguente interrompe un’implementazione in corso di una versione dell’applicazione per un ambiente denominato my-env:

aws elasticbeanstalk abort-environment-update --environment-name my-env

Il seguente esempio di codice mostra come utilizzarecheck-dns-availability.

AWS CLI

Come verificare la disponibilità di un CNAME

Il comando seguente verifica la disponibilità del sottodominio my-cname.elasticbeanstalk.com:

aws elasticbeanstalk check-dns-availability --cname-prefix my-cname

Output:

{ "Available": true, "FullyQualifiedCNAME": "my-cname.elasticbeanstalk.com" }

Il seguente esempio di codice mostra come utilizzarecreate-application-version.

AWS CLI

Come creare una nuova versione dell’applicazione

Il comando seguente crea una nuova versione, «v1", di un'applicazione denominata" «: MyApp

aws elasticbeanstalk create-application-version --application-name MyApp --version-label v1 --description MyAppv1 --source-bundle S3Bucket="amzn-s3-demo-bucket",S3Key="sample.war" --auto-create-application

L'applicazione verrà creata automaticamente se non esiste già, grazie all' auto-create-applicationopzione. Il bundle di origine è un file .war archiviato in un bucket S3 denominato “amzn-s3-demo-bucket” che contiene l’applicazione di esempio Apache Tomcat.

Output:

{ "ApplicationVersion": { "ApplicationName": "MyApp", "VersionLabel": "v1", "Description": "MyAppv1", "DateCreated": "2015-02-03T23:01:25.412Z", "DateUpdated": "2015-02-03T23:01:25.412Z", "SourceBundle": { "S3Bucket": "amzn-s3-demo-bucket", "S3Key": "sample.war" } } }

Il seguente esempio di codice mostra come utilizzarecreate-application.

AWS CLI

Come creare una nuova applicazione

Il comando seguente crea una nuova applicazione denominata "MyApp«:

aws elasticbeanstalk create-application --application-name MyApp --description "my application"

Il comando create-application configura solo il nome e la descrizione dell’applicazione. Per caricare il codice sorgente dell’applicazione, crea una versione iniziale dell’applicazione utilizzando create-application-version. create-application-version ha anche un’opzione auto-create-application che consente di creare l’applicazione e la versione dell’applicazione in un unico passaggio.

Output:

{ "Application": { "ApplicationName": "MyApp", "ConfigurationTemplates": [], "DateUpdated": "2015-02-12T18:32:21.181Z", "Description": "my application", "DateCreated": "2015-02-12T18:32:21.181Z" } }

Il seguente esempio di codice mostra come utilizzarecreate-configuration-template.

AWS CLI

Come creare un modello di configurazione

Il comando seguente crea un modello di configurazione denominato my-app-v1 dalle impostazioni applicate a un ambiente con ID e-rpqsewtp2j:

aws elasticbeanstalk create-configuration-template --application-name my-app --template-name my-app-v1 --environment-id e-rpqsewtp2j

Output:

{ "ApplicationName": "my-app", "TemplateName": "my-app-v1", "DateCreated": "2015-08-12T18:40:39Z", "DateUpdated": "2015-08-12T18:40:39Z", "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8" }

Il seguente esempio di codice mostra come utilizzarecreate-environment.

AWS CLI

Come creare un nuovo ambiente per un’applicazione

Il comando seguente crea un nuovo ambiente per la versione “v1” di un’applicazione Java denominata “my-app”:

aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --cname-prefix my-app --version-label v1 --solution-stack-name "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8"

Output:

{ "ApplicationName": "my-app", "EnvironmentName": "my-env", "VersionLabel": "v1", "Status": "Launching", "EnvironmentId": "e-izqpassy4h", "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", "CNAME": "my-app.elasticbeanstalk.com", "Health": "Grey", "Tier": { "Type": "Standard", "Name": "WebServer", "Version": " " }, "DateUpdated": "2015-02-03T23:04:54.479Z", "DateCreated": "2015-02-03T23:04:54.479Z" }

v1è l'etichetta di una versione dell'applicazione precedentemente caricata con create-application-version.

Come specificare un file JSON per definire le opzioni di configurazione dell’ambiente

L’esempio create-environment seguente specifica che un file JSON denominato myoptions.json deve essere utilizzato per sovrascrivere i valori ottenuti dallo stack di soluzioni o dal modello di configurazione:

aws elasticbeanstalk create-environment --environment-name sample-env --application-name sampleapp --option-settings file://myoptions.json

myoptions.json è un oggetto JSON che definisce diverse impostazioni:

[ { "Namespace": "aws:elb:healthcheck", "OptionName": "Interval", "Value": "15" }, { "Namespace": "aws:elb:healthcheck", "OptionName": "Timeout", "Value": "8" }, { "Namespace": "aws:elb:healthcheck", "OptionName": "HealthyThreshold", "Value": "2" }, { "Namespace": "aws:elb:healthcheck", "OptionName": "UnhealthyThreshold", "Value": "3" } ]

Per ulteriori informazioni, consulta Valori opzione nella Guida per gli sviluppatori di AWS Elastic Beanstalk.

Il seguente esempio di codice mostra come utilizzarecreate-storage-location.

AWS CLI

Come creare una posizione di archiviazione

Il comando seguente crea un percorso di archiviazione in Amazon S3:

aws elasticbeanstalk create-storage-location

Output:

{ "S3Bucket": "elasticbeanstalk-us-west-2-0123456789012" }

Il seguente esempio di codice mostra come utilizzaredelete-application-version.

AWS CLI

Come eliminare una versione di un’applicazione

Il comando seguente elimina una versione dell’applicazione denominata 22a0-stage-150819_182129 per un’applicazione denominata my-app:

aws elasticbeanstalk delete-application-version --version-label 22a0-stage-150819_182129 --application-name my-app

Il seguente esempio di codice mostra come utilizzaredelete-application.

AWS CLI

Come eliminare un’applicazione

Il comando seguente elimina un’applicazione denominata my-app:

aws elasticbeanstalk delete-application --application-name my-app

Il seguente esempio di codice mostra come utilizzaredelete-configuration-template.

AWS CLI

Come eliminare un modello di configurazione

Il comando seguente elimina un modello di configurazione denominato my-template per un’applicazione denominata my-app:

aws elasticbeanstalk delete-configuration-template --template-name my-template --application-name my-app

Il seguente esempio di codice mostra come utilizzaredelete-environment-configuration.

AWS CLI

Come eliminare una bozza di configurazione

Il comando seguente elimina una bozza di configurazione per un ambiente denominato my-env:

aws elasticbeanstalk delete-environment-configuration --environment-name my-env --application-name my-app

Il seguente esempio di codice mostra come utilizzaredescribe-application-versions.

AWS CLI

Come visualizzare informazioni su una versione dell’applicazione

Il seguente comando recupera informazioni su una versione dell’applicazione con etichetta v2:

aws elasticbeanstalk describe-application-versions --application-name my-app --version-label "v2"

Output:

{ "ApplicationVersions": [ { "ApplicationName": "my-app", "VersionLabel": "v2", "Description": "update cover page", "DateCreated": "2015-07-23T01:32:26.079Z", "DateUpdated": "2015-07-23T01:32:26.079Z", "SourceBundle": { "S3Bucket": "elasticbeanstalk-us-west-2-015321684451", "S3Key": "my-app/5026-stage-150723_224258.war" } }, { "ApplicationName": "my-app", "VersionLabel": "v1", "Description": "initial version", "DateCreated": "2015-07-23T22:26:10.816Z", "DateUpdated": "2015-07-23T22:26:10.816Z", "SourceBundle": { "S3Bucket": "elasticbeanstalk-us-west-2-015321684451", "S3Key": "my-app/5026-stage-150723_222618.war" } } ] }

Il seguente esempio di codice mostra come utilizzaredescribe-applications.

AWS CLI

Come visualizzare un elenco di applicazioni

Il comando seguente recupera le informazioni sulle applicazioni nella Regione corrente.

aws elasticbeanstalk describe-applications

Output:

{ "Applications": [ { "ApplicationName": "ruby", "ConfigurationTemplates": [], "DateUpdated": "2015-08-13T21:05:44.376Z", "Versions": [ "Sample Application" ], "DateCreated": "2015-08-13T21:05:44.376Z" }, { "ApplicationName": "pythonsample", "Description": "Application created from the EB CLI using \"eb init\"", "Versions": [ "Sample Application" ], "DateCreated": "2015-08-13T19:05:43.637Z", "ConfigurationTemplates": [], "DateUpdated": "2015-08-13T19:05:43.637Z" }, { "ApplicationName": "nodejs-example", "ConfigurationTemplates": [], "DateUpdated": "2015-08-06T17:50:02.486Z", "Versions": [ "add elasticache", "First Release" ], "DateCreated": "2015-08-06T17:50:02.486Z" } ] }

Il seguente esempio di codice mostra come utilizzaredescribe-configuration-options.

AWS CLI

Come visualizzare le opzioni di configurazione di un ambiente

Il comando seguente recupera la descrizione di tutte le opzioni di configurazione disponibili per un ambiente denominato my-env:

aws elasticbeanstalk describe-configuration-options --environment-name my-env --application-name my-app

Output (abbreviato):

{ "Options": [ { "Name": "JVMOptions", "UserDefined": false, "DefaultValue": "Xms=256m,Xmx=256m,XX:MaxPermSize=64m,JVM Options=", "ChangeSeverity": "RestartApplicationServer", "Namespace": "aws:cloudformation:template:parameter", "ValueType": "KeyValueList" }, { "Name": "Interval", "UserDefined": false, "DefaultValue": "30", "ChangeSeverity": "NoInterruption", "Namespace": "aws:elb:healthcheck", "MaxValue": 300, "MinValue": 5, "ValueType": "Scalar" }, ... { "Name": "LowerThreshold", "UserDefined": false, "DefaultValue": "2000000", "ChangeSeverity": "NoInterruption", "Namespace": "aws:autoscaling:trigger", "MinValue": 0, "ValueType": "Scalar" }, { "Name": "ListenerEnabled", "UserDefined": false, "DefaultValue": "true", "ChangeSeverity": "Unknown", "Namespace": "aws:elb:listener", "ValueType": "Boolean" } ] }

Le opzioni di configurazione disponibili variano in base alla piattaforma e alla versione della configurazione. Per ulteriori informazioni sui namespace e sulle opzioni supportate, consulta Valori opzione nella Guida per gli sviluppatori di AWS Elastic Beanstalk.

Il seguente esempio di codice mostra come utilizzaredescribe-configuration-settings.

AWS CLI

Come visualizzare le impostazioni di configurazione di un ambiente

Il comando seguente recupera le impostazioni di configurazione per un ambiente denominato my-env:

aws elasticbeanstalk describe-configuration-settings --environment-name my-env --application-name my-app

Output (abbreviato):

{ "ConfigurationSettings": [ { "ApplicationName": "my-app", "EnvironmentName": "my-env", "Description": "Environment created from the EB CLI using \"eb create\"", "DeploymentStatus": "deployed", "DateCreated": "2015-08-13T19:16:25Z", "OptionSettings": [ { "OptionName": "Availability Zones", "ResourceName": "AWSEBAutoScalingGroup", "Namespace": "aws:autoscaling:asg", "Value": "Any" }, { "OptionName": "Cooldown", "ResourceName": "AWSEBAutoScalingGroup", "Namespace": "aws:autoscaling:asg", "Value": "360" }, ... { "OptionName": "ConnectionDrainingTimeout", "ResourceName": "AWSEBLoadBalancer", "Namespace": "aws:elb:policies", "Value": "20" }, { "OptionName": "ConnectionSettingIdleTimeout", "ResourceName": "AWSEBLoadBalancer", "Namespace": "aws:elb:policies", "Value": "60" } ], "DateUpdated": "2015-08-13T23:30:07Z", "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8" } ] }

Per ulteriori informazioni sui namespace e sulle opzioni supportate, consulta Valori opzione nella Guida per gli sviluppatori di AWS Elastic Beanstalk.

Il seguente esempio di codice mostra come utilizzaredescribe-environment-health.

AWS CLI

Come visualizzare l’integrità dell’ambiente

Il comando seguente recupera informazioni generali sull’integrità di un ambiente denominato my-env:

aws elasticbeanstalk describe-environment-health --environment-name my-env --attribute-names All

Output:

{ "Status": "Ready", "EnvironmentName": "my-env", "Color": "Green", "ApplicationMetrics": { "Duration": 10, "Latency": { "P99": 0.004, "P75": 0.002, "P90": 0.003, "P95": 0.004, "P85": 0.003, "P10": 0.001, "P999": 0.004, "P50": 0.001 }, "RequestCount": 45, "StatusCodes": { "Status3xx": 0, "Status2xx": 45, "Status5xx": 0, "Status4xx": 0 } }, "RefreshedAt": "2015-08-20T21:09:18Z", "HealthStatus": "Ok", "InstancesHealth": { "Info": 0, "Ok": 1, "Unknown": 0, "Severe": 0, "Warning": 0, "Degraded": 0, "NoData": 0, "Pending": 0 }, "Causes": [] }

Le informazioni sull’integrità sono disponibili solo per gli ambienti in cui il reporting dello stato avanzato è abilitato. Per ulteriori informazioni, consulta Reporting e monitoraggio dello stato avanzati nella Guida per gli sviluppatori di AWS Elastic Beanstalk.

Il seguente esempio di codice mostra come utilizzaredescribe-environment-resources.

AWS CLI

Per visualizzare informazioni sulle AWS risorse presenti nell'ambiente

Il comando seguente recupera informazioni sulle risorse in un ambiente denominato my-env:

aws elasticbeanstalk describe-environment-resources --environment-name my-env

Output:

{ "EnvironmentResources": { "EnvironmentName": "my-env", "AutoScalingGroups": [ { "Name": "awseb-e-qu3fyyjyjs-stack-AWSEBAutoScalingGroup-QSB2ZO88SXZT" } ], "Triggers": [], "LoadBalancers": [ { "Name": "awseb-e-q-AWSEBLoa-1EEPZ0K98BIF0" } ], "Queues": [], "Instances": [ { "Id": "i-0c91c786" } ], "LaunchConfigurations": [ { "Name": "awseb-e-qu3fyyjyjs-stack-AWSEBAutoScalingLaunchConfiguration-1UUVQIBC96TQ2" } ] } }

Il seguente esempio di codice mostra come utilizzaredescribe-environments.

AWS CLI

Come visualizzare informazioni su un ambiente

Il comando seguente recupera informazioni su un ambiente denominato my-env:

aws elasticbeanstalk describe-environments --environment-names my-env

Output:

{ "Environments": [ { "ApplicationName": "my-app", "EnvironmentName": "my-env", "VersionLabel": "7f58-stage-150812_025409", "Status": "Ready", "EnvironmentId": "e-rpqsewtp2j", "EndpointURL": "awseb-e-w-AWSEBLoa-1483140XB0Q4L-109QXY8121.us-west-2.elb.amazonaws.com", "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", "CNAME": "my-env.elasticbeanstalk.com", "Health": "Green", "AbortableOperationInProgress": false, "Tier": { "Version": " ", "Type": "Standard", "Name": "WebServer" }, "DateUpdated": "2015-08-12T18:16:55.019Z", "DateCreated": "2015-08-07T20:48:49.599Z" } ] }

Il seguente esempio di codice mostra come utilizzaredescribe-events.

AWS CLI

Come visualizzare gli eventi per un ambiente

Il comando seguente recupera gli eventi per un ambiente denominato my-env:

aws elasticbeanstalk describe-events --environment-name my-env

Output (abbreviato):

{ "Events": [ { "ApplicationName": "my-app", "EnvironmentName": "my-env", "Message": "Environment health has transitioned from Info to Ok.", "EventDate": "2015-08-20T07:06:53.535Z", "Severity": "INFO" }, { "ApplicationName": "my-app", "EnvironmentName": "my-env", "Severity": "INFO", "RequestId": "b7f3960b-4709-11e5-ba1e-07e16200da41", "Message": "Environment update completed successfully.", "EventDate": "2015-08-20T07:06:02.049Z" }, ... { "ApplicationName": "my-app", "EnvironmentName": "my-env", "Severity": "INFO", "RequestId": "ca8dfbf6-41ef-11e5-988b-651aa638f46b", "Message": "Using elasticbeanstalk-us-west-2-012445113685 as Amazon S3 storage bucket for environment data.", "EventDate": "2015-08-13T19:16:27.561Z" }, { "ApplicationName": "my-app", "EnvironmentName": "my-env", "Severity": "INFO", "RequestId": "cdfba8f6-41ef-11e5-988b-65638f41aa6b", "Message": "createEnvironment is starting.", "EventDate": "2015-08-13T19:16:26.581Z" } ] }

Il seguente esempio di codice mostra come utilizzaredescribe-instances-health.

AWS CLI

Come visualizzare l’integrità dell’ambiente

Il comando seguente recupera informazioni sull’integrità delle istanze in un ambiente denominato my-env:

aws elasticbeanstalk describe-instances-health --environment-name my-env --attribute-names All

Output:

{ "InstanceHealthList": [ { "InstanceId": "i-08691cc7", "ApplicationMetrics": { "Duration": 10, "Latency": { "P99": 0.006, "P75": 0.002, "P90": 0.004, "P95": 0.005, "P85": 0.003, "P10": 0.0, "P999": 0.006, "P50": 0.001 }, "RequestCount": 48, "StatusCodes": { "Status3xx": 0, "Status2xx": 47, "Status5xx": 0, "Status4xx": 1 } }, "System": { "LoadAverage": [ 0.0, 0.02, 0.05 ], "CPUUtilization": { "SoftIRQ": 0.1, "IOWait": 0.2, "System": 0.3, "Idle": 97.8, "User": 1.5, "IRQ": 0.0, "Nice": 0.1 } }, "Color": "Green", "HealthStatus": "Ok", "LaunchedAt": "2015-08-13T19:17:09Z", "Causes": [] } ], "RefreshedAt": "2015-08-20T21:09:08Z" }

Le informazioni sull’integrità sono disponibili solo per gli ambienti in cui il reporting dello stato avanzato è abilitato. Per ulteriori informazioni, consulta Reporting e monitoraggio dello stato avanzati nella Guida per gli sviluppatori di AWS Elastic Beanstalk.

Il seguente esempio di codice mostra come utilizzarelist-available-solution-stacks.

AWS CLI

Come visualizzare gli stack di soluzioni

Il comando seguente elenca gli stack di soluzioni per tutte le configurazioni di piattaforma attualmente disponibili e per quelle utilizzate in passato.

aws elasticbeanstalk list-available-solution-stacks

Output (abbreviato):

{ "SolutionStacks": [ "64bit Amazon Linux 2015.03 v2.0.0 running Node.js", "64bit Amazon Linux 2015.03 v2.0.0 running PHP 5.6", "64bit Amazon Linux 2015.03 v2.0.0 running PHP 5.5", "64bit Amazon Linux 2015.03 v2.0.0 running PHP 5.4", "64bit Amazon Linux 2015.03 v2.0.0 running Python 3.4", "64bit Amazon Linux 2015.03 v2.0.0 running Python 2.7", "64bit Amazon Linux 2015.03 v2.0.0 running Python", "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.2 (Puma)", "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.2 (Passenger Standalone)", "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.1 (Puma)", "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.1 (Passenger Standalone)", "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.0 (Puma)", "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.0 (Passenger Standalone)", "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 1.9.3", "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 7 Java 7", "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 7 Java 6", "64bit Windows Server Core 2012 R2 running IIS 8.5", "64bit Windows Server 2012 R2 running IIS 8.5", "64bit Windows Server 2012 running IIS 8", "64bit Windows Server 2008 R2 running IIS 7.5", "64bit Amazon Linux 2015.03 v2.0.0 running Docker 1.6.2", "64bit Amazon Linux 2015.03 v2.0.0 running Multi-container Docker 1.6.2 (Generic)", "64bit Debian jessie v2.0.0 running GlassFish 4.1 Java 8 (Preconfigured - Docker)", "64bit Debian jessie v2.0.0 running GlassFish 4.0 Java 7 (Preconfigured - Docker)", "64bit Debian jessie v2.0.0 running Go 1.4 (Preconfigured - Docker)", "64bit Debian jessie v2.0.0 running Go 1.3 (Preconfigured - Docker)", "64bit Debian jessie v2.0.0 running Python 3.4 (Preconfigured - Docker)", ], "SolutionStackDetails": [ { "PermittedFileTypes": [ "zip" ], "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Node.js" }, ... ] }

Il seguente esempio di codice mostra come utilizzarerebuild-environment.

AWS CLI

Come ricompilare un ambiente

Il comando seguente termina e ricrea le risorse in un ambiente denominato my-env:

aws elasticbeanstalk rebuild-environment --environment-name my-env

Il seguente esempio di codice mostra come utilizzarerequest-environment-info.

AWS CLI

Come richiedere log in tempo reale

Il comando seguente richiede i log da un ambiente denominato my-env:

aws elasticbeanstalk request-environment-info --environment-name my-env --info-type tail

Dopo aver richiesto i log, recupera la loro posizione con. retrieve-environment-info

Il seguente esempio di codice mostra come utilizzarerestart-app-server.

AWS CLI

Come riavviare i server di applicazioni

Il comando seguente riavvia i server di applicazioni su tutte le istanze in un ambiente denominato my-env:

aws elasticbeanstalk restart-app-server --environment-name my-env

Il seguente esempio di codice mostra come utilizzareretrieve-environment-info.

AWS CLI

Come recuperare log in tempo reale

Il comando seguente recupera un link ai log da un ambiente denominato my-env:

aws elasticbeanstalk retrieve-environment-info --environment-name my-env --info-type tail

Output:

{ "EnvironmentInfo": [ { "SampleTimestamp": "2015-08-20T22:23:17.703Z", "Message": "https://elasticbeanstalk-us-west-2-0123456789012.s3.amazonaws.com/resources/environments/logs/tail/e-fyqyju3yjs/i-09c1c867/TailLogs-1440109397703.out?AWSAccessKeyId=AKGPT4J56IAJ2EUBL5CQ&Expires=1440195891&Signature=n%2BEalOV6A2HIOx4Rcfb7LT16bBM%3D", "InfoType": "tail", "Ec2InstanceId": "i-09c1c867" } ] }

Visualizza il link in un browser. Prima del recupero, i log devono essere richiesti con. request-environment-info

Il seguente esempio di codice mostra come utilizzareswap-environment-cnames.

AWS CLI

Come scambiare i CNAME di ambiente

Il comando seguente scambia i sottodomini assegnati a due ambienti:

aws elasticbeanstalk swap-environment-cnames --source-environment-name my-env-blue --destination-environment-name my-env-green

Il seguente esempio di codice mostra come utilizzareterminate-environment.

AWS CLI

Come terminare un ambiente

Il comando seguente termina un ambiente Elastic Beanstalk denominato my-env:

aws elasticbeanstalk terminate-environment --environment-name my-env

Output:

{ "ApplicationName": "my-app", "EnvironmentName": "my-env", "Status": "Terminating", "EnvironmentId": "e-fh2eravpns", "EndpointURL": "awseb-e-f-AWSEBLoa-1I9XUMP4-8492WNUP202574.us-west-2.elb.amazonaws.com", "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", "CNAME": "my-env.elasticbeanstalk.com", "Health": "Grey", "AbortableOperationInProgress": false, "Tier": { "Version": " ", "Type": "Standard", "Name": "WebServer" }, "DateUpdated": "2015-08-12T19:05:54.744Z", "DateCreated": "2015-08-12T18:52:53.622Z" }

Il seguente esempio di codice mostra come utilizzareupdate-application-version.

AWS CLI

Come modificare la descrizione di una versione dell’applicazione

Il comando seguente aggiorna la descrizione della versione di un’applicazione denominata 22a0-stage-150819_185942:

aws elasticbeanstalk update-application-version --version-label 22a0-stage-150819_185942 --application-name my-app --description "new description"

Output:

{ "ApplicationVersion": { "ApplicationName": "my-app", "VersionLabel": "22a0-stage-150819_185942", "Description": "new description", "DateCreated": "2015-08-19T18:59:17.646Z", "DateUpdated": "2015-08-20T22:53:28.871Z", "SourceBundle": { "S3Bucket": "elasticbeanstalk-us-west-2-0123456789012", "S3Key": "my-app/22a0-stage-150819_185942.war" } } }

Il seguente esempio di codice mostra come utilizzareupdate-application.

AWS CLI

Come modificare la descrizione di un’applicazione

Il comando seguente aggiorna la descrizione di un’applicazione denominata my-app:

aws elasticbeanstalk update-application --application-name my-app --description "my Elastic Beanstalk application"

Output:

{ "Application": { "ApplicationName": "my-app", "Description": "my Elastic Beanstalk application", "Versions": [ "2fba-stage-150819_234450", "bf07-stage-150820_214945", "93f8", "fd7c-stage-150820_000431", "22a0-stage-150819_185942" ], "DateCreated": "2015-08-13T19:15:50.449Z", "ConfigurationTemplates": [], "DateUpdated": "2015-08-20T22:34:56.195Z" } }

Il seguente esempio di codice mostra come utilizzareupdate-configuration-template.

AWS CLI

Come aggiornare un modello di configurazione

Il comando seguente rimuove la configurazione delle metriche sanitarie CloudWatch personalizzate configurate ConfigDocument da un modello di configurazione salvato denominatomy-template:

aws elasticbeanstalk update-configuration-template --template-name my-template --application-name my-app --options-to-remove Namespace=aws:elasticbeanstalk:healthreporting:system,OptionName=ConfigDocument

Output:

{ "ApplicationName": "my-app", "TemplateName": "my-template", "DateCreated": "2015-08-20T22:39:31Z", "DateUpdated": "2015-08-20T22:43:11Z", "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8" }

Per ulteriori informazioni sui namespace e sulle opzioni supportate, consulta Valori opzione nella Guida per gli sviluppatori di AWS Elastic Beanstalk.

Il seguente esempio di codice mostra come utilizzareupdate-environment.

AWS CLI

Come aggiornare un ambiente a una nuova versione

Il comando seguente aggiorna un ambiente denominato “my-env” alla versione “v2” dell’applicazione a cui appartiene:

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

Questo comando richiede che l’ambiente “my-env” esista già e appartenga a un’applicazione che disponga di una versione valida con etichetta “v2”.

Output:

{ "ApplicationName": "my-app", "EnvironmentName": "my-env", "VersionLabel": "v2", "Status": "Updating", "EnvironmentId": "e-szqipays4h", "EndpointURL": "awseb-e-i-AWSEBLoa-1RDLX6TC9VUAO-0123456789.us-west-2.elb.amazonaws.com", "SolutionStackName": "64bit Amazon Linux running Tomcat 7", "CNAME": "my-env.elasticbeanstalk.com", "Health": "Grey", "Tier": { "Version": " ", "Type": "Standard", "Name": "WebServer" }, "DateUpdated": "2015-02-03T23:12:29.119Z", "DateCreated": "2015-02-03T23:04:54.453Z" }

Come impostare una variabile di ambiente

Il comando seguente imposta il valore della variabile "PARAM1" nell'ambiente «my-env» su "«: ParamValue

aws elasticbeanstalk update-environment --environment-name my-env --option-settings Namespace=aws:elasticbeanstalk:application:environment,OptionName=PARAM1,Value=ParamValue

Il parametro option-settings accetta un namespace, oltre al nome e al valore della variabile. Elastic Beanstalk supporta diversi namespace per le opzioni, oltre alle variabili di ambiente.

Come configurare le impostazioni delle opzioni da un file

Il comando seguente configura diverse opzioni nel namespace aws:elb:loadbalancer utilizzando un file:

aws elasticbeanstalk update-environment --environment-name my-env --option-settings file://options.json

options.json è un oggetto JSON che definisce diverse impostazioni:

[ { "Namespace": "aws:elb:healthcheck", "OptionName": "Interval", "Value": "15" }, { "Namespace": "aws:elb:healthcheck", "OptionName": "Timeout", "Value": "8" }, { "Namespace": "aws:elb:healthcheck", "OptionName": "HealthyThreshold", "Value": "2" }, { "Namespace": "aws:elb:healthcheck", "OptionName": "UnhealthyThreshold", "Value": "3" } ]

Output:

{ "ApplicationName": "my-app", "EnvironmentName": "my-env", "VersionLabel": "7f58-stage-150812_025409", "Status": "Updating", "EnvironmentId": "e-wtp2rpqsej", "EndpointURL": "awseb-e-w-AWSEBLoa-14XB83101Q4L-104QXY80921.sa-east-1.elb.amazonaws.com", "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", "CNAME": "my-env.elasticbeanstalk.com", "Health": "Grey", "AbortableOperationInProgress": true, "Tier": { "Version": " ", "Type": "Standard", "Name": "WebServer" }, "DateUpdated": "2015-08-12T18:15:23.804Z", "DateCreated": "2015-08-07T20:48:49.599Z" }

Per ulteriori informazioni sui namespace e sulle opzioni supportate, consulta Valori opzione nella Guida per gli sviluppatori di AWS Elastic Beanstalk.

Il seguente esempio di codice mostra come utilizzarevalidate-configuration-settings.

AWS CLI

Come convalidare le impostazioni di configurazione

Il comando seguente convalida un documento di configurazione delle metriche CloudWatch personalizzato:

aws elasticbeanstalk validate-configuration-settings --application-name my-app --environment-name my-env --option-settings file://options.json

options.json è un documento JSON che include una o più impostazioni di configurazione da convalidare:

[ { "Namespace": "aws:elasticbeanstalk:healthreporting:system", "OptionName": "ConfigDocument", "Value": "{\"CloudWatchMetrics\": {\"Environment\": {\"ApplicationLatencyP99.9\": null,\"InstancesSevere\": 60,\"ApplicationLatencyP90\": 60,\"ApplicationLatencyP99\": null,\"ApplicationLatencyP95\": 60,\"InstancesUnknown\": 60,\"ApplicationLatencyP85\": 60,\"InstancesInfo\": null,\"ApplicationRequests2xx\": null,\"InstancesDegraded\": null,\"InstancesWarning\": 60,\"ApplicationLatencyP50\": 60,\"ApplicationRequestsTotal\": null,\"InstancesNoData\": null,\"InstancesPending\": 60,\"ApplicationLatencyP10\": null,\"ApplicationRequests5xx\": null,\"ApplicationLatencyP75\": null,\"InstancesOk\": 60,\"ApplicationRequests3xx\": null,\"ApplicationRequests4xx\": null},\"Instance\": {\"ApplicationLatencyP99.9\": null,\"ApplicationLatencyP90\": 60,\"ApplicationLatencyP99\": null,\"ApplicationLatencyP95\": null,\"ApplicationLatencyP85\": null,\"CPUUser\": 60,\"ApplicationRequests2xx\": null,\"CPUIdle\": null,\"ApplicationLatencyP50\": null,\"ApplicationRequestsTotal\": 60,\"RootFilesystemUtil\": null,\"LoadAverage1min\": null,\"CPUIrq\": null,\"CPUNice\": 60,\"CPUIowait\": 60,\"ApplicationLatencyP10\": null,\"LoadAverage5min\": null,\"ApplicationRequests5xx\": null,\"ApplicationLatencyP75\": 60,\"CPUSystem\": 60,\"ApplicationRequests3xx\": 60,\"ApplicationRequests4xx\": null,\"InstanceHealth\": null,\"CPUSoftirq\": 60}},\"Version\": 1}" } ]

Se le opzioni specificate sono valide per l’ambiente indicato, Elastic Beanstalk restituisce un array Messages vuoto:

{ "Messages": [] }

Se la convalida non riesce, la risposta includerà informazioni sull’errore:

{ "Messages": [ { "OptionName": "ConfigDocumet", "Message": "Invalid option specification (Namespace: 'aws:elasticbeanstalk:healthreporting:system', OptionName: 'ConfigDocumet'): Unknown configuration setting.", "Namespace": "aws:elasticbeanstalk:healthreporting:system", "Severity": "error" } ] }

Per ulteriori informazioni sui namespace e sulle opzioni supportate, consulta Valori opzione nella Guida per gli sviluppatori di AWS Elastic Beanstalk.