

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Definir as opções de configuração antes da criação do ambiente
<a name="environment-configuration-methods-before"></a>

AWS Elastic Beanstalk suporta um grande número de [opções de configuração](command-options.md) que permitem modificar as configurações aplicadas aos recursos em seu ambiente. Várias dessas opções têm valores padrão que podem ser substituídos para personalizar o ambiente. Outras opções podem ser configuradas para ativar recursos adicionais.

O Elastic Beanstalk é compatível com dois métodos de salvamento das definições de opção de configuração. Os arquivos de configuração no formato JSON ou YAML podem ser incluídos no código-fonte do aplicativo em um diretório chamado `.ebextensions` e implantados como parte do seu pacote de origem do aplicativo. Crie e gerencie os arquivos de configuração localmente.

Configurações salvas são modelos que você cria em um ambiente em execução ou no arquivo de opções do JSON e armazena no Elastic Beanstalk. As configurações salvas existentes também podem ser estendidas para criar uma nova configuração.

**nota**  
As configurações definidas nos arquivos de configuração e as configurações salvas têm menor precedência do que as configurações definidas durante ou após a criação do ambiente, inclusive os valores recomendados aplicados pelo console do Elastic Beanstalk e pela [CLI do EB](eb-cli3.md). Para mais detalhes, consulte [Precedência](command-options.md#configuration-options-precedence).

As opções também podem ser especificadas em um documento JSON e fornecidas diretamente ao Elastic Beanstalk quando você criar ou atualizar um ambiente com a EB CLI ou a AWS CLI. As opções fornecidas diretamente ao Elastic Beanstalk dessa forma substituem todos os outros métodos.

Para uma lista completa de opções disponíveis, consulte [Opções de configuração](command-options.md).

**Topics**
+ [Arquivos de configuração (`.ebextensions`)](#configuration-options-before-ebextensions)
+ [Configurações salvas](#configuration-options-before-savedconfig)
+ [Documento JSON](#configuration-options-before-json)
+ [Configuração da EB CLI](#configuration-options-before-configyml)

## Arquivos de configuração (`.ebextensions`)
<a name="configuration-options-before-ebextensions"></a>

Use `.ebextensions` para configurar as opções necessárias ao funcionamento do aplicativo e forneça valores padrão para outras opções que podem ser substituídas em um nível mais alto de [precedência](command-options.md#configuration-options-precedence). As opções especificadas em `.ebextensions` têm o nível mais baixo de precedência e são substituídas por configurações de qualquer outro nível.

Para usar arquivos de configuração, crie uma pasta chamada `.ebextensions` no nível superior do código-fonte do projeto. Adicione um arquivo com a extensão `.config` e especifique opções da seguinte maneira:

```
option_settings:
  - namespace:  namespace
    option_name:  option name
    value:  option value
  - namespace:  namespace
    option_name:  option name
    value:  option value
```

Por exemplo, o seguinte arquivo de configuração define o URL de verificação de integridade do aplicativo como `/health`:

`healthcheckurl.config`

```
option_settings:
  - namespace:  aws:elasticbeanstalk:application
    option_name:  Application Healthcheck URL
    value:  /health
```

Em JSON:

```
{
 "option_settings" :
    [
      {
        "namespace" : "aws:elasticbeanstalk:application",
        "option_name" : "Application Healthcheck URL",
        "value" : "/health"
      }
    ]
}
```

Isso configura o balanceador de carga do Elastic Load Balancing no ambiente do Elastic Beanstalk para fazer uma solicitação HTTP para o caminho `/health` para cada instância do EC2 para determinar se ela está íntegra ou não.

**nota**  
YAML depende de um recuo consistente. Compare o nível de recuo ao substituir o conteúdo em um arquivo de configuração de exemplo e se confira se o editor de texto usa espaços, e não caracteres de tabulação, como recuo.

Inclua o diretório `.ebextensions` em seu [Pacote de origem da aplicação](applications-sourcebundle.md) e implante-o no ambiente do Elastic Beanstalk novo ou já existente.

Os arquivos de configuração oferecem suporte a várias seções, além de `option_settings` para personalizar o software e arquivos que são executados nos servidores em seu ambiente. Para obter mais informações, consulte [.Ebextensions](ebextensions.md).

## Configurações salvas
<a name="configuration-options-before-savedconfig"></a>

Crie uma configuração salva para salvar as configurações aplicadas a um ambiente existente durante ou após a criação do ambiente, usando o console do Elastic Beanstalk, a EB CLI ou a AWS CLI. As configurações salvas pertencem a um aplicativo e podem ser aplicadas a ambientes novos ou existentes desse aplicativo.

**Topics**
+ [Console do Elastic Beanstalk](#configuration-options-before-savedconfig-console)
+ [EB CLI](#configuration-options-before-savedconfig-ebcli)
+ [AWS CLI](#configuration-options-before-savedconfig-awscli)

### Console do Elastic Beanstalk
<a name="configuration-options-before-savedconfig-console"></a>

**Como criar uma configuração salva (console do Elastic Beanstalk)**

1. Abra o console do [Elastic](https://console.aws.amazon.com/elasticbeanstalk) Beanstalk e, **na** lista Regiões, selecione sua. Região da AWS

1. No painel de navegação, selecione **Ambientes** e selecione o nome do ambiente na lista.

1. Escolha **Actions** (Ações) e depois **Save Configuration** (Salvar configuração).

1. Use a caixa de diálogo na tela para concluir a ação.

As configurações salvas são armazenadas no bucket do S3 do Elastic Beanstalk em uma pasta com o mesmo nome da sua aplicação. Por exemplo, as configurações de uma aplicação chamada `my-app` na região us-west-2 da conta número 123456789012 podem ser encontradas em `s3://elasticbeanstalk-us-west-2-123456789012/resources/templates/my-app`.

### EB CLI
<a name="configuration-options-before-savedconfig-ebcli"></a>

A [EB CLI](eb-cli3.md) também fornece subcomandos para interagir com configurações salvas em [**eb config**](eb3-config.md):

**Para criar uma configuração salva (EB CLI)**

1. Salve a configuração atual associada ao ambiente:

   ```
   ~/project$ eb config save --cfg my-app-v1
   ```

   A EB CLI salva a configuração em `~/project/.elasticbeanstalk/saved_configs/my-app-v1.cfg.yml`

1. Modifique a configuração salva localmente, se necessário.

1. Faça upload da configuração salva no S3:

   ```
   ~/project$ eb config put my-app-v1
   ```

### AWS CLI
<a name="configuration-options-before-savedconfig-awscli"></a>

Crie uma configuração salva de um ambiente em execução com `aws elasticbeanstalk create-configuration-template`

**Para criar uma configuração salva (AWS CLI)**

1. Identifique o ID do ambiente do Elastic Beanstalk com `describe-environments`:

   ```
   $ aws elasticbeanstalk describe-environments --environment-name my-env
   {
       "Environments": [
           {
               "ApplicationName": "my-env",
               "EnvironmentName": "my-env",
               "VersionLabel": "89df",
               "Status": "Ready",
               "Description": "Environment created from the EB CLI using \"eb create\"",
               "EnvironmentId": "e-vcghmm2zwk",
               "EndpointURL": "awseb-e-v-AWSEBLoa-1JUM8159RA11M-43V6ZI1194.us-west-2.elb.amazonaws.com",
               "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.2 running Multi-container Docker 1.7.1 (Generic)",
               "CNAME": "my-env-nfptuqaper.elasticbeanstalk.com",
               "Health": "Green",
               "AbortableOperationInProgress": false,
               "Tier": {
                   "Version": " ",
                   "Type": "Standard",
                   "Name": "WebServer"
               },
               "HealthStatus": "Ok",
               "DateUpdated": "2015-10-01T00:24:04.045Z",
               "DateCreated": "2015-09-30T23:27:55.768Z"
           }
       ]
   }
   ```

1. Salve a configuração atual do ambiente com `create-configuration-template`:

   ```
   $ aws elasticbeanstalk create-configuration-template --environment-id e-vcghmm2zwk --application-name my-app --template-name v1
   ```

O Elastic Beanstalk salva a configuração no bucket do Elastic Beanstalk no Amazon S3.

## Documento JSON
<a name="configuration-options-before-json"></a>

Se você usar o AWS CLI para criar e atualizar ambientes, também poderá fornecer opções de configuração no formato JSON. Uma biblioteca de arquivos de configuração em JSON é útil se você usar o AWS CLI para criar e gerenciar ambientes.

Por exemplo, o seguinte documento JSON define o URL de verificação de integridade do aplicativo como `/health`:

**\$1/ebconfigs/healthcheckurl.json**

```
[
  {
    "Namespace": "aws:elasticbeanstalk:application",
    "OptionName": "Application Healthcheck URL",
    "Value": "/health"
  }
]
```

## Configuração da EB CLI
<a name="configuration-options-before-configyml"></a>

Além de ser compatível com configurações salvas e configuração de ambiente direta com comandos **eb config**, a CLI do EB tem um arquivo de configuração com uma opção chamada `default_ec2_keyname` que pode ser usada para especificar um par de chaves do Amazon EC2 para acesso SSH a instâncias do ambiente. A EB CLI usa essa opção para definir a opção de configuração `EC2KeyName` no namespace `aws:autoscaling:launchconfiguration`. 

**\$1/.yml workspace/my-app/.elasticbeanstalk/config**

```
branch-defaults:
  master:
    environment: my-env
  develop:
    environment: my-env-dev
deploy:
  artifact: ROOT.war
global:
  application_name: my-app
  default_ec2_keyname: my-keypair
  default_platform: Tomcat 8 Java 8
  default_region: us-west-2
  profile: null
  sc: git
```