Exemplos do Elastic Beanstalk usando o AWS CLI - AWS Command Line Interface

Esta documentação é somente para a versão 1 da AWS CLI. Para obter a documentação relacionada à AWS CLI versão 2, consulte o Guia do usuário da versão 2.

Exemplos do Elastic Beanstalk usando o AWS CLI

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface com o Elastic Beanstalk.

Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.

Tópicos

Ações

O código de exemplo a seguir mostra como usar abort-environment-update.

AWS CLI

Abortar uma implantação

O comando a seguir aborta a implantação de uma versão da aplicação em execução em um ambiente chamado my-env:

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

O código de exemplo a seguir mostra como usar check-dns-availability.

AWS CLI

Verificar a disponibilidade de um CNAME

O comando a seguir verifica a disponibilidade do subdomínio my-cname.elasticbeanstalk.com:

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

Saída:

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

O código de exemplo a seguir mostra como usar create-application-version.

AWS CLI

Criar uma nova versão da aplicação

O comando a seguir cria uma nova versão, “v1", de uma aplicação chamada “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

A aplicação será criada automaticamente se ainda não existir, devido à opção de criação automática de aplicação. O pacote de origem é um arquivo .war armazenado em um bucket do S3 chamado “amzn-s3-demo-bucket” que contém a aplicação de amostra do Apache Tomcat.

Saída:

{ "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" } } }

O código de exemplo a seguir mostra como usar create-application.

AWS CLI

Criar uma nova aplicação

O comando a seguir cria uma nova aplicação chamada “MyApp”:

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

O comando create-application configura somente o nome e a descrição da aplicação. Para enviar o código-fonte para a aplicação, crie uma versão inicial da aplicação usando o create-application-version. O create-application-version também tem uma opção auto-create-application com a qual você pode criar a aplicação e a versão da aplicação em uma única etapa.

Saída:

{ "Application": { "ApplicationName": "MyApp", "ConfigurationTemplates": [], "DateUpdated": "2015-02-12T18:32:21.181Z", "Description": "my application", "DateCreated": "2015-02-12T18:32:21.181Z" } }
  • Para ver detalhes da API, consulte CreateApplication na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar create-configuration-template.

AWS CLI

Criar um modelo de configuração

O comando a seguir cria um modelo de configuração chamado my-app-v1 das configurações aplicadas a um ambiente com o id e-rpqsewtp2j:

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

Saída:

{ "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" }

O código de exemplo a seguir mostra como usar create-environment.

AWS CLI

Criar um novo ambiente para uma aplicação

O comando a seguir cria um novo ambiente para a versão, “v1" de uma aplicação chamada “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"

Saída:

{ "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 é o rótulo de uma versão da aplicação carregada anteriormente com create-application-version.

Especificar um arquivo JSON para definir as opções de configuração do ambiente

O comando create-environment a seguir especifica que um arquivo JSON com o nome myoptions.json deve ser usado para substituir valores obtidos da pilha de soluções ou do modelo de configuração:

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

myoptions.json é um objeto JSON que define várias configurações:

[ { "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" } ]

Para obter mais informações, consulte os Valores de Opção no Guia do desenvolvedor do Elastic Beanstalk da AWS.

  • Para ver detalhes da API, consulte CreateEnvironment na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar create-storage-location.

AWS CLI

Criar um local de armazenamento

O comando a seguir cria seu local de armazenamento no Amazon S3:

aws elasticbeanstalk create-storage-location

Saída:

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

O código de exemplo a seguir mostra como usar delete-application-version.

AWS CLI

Excluir uma versão da aplicação

O comando a seguir exclui uma versão da aplicação chamada 22a0-stage-150819_182129 de uma aplicação chamada my-app:

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

O código de exemplo a seguir mostra como usar delete-application.

AWS CLI

Como excluir uma aplicação

O comando a seguir exclui uma aplicação chamada my-app:

aws elasticbeanstalk delete-application --application-name my-app
  • Para ver detalhes da API, consulte DeleteApplication na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar delete-configuration-template.

AWS CLI

Excluir um modelo de configuração

O comando a seguir exclui um modelo de configuração chamado my-template de uma aplicação chamada my-app:

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

O código de exemplo a seguir mostra como usar delete-environment-configuration.

AWS CLI

Excluir um rascunho de uma configuração

O comando a seguir exclui o rascunho de uma configuração de um ambiente chamadomy-env:

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

O código de exemplo a seguir mostra como usar describe-application-versions.

AWS CLI

Visualizar informações sobre a versão de uma aplicação

O comando a seguir recupera informações sobre uma versão da aplicação chamada v2:

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

Saída:

{ "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" } } ] }

