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 operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni di servizio, puoi vedere le azioni nel loro contesto negli scenari correlati.

Ogni esempio include un collegamento al codice sorgente completo, in cui è possibile trovare istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzareabort-environment-update.

AWS CLI

Per interrompere una distribuzione

Il comando seguente interrompe la distribuzione di una versione dell'applicazione in esecuzione 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

Per 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

Per 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="my-bucket",S3Key="sample.war" --auto-create-application

L'applicazione verrà creata automaticamente se non esiste già, grazie all' auto-create-applicationopzione. Il pacchetto sorgente è un file.war memorizzato in un bucket s3 denominato «my-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": "my-bucket", "S3Key": "sample.war" } } }

Il seguente esempio di codice mostra come utilizzarecreate-application.

AWS CLI

Per creare una nuova applicazione

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

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

Il create-application comando configura solo il nome e la descrizione dell'applicazione. Per caricare il codice sorgente dell'applicazione, create una versione iniziale dell'applicazione utilizzandocreate-application-version. create-application-versiondispone inoltre di un'auto-create-applicationopzione 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

Per creare un modello di configurazione

Il comando seguente crea un modello di configurazione denominato in base my-app-v1 alle impostazioni applicate a un ambiente con l'ide-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

Per 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

Specificare un JSON file per definire le opzioni di configurazione dell'ambiente

Il create-environment comando seguente specifica che myoptions.json deve essere utilizzato un JSON file con lo stesso nome 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 JSON oggetto 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 Option Values nella AWS Elastic Beanstalk Developer Guide.

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

AWS CLI

Per creare una posizione di archiviazione

Il comando seguente crea una posizione 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

Per eliminare la versione di un'applicazione

Il comando seguente elimina una versione dell'applicazione denominata 22a0-stage-150819_182129 per un'applicazione denominatamy-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

Eliminazione di un'applicazione

Il comando seguente elimina un'applicazione denominatamy-app:

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

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

AWS CLI

Per eliminare un modello di configurazione

Il comando seguente elimina un modello di configurazione denominato my-template per un'applicazione denominatamy-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

Per eliminare una bozza di configurazione

Il comando seguente elimina una bozza di configurazione per un ambiente denominatomy-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

Per visualizzare informazioni sulla versione di un'applicazione

Il comando seguente recupera le informazioni sulla versione di un'applicazione v2 etichettata:

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

Per visualizzare un elenco di applicazioni

Il comando seguente recupera informazioni sulle applicazioni nell'area 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

Per visualizzare le opzioni di configurazione per un ambiente

Il comando seguente recupera le descrizioni di tutte le opzioni di configurazione disponibili per un ambiente denominatomy-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 di configurazione. Per ulteriori informazioni sugli spazi dei nomi e sulle opzioni supportate, consulta Option Values nella Elastic AWS Beanstalk Developer Guide.

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

AWS CLI

Per visualizzare le impostazioni di configurazione per 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 sugli spazi dei nomi e sulle opzioni supportate, consulta Option Values nella Elastic AWS Beanstalk Developer Guide.

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

AWS CLI

Per visualizzare lo stato dell'ambiente

Il comando seguente recupera le informazioni generali sullo stato di salute per un ambiente denominatomy-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 sanitarie sono disponibili solo per gli ambienti in cui è abilitata la reportistica sanitaria avanzata. Per ulteriori informazioni, consulta Enhanced Health Reporting and Monitoring nella AWS Elastic Beanstalk Developer Guide.

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 denominatomy-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

Per visualizzare informazioni su un ambiente

Il comando seguente recupera informazioni su un ambiente denominatomy-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

Per visualizzare gli eventi relativi a un ambiente

Il comando seguente recupera gli eventi per un ambiente denominatomy-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" } ] }
  • Per API i dettagli, vedere DescribeEventsin AWS CLI Command Reference.

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

AWS CLI

Per visualizzare lo stato dell'ambiente

Il comando seguente recupera le informazioni sullo stato 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 sanitarie sono disponibili solo per gli ambienti in cui è abilitata la reportistica sanitaria avanzata. Per ulteriori informazioni, consulta Enhanced Health Reporting and Monitoring nella AWS Elastic Beanstalk Developer Guide.

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

AWS CLI

Per 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

Per ricostruire 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

Per richiedere registri in coda

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

Per riavviare i server delle applicazioni

Il comando seguente riavvia i server delle 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

Per recuperare tronchi in coda

Il comando seguente recupera un collegamento 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" } ] }

Visualizzate il collegamento 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

Per scambiare l'ambiente CNAMES

Il comando seguente scambia i sottodomini assegnati di 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

Per 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

Per modificare la descrizione della versione di un'applicazione

Il comando seguente aggiorna la descrizione di una versione dell'applicazione denominata22a0-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

Per modificare la descrizione di un'applicazione

Il comando seguente aggiorna la descrizione di un'applicazione denominatamy-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

Per 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 sugli spazi dei nomi e sulle opzioni supportate, consulta Option Values nella Elastic AWS Beanstalk Developer Guide.

Il seguente esempio di codice mostra come utilizzareupdate-environment.

AWS CLI

Per aggiornare un ambiente a una nuova versione

Il comando seguente aggiorna un ambiente chiamato «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 con una versione valida dell'applicazione con l'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" }

Per 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 option-settings parametro richiede uno spazio dei nomi oltre al nome e al valore della variabile. Elastic Beanstalk supporta diversi namespace per le opzioni oltre alle variabili di ambiente.

Per configurare le impostazioni delle opzioni da un file

Il comando seguente configura diverse opzioni nello spazio dei aws:elb:loadbalancer nomi da un file:

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

options.jsonè un JSON oggetto 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 sugli spazi dei nomi e sulle opzioni supportate, consulta Option Values nella Elastic AWS Beanstalk Developer Guide.

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

AWS CLI

Per 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 JSON documento 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 specificato, Elastic Beanstalk restituisce un array Messages vuoto:

{ "Messages": [] }

Se la convalida fallisce, 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 sugli spazi dei nomi e sulle opzioni supportate, consulta Option Values nella Elastic AWS Beanstalk Developer Guide.