Ir para o conteúdo

Como uso .ebextensions para personalizar meu ambiente do Elastic Beanstalk?

5 minuto de leitura
0

Quero usar .ebextensions para personalizar meu ambiente do AWS Elastic Beanstalk.

Resolução

Observação: Se você receber mensagens de erro ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.

Configure seu diretório .ebextensions

Conclua as seguintes etapas:

  1. Na raiz do pacote da sua aplicação, crie um diretório oculto chamado .ebextensions.
  2. Armazene seus arquivos de configuração nesse diretório. O pacote de código-fronte da sua aplicação assemelha-se ao seguinte exemplo:
    ~/workspace/my-application/
    |-- .ebextensions
    |   |-- 01-server-configuration.config
    |   `-- 02-asg-healthcheck.config
    |-- index.php
    `-- styles.css
    Observação: O Elastic Beanstalk processa os arquivos de configuração no diretório .ebextensions em ordem alfabética. Use prefixos numerados nos nomes dos seus arquivos para controlar a ordem das configurações.

Personalizar seu ambiente do Elastic Beanstalk

Para modificar a configuração do seu ambiente, use a chave option_settings.

Se você criar ou atualizar um ambiente com o console do Elastic Beanstalk ou o Elastic Beanstalk Command Line Interface (EB CLI), esses clientes aplicarão os valores recomendados. Os valores recomendados são definidos no nível da API e têm a maior precedência. Não é possível usar option_settings para alterar a configuração.

As regras de precedência podem impedir que suas modificações de option_settings se apliquem à configuração do ambiente. Para remover as configurações que o Elastic Beanstalk aplicou diretamente ao ambiente durante a criação do ambiente, use a operação da API UpdateEnvironment do Elastic Beanstalk. Ou você pode usar o seguinte comando update-environment da AWS CLI:

aws elasticbeanstalk update-environment --application-name applicationname --environment-name environmentnamename --options-to-remove Namespace=aws:elasticbeanstalk:application:environment,OptionName==yourpropertyname

Observação: Substitua applicationname pelo nome da aplicação, environmentname pelo nome do ambiente e yourpropertyname pelo nome da propriedade.

Se você não puder usar option_settings para alterar sua configuração, use a chave Resources para personalizar recursos em seu ambiente do Elastic Beanstalk.

O Elastic Beanstalk adiciona os recursos que você define nos arquivos de configuração ao modelo do AWS CloudFormation que inicia seu ambiente. O modelo do CloudFormation é compatível com todos os tipos de recursos do CloudFormation. Para obter mais informações sobre nomes lógicos de recursos, consulte Modifying the resources that Elastic Beanstalk creates for your environment.

Os arquivos de configuração devem ter a extensão de arquivo .config e usar o formato YAML ou JSON.

Se seu arquivo de configuração usar o formato YAML, certifique-se de que ele use espaços consistentes para indentação. A indentação incorreta pode causar falhas na implantação.

Use as teclas para personalizar o software em servidores Linux ou Windows. Use cada chave somente uma vez em cada arquivo de configuração.

Para plataformas baseadas no Amazon Linux 2 e no Amazon Linux 2023, é uma prática recomendada usar Buildfile, Procfile e hooks de plataforma para executar código personalizado durante o provisionamento da instância. Você ainda pode usar commands e container_commands em seus arquivos de configuração. Para obter mais informações, consulte Como uso hooks de plataforma para personalizar meu ambiente do Elastic Beanstalk?

Ao implantar sua aplicação no Elastic Beanstalk, use seus arquivos de configuração .ebextensions para personalizar as instâncias do Amazon Elastic Compute Cloud (Amazon EC2). Para exemplos de arquivos de configuração, consulte elastic-beanstalk-samples no site do GitHub.

Para usar .ebextensions para configurar HTTPS para seu ambiente, consulte Configuring HTTPS for your Elastic Beanstalk environment.

Aplicar configurações personalizadas à sua aplicação

Crie um pacote de código-fronte da aplicação que inclua seus arquivos de configuração e, em seguida, implante sua aplicação atualizada.

Observação: As ferramentas de arquivamento de arquivos podem não incluir diretórios ocultos ao criar um arquivo ZIP. Os navegadores de arquivos podem ocultar pastas que começam com um ponto, como .ebextensions. Inclua a pasta .ebextensions na raiz do pacote da sua aplicação ao criar o pacote de código-fonte da aplicação.

Solucionar problemas de configuração de .ebextensions

Se o Elastic Beanstalk não aplicar sua configuração de .ebextensions após a implantação, execute as seguintes ações:

Verifique a localização do diretório e a extensão do arquivo

Revise os eventos recentes do ambiente no console do Elastic Beanstalk. As mensagens de implantação e configuração do Elastic Beanstalk aparecem na página Eventos. Confirme se você configurou o diretório .ebextensions na raiz do seu pacote de código-fonte e se seus arquivos de configuração usam a extensão de arquivo .config.

Revisar os logs de implantação

Conecte-se à sua instância do Amazon EC2 e verifique se há erros de /var/log/eb-engine.log, falhas de inicialização ou problemas de implantação relacionados aos seus arquivos de configuração. Verifique também /var/log/cfn-init.log e /var/log/cfn-init-cmd.log para ver os resultados da implantação.

Para ver os logs de implantação, consulte Viewing deployment logs in the console.

Para recuperar logs, consulte To retrieve instance logs em Viewing logs from Amazon EC2 instances in your Elastic Beanstalk environment.

Desfazer alterações recentes na configuração

Se sua alteração na configuração de .ebextensions tiver causado uma falha na implantação, reimplante a versão da sua aplicação.

Informações relacionadas

Solução de problemas do seu ambiente do Elastic Beanstalk

AWS OFICIALAtualizada há 13 dias