O código de exemplo a seguir mostra como usar describe-applications.

AWS CLI

Visualizar uma lista de aplicações

O comando a seguir recupera informações sobre aplicações na região atual:

aws elasticbeanstalk describe-applications

Saída:

{ "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" } ] }

O código de exemplo a seguir mostra como usar describe-configuration-options.

AWS CLI

Visualizar opções de configuração para um ambiente

O comando a seguir recupera as descrições de todas as opções de configuração disponíveis para um ambiente chamado my-env:

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

Resultado (abreviado):

{ "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" } ] }

As opções de configuração disponíveis variam de acordo com a plataforma e a versão da configuração. Para obter mais informações sobre namespaces e opções compatíveis, consulte Valores das opções no Guia do desenvolvedor do Elastic AWS Beanstalk.

O código de exemplo a seguir mostra como usar describe-configuration-settings.

AWS CLI

Visualizar definições de configuração para um ambiente

O comando a seguir recupera as definições de configuração de um ambiente chamado my-env:

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

Resultado (abreviado):

{ "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" } ] }

Para obter mais informações sobre namespaces e opções compatíveis, consulte Valores das opções no Guia do desenvolvedor do Elastic AWS Beanstalk.

O código de exemplo a seguir mostra como usar describe-environment-health.

AWS CLI

Visualizar a integridade do ambiente

O comando a seguir recupera informações gerais de integridade de um ambiente chamado my-env:

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

Saída:

{ "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": [] }

As informações de integridade só estão disponíveis para ambientes com relatórios de integridade aprimorados habilitados. Para obter informações adicionais, consulte Relatório e Monitoramento de Integridade Aprimorado no Guia do desenvolvedor do Beanstalk da AWS.

O código de exemplo a seguir mostra como usar describe-environment-resources.

AWS CLI

Visualizar informações sobre os recursos AWS em seu ambiente

O comando a seguir recupera informações sobre recursos em um ambiente chamado my-env:

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

Saída:

{ "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" } ] } }

O código de exemplo a seguir mostra como usar describe-environments.

AWS CLI

Visualizar informações sobre um ambiente

O comando a seguir recupera informações sobre um ambiente chamado my-env:

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

Saída:

{ "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" } ] }

O código de exemplo a seguir mostra como usar describe-events.

AWS CLI

Visualizar eventos de um ambiente

O comando a seguir recupera eventos sobre um ambiente chamado my-env:

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

Resultado (abreviado):

{ "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" } ] }
  • Para ver detalhes da API, consulte DescribeEvents na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar describe-instances-health.

AWS CLI

Visualizar a integridade do ambiente

O comando a seguir recupera informações de integridade para instâncias em um ambiente chamado my-env:

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

Saída:

{ "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" }

As informações de integridade só estão disponíveis para ambientes com relatórios de integridade aprimorados habilitados. Para obter informações adicionais, consulte Relatório e Monitoramento de Integridade Aprimorado no Guia do desenvolvedor do Beanstalk da AWS.

O código de exemplo a seguir mostra como usar list-available-solution-stacks.

AWS CLI

Visualizar as pilhas de soluções

O comando a seguir lista as pilhas de soluções para todas as configurações de plataforma disponíveis atualmente e todas as que você usou no passado:

aws elasticbeanstalk list-available-solution-stacks

Resultado (abreviado):

{ "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" }, ... ] }

O código de exemplo a seguir mostra como usar rebuild-environment.

AWS CLI

Reconstruir um ambiente

O comando a seguir encerra e recria os recursos em um ambiente chamado my-env:

aws elasticbeanstalk rebuild-environment --environment-name my-env
  • Para ver detalhes da API, consulte RebuildEnvironment na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar request-environment-info.

