AWS Elastic Beanstalk
Guia do desenvolvedor

Personalização avançada de ambiente com arquivos de configuração (.ebextensions)

Você pode adicionar arquivos de configuração do AWS Elastic Beanstalk (.ebextensions) ao código-fonte do aplicativo Web para configurar o ambiente e personalizar os recursos da AWS que ele contém. Os arquivos de configuração são documentos formatados em YAML ou em JSON com uma extensão de arquivo .config que você coloca em uma pasta chamada .ebextensions e implanta em seu pacote de origem do aplicativo.

Recomendamos usar o YAML para seus arquivos de configuração, pois é mais legível do que o JSON. YAML é compatível com comentários, comandos de várias linhas, várias alternativas para usar aspas e muito mais. No entanto, você pode fazer qualquer alteração de configuração em arquivos de configuração do Elastic Beanstalk igual usando YAML ou JSON.

Dica

Quando você estiver desenvolvendo ou testando novos arquivos de configuração, inicie um ambiente limpo executando o aplicativo padrão e implante nele. Arquivos de configuração formatados incorretamente causarão falha irrecuperável do início de um novo ambiente.

A seção option_settings de um arquivo de configuração define valores para as opções de configuração. As opções de configuração permitem configurar o ambiente Elastic Beanstalk, os recursos da AWS e o software que executa seu aplicativo. Os arquivos de configuração são apenas uma das várias maneiras de definir as opções de configuração.

A seção Resources permite personalizar ainda mais os recursos no ambiente do aplicativo e definir recursos adicionais da AWS, além da funcionalidade fornecida pelas opções de configuração. Você pode adicionar e configurar quaisquer recursos compatíveis com o AWS CloudFormation, que o Elastic Beanstalk usa para criar ambientes.

As outras seções do arquivo de configuração (packages, sources, files, users, groups, commands, container_commandse services) permitem configurar as instâncias do EC2 que são iniciadas no ambiente. Sempre que um servidor é iniciado no ambiente, o Elastic Beanstalk executa as operações definidas nessas seções para preparar o sistema operacional e o sistema de armazenamento para o seu aplicativo.

Para obter exemplos de .ebextensions comumente usados, consulte os Arquivos de configuração do repositório do Elastic Beanstalk.

Requisitos

  • Location – Coloque todos os seus arquivos de configuração em uma única pasta, denominada .ebextensions, na raiz do seu pacote de origem. Pastas que começam com um ponto podem ser ocultas por navegadores de arquivos, portanto, certifique-se de que a pasta é adicionada quando você criar seu pacote de origem. Consulte Criar um pacote de origem do aplicativo para obter instruções.

  • Naming – Os arquivos de configuração devem ter a extensão de arquivo .config.

  • Formatting – Os arquivos de configuração devem ser compatíveis com as especificações de YAML ou JSON.

    Ao usar o YAML, sempre use espaços para recuar as chaves em diferentes níveis de aninhamento. Para obter mais informações sobre YAML, consulte YAML Ain't Markup Language (YAML™) versão 1.1.

  • Uniqueness – Use cada chave somente uma vez em cada arquivo de configuração.

    Aviso

    Se você usar uma chave (por exemplo, option_settings) duas vezes no mesmo arquivo de configuração, uma das seções será descartada. Combine seções duplicadas em uma única seção ou coloque-as em arquivos de configuração separados.

O processo de implantação varia ligeiramente, dependendo do cliente que você usa para gerenciar seus ambientes. Para detalhes, consulte estas seções: