AWS Elastic Beanstalk
Guia do desenvolvedor

Definir as opções de configuração durante a criação do ambiente

Quando você cria um ambiente AWS Elastic Beanstalk usando o Console de gerenciamento da AWS, a EB CLI, a AWS CLI, um SDK ou a API do Elastic Beanstalk, pode especificar valores para as opções de configuração para personalizar seu ambiente e os recursos da AWS que são executados nele.

Para qualquer coisa diferente de uma alteração de configuração isolada, você pode armazenar os arquivos de configuração localmente, em seu pacote de origem ou no Amazon S3.

Este tópico inclui procedimentos para todos os métodos de definição de opções de configuração durante a criação do ambiente.

No Console de gerenciamento da AWS

Quando você cria um ambiente Elastic Beanstalk no Console de gerenciamento da AWS, você pode especificar as opções de configuração usando os arquivos de configuração, as configurações salvas e os formulários no assistente Create New Environment.

Uso dos arquivos de configuração (.ebextensions)

Inclua os arquivos .config em seu pacote de origem do aplicativo em uma pasta chamada .ebextensions.

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

Faça upload do pacote de origem para o Elastic Beanstalk normalmente durante a criação do ambiente.

O Console do Elastic Beanstalk aplica valores recomendados a algumas opções de configuração e tem campos de formulário para outras. As opções configuradas pelo Console do Elastic Beanstalk são aplicadas diretamente ao ambiente e substituem aquelas nos arquivos de configuração.

Uso de uma configuração salva

Quando você cria um novo ambiente usando o Console do Elastic Beanstalk, uma das primeiras etapas é escolher uma configuração. A configuração pode ser uma predefined configuration (configuração predefinida), normalmente a versão mais recente de uma Plataforma, como o PHP ou o Tomcat, ou pode ser uma saved configuration (configuração salva).

Para aplicar uma configuração salva durante a criação de um ambiente (Console de gerenciamento da AWS)

  1. Abra o Console do Elastic Beanstalk.

  2. Escolha o aplicativo.

  3. Escolha Saved Configurations.

  4. Escolha uma configuração salva e, em seguida, escolha Launch environment.

  5. Continue no assistente para criar seu ambiente.

As configurações salvas são específicas ao aplicativo. Consulte Configurações salvas para obter detalhes sobre como criar configurações salvas.

Uso do assistente de novo ambiente

A maioria das opções de configuração padrão estão disponíveis na página Configure more options (Configurar mais opções) do Assistente de configuração de novo ambiente. Se você criar um banco de dados do Amazon RDS ou configurar uma VPC para seu ambiente, as opções de configuração adicionais estarão disponíveis nas páginas desses recursos.

Para definir opções de configuração durante a criação do ambiente (Console de gerenciamento da AWS)

  1. Abra o Console do Elastic Beanstalk.

  2. Selecione ou crie um aplicativo.

  3. No menu suspenso Actions (Ações), escolha Create environment (Criar ambiente).

  4. Continue no assistente e escolha Configure more options (Configurar mais opções).

  5. Escolha qualquer uma das configuration presets (predefinições da configuração) e selecione Modify (Modificar) em uma ou mais das categorias de configuração para alterar um grupo de opções de configuração relacionado.

  6. Ao concluir as seleções das opções, escolha Create environment (Criar ambiente).

Todas as opções que você definir no assistente de novo ambiente serão definidas diretamente no ambiente e substituirão qualquer configuração de opção nas configurações salvas ou nos arquivos de configuração (.ebextensions) que você aplicar. Você poderá remover as configurações após a criação do ambiente usando a EB CLI ou a AWS CLI para permitir que as definições nas configurações salvas ou nos arquivos de configuração sejam exibidas.

Para obter detalhes sobre o novo assistente de ambiente, consulte O assistente Create New Environment.

Uso da EB CLI

Uso dos arquivos de configuração (.ebextensions)

Inclua os arquivos .config na pasta do seu projeto em .ebextensions para implantá-los com o código do seu aplicativo.

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

Crie seu ambiente e implante o código-fonte nele com eb create.

~/workspace/my-app$ eb create my-env

Uso das configurações salvas

Para aplicar uma configuração salva ao criar um ambiente com eb create, use a opção --cfg.

~/workspace/my-app$ eb create --cfg savedconfig

Você pode armazenar a configuração salva na pasta do projeto ou no local de armazenamento do Elastic Beanstalk no Amazon S3. No exemplo anterior, a EB CLI primeiro procura um arquivo de configuração salvo chamado savedconfig.cfg.yml na pasta .elasticbeanstalk/saved_configs/. Não inclua as extensões de arquivo (.cfg.yml) ao aplicar uma configuração salva com --cfg.

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

Se a EB CLI não encontrar a configuração localmente, ele procurará no local de armazenamento do Elastic Beanstalk no Amazon S3. Para obter detalhes sobre como criar, editar, e fazer upload das configurações salvas, consulte Configurações salvas.

Uso das opções de linha de comando

O comando eb create da EB CLI tem várias opções que você pode usar para definir as opções de configuração durante a criação do ambiente. Você pode usar essas opções para adicionar um banco de dados do RDS a seu ambiente, configurar uma VPC ou substituir os valores recomendados.

Por exemplo, a EB CLI usa o tipo de instância t2.micro por padrão. Para escolher um tipo de instância diferente, use a opção --instance_type.

$ eb create my-env --instance_type t2.medium

Para criar uma instância de banco de dados Amazon RDS e anexá-la ao seu ambiente, use as opções --database.

$ eb create --database.engine postgres --database.username dbuser

Se você não inserir o nome do ambiente, a senha do banco de dados ou qualquer outro parâmetro necessário para criar o ambiente, a EB CLI solicitará que você os insira.

Consulte eb create para obter uma lista completa de opções disponíveis e exemplos de uso.

Uso dos AWS CLI

Quando você usa o comando create-environment para criar um ambiente Elastic Beanstalk com a CLI AWS, ela não aplica nenhum valor recomendado. Todas as opções de configuração são definidas nos arquivos de configuração no pacote de origem especificado por você.

Uso dos arquivos de configuração (.ebextensions)

Para aplicar os arquivos de configuração a um ambiente que você criar com a AWS CLI, inclua-os no pacote de origem do aplicativo do qual que você fizer upload para o Amazon S3.

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

Para fazer upload de um pacote de origem do aplicativo e criar um ambiente com a AWS CLI

  1. Se você ainda não tiver um bucket do Elastic Beanstalk no Amazon S3, crie um com create-storage-location.

    $ aws elasticbeanstalk create-storage-location { "S3Bucket": "elasticbeanstalk-us-west-2-123456789012" }
  2. Faça upload do pacote de origem do aplicativo para o Amazon S3.

    $ aws s3 cp sourcebundle.zip s3://elasticbeanstalk-us-west-2-123456789012/my-app/sourcebundle.zip
  3. Crie a versão do aplicativo.

    $ aws elasticbeanstalk create-application-version --application-name my-app --version-label v1 --description MyAppv1 --source-bundle S3Bucket="elasticbeanstalk-us-west-2-123456789012",S3Key="my-app/sourcebundle.zip" --auto-create-application
  4. Crie o ambiente:

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

Uso de uma configuração salva

Para aplicar uma configuração salva a um ambiente durante a criação, use o parâmetro --template-name.

$ aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --template-name savedconfig --version-label v1

Quando você especificar uma configuração salva, não especifique também o nome da pilha da solução. As configurações salvas já especificam uma pilha da solução, e o Elastic Beanstalk retornará um erro se você tentar usar as duas opções.

Uso das opções de linha de comando

Use o parâmetro --option-settings para especificar as opções de configuração no formato JSON.

$ aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --version-label v1 --template-name savedconfig --option-settings '[ { "Namespace": "aws:elasticbeanstalk:application", "OptionName": "Application Healthcheck URL", "Value": "/health" } ]

Para carregar o JSON de um arquivo, use o prefixo file://.

$ aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --version-label v1 --template-name savedconfig --option-settings file://healthcheckurl.json

O Elastic Beanstalk aplica as configurações de opção que você especifica com a opção --option-settings diretamente ao seu ambiente. Se as mesmas opções forem especificadas em uma configuração salva ou arquivo de configuração, --option-settings substituirá esses valores.