AWS CLI

Solicitar logs com falha

O comando a seguir solicita logs de um ambiente chamado my-env:

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

Depois de solicitar os logs, recupere a localização deles com retrieve-environment-info.

O código de exemplo a seguir mostra como usar restart-app-server.

AWS CLI

Reiniciar os servidores de aplicações

O comando a seguir reinicia os servidores de aplicações em todas as instâncias em um ambiente chamado my-env:

aws elasticbeanstalk restart-app-server --environment-name my-env
  • Para ver detalhes da API, consulte RestartAppServer na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar retrieve-environment-info.

AWS CLI

Recuperar logs com falha

O comando a seguir recupera um link para logs de um ambiente chamado my-env:

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

Saída:

{ "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" } ] }

Visualizar o link em um navegador. Antes da recuperação, os logs devem ser solicitados com request-environment-info.

O código de exemplo a seguir mostra como usar swap-environment-cnames.

AWS CLI

Alternar entre CNAMEs de ambientes

O comando a seguir alterna os subdomínios atribuídos de dois ambientes:

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

O código de exemplo a seguir mostra como usar terminate-environment.

AWS CLI

Encerrar um ambiente

O comando a seguir encerra um ambiente do Elastic Beanstalk chamado my-env:

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

Saída:

{ "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" }

O código de exemplo a seguir mostra como usar update-application-version.

AWS CLI

Alterar a descrição de uma versão da aplicação

O comando a seguir atualiza a descrição de uma versão da aplicação chamada 22a0-stage-150819_185942:

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

Saída:

{ "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" } } }

O código de exemplo a seguir mostra como usar update-application.

AWS CLI

Alterar a descrição de uma aplicação

O comando a seguir atualiza a descrição de uma aplicação chamada my-app:

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

Saída:

{ "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" } }
  • Para ver detalhes da API, consulte UpdateApplication na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar update-configuration-template.

AWS CLI

Atualizar um modelo de configuração

O comando a seguir remove a configuração das métricas de integridade personalizadas do CloudWatch ConfigDocument configurada de um modelo de configuração salvo chamado my-template:

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

Saída:

{ "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" }

Para obter mais informações sobre namespaces e opções compatíveis, consulte Valores das opções no Guia do desenvolvedor do Elastic AWS Beanstalk.

O código de exemplo a seguir mostra como usar update-environment.

AWS CLI

Atualizar um ambiente para uma nova versão

O comando a seguir atualiza um ambiente chamado “my-env” para a versão “v2" da aplicação à qual ele pertence:

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

Esse comando exige que o ambiente “my-env” já exista e pertença a uma aplicação que tenha uma versão válida da aplicação com o rótulo “v2".

Saída:

{ "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" }

Definir uma variável de ambiente

O comando a seguir define o valor da variável “PARAM1" no ambiente “my-env” como “ParamValue”:

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

O parâmetro option-settings usa um namespace além do nome e do valor da variável. O Elastic Beanstalk oferece suporte a vários namespaces para opções, além de variáveis de ambiente.

Definir as configurações de opção a partir de um arquivo

O comando a seguir configura várias opções no espaço de nome aws:elb:loadbalancer a partir de um arquivo:

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

options.json é um objeto JSON que define várias configurações:

[ { "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" } ]

Saída:

{ "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" }

Para obter mais informações sobre namespaces e opções compatíveis, consulte Valores das opções no Guia do desenvolvedor do Elastic AWS Beanstalk.

  • Para ver detalhes da API, consulte UpdateEnvironment na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar validate-configuration-settings.

AWS CLI

Validar as definições de configurações

O comando a seguir valida um documento de configuração de métricas personalizadas do CloudWatch:

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

options.json é um documento JSON que inclui uma ou mais configurações para validar:

[ { "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 as opções que você especificar forem válidas para o ambiente especificado, o Elastic Beanstalk retornará uma matriz de mensagens vazia:

{ "Messages": [] }

Se a validação falhar, a resposta incluirá informações sobre o erro:

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

Para obter mais informações sobre namespaces e opções compatíveis, consulte Valores das opções no Guia do desenvolvedor do Elastic AWS Beanstalk.