Como posso personalizar meu ambiente do Elastic Beanstalk usando ganchos de plataforma?

3 minuto de leitura
0

Quero personalizar meu ambiente do AWS Elastic Beanstalk usando ganchos de plataforma para criar scripts personalizados ou outros arquivos executáveis. Quero implantá-los em minhas instâncias do Amazon Elastic Compute Cloud (Amazon EC2) em execução no ambiente.

Breve descrição

Você pode usar ganchos de plataforma para estender a funcionalidade do ambiente do Elastic Beanstalk para executar scripts personalizados e arquivos executáveis. O Elastic Beanstalk também pode executar esses ganchos durante várias fases de provisionamento de instâncias.

Observação: os ganchos de plataforma não são compatíveis com as versões da plataforma Amazon Linux AMI (anteriores ao Amazon Linux 2).

Existem dois tipos de ganchos de plataforma:

  • Os ganchos de plataforma de implantação de aplicações são executados durante a implantação de uma aplicação quando você fornece um novo pacote de origem para implantação. Eles também são executados quando você faz uma alteração na configuração que exige o encerramento e a recriação de todas as instâncias do ambiente.
  • Os ganchos de plataforma de implantação de configuração são executados durante uma implantação de configuração quando você faz alterações na configuração que atualizam apenas as instâncias do ambiente sem recriá-las.

Resolução

Configurar o diretório .platform

1.    Na raiz do seu pacote de aplicações, crie um diretório oculto chamado ‘.platform/hooks’ ou ‘.platform/confighooks’para os ganchos de plataforma de implantação de aplicações e de configuração, respectivamente.

2.    Dependendo do estágio de provisionamento da instância em que eles são executados, você deve colocar os arquivos hook em um dos seguintes subdiretórios:

  • prebuild
  • predeploy
  • postdeploy

Para identificar os subdiretórios necessários para seu caso de uso, consulte Estender as plataformas Linux do Elastic Beanstalk.

3.    O pacote de origem da sua aplicação deve ser semelhante ao pacote a seguir:

~/workspace/my-application/
|-- .platform
    |--hooks
       |--prebuild
          |-- custom-prebuild-script.sh
       |--predeploy
          |-- custom-predeploy-script.sh
       |--postdeploy
          |-- custom-postdeploy-script.sh
|-- .ebextensions
|-- index.php
         `-- styles.css

Especificar os arquivos hook

Ao criar os arquivos hooks, lembre-se das seguintes informações:

  • Os arquivos hook podem ser arquivos binários ou arquivos de script que começam com uma linha “#!” e contêm seu caminho do intérprete, como “#!/bin/bash”. Para ver um exemplo de conteúdo dentro de um arquivo de script, como “custom-postdeploy-script.sh”, consulte o arquivo a seguir:
#!/bin/bash
sudo su
cd /var/app/current
echo "Hello from AWS hook" >> 'test.txt'
  • Use “chmod +x” em sua máquina local para definir permissões de execução em seus arquivos hook. Ou você pode usar “.ebextensions” para fornecer as permissões. Veja o seguinte exemplo de arquivo:
container_commands:
  01_chmod1:
    command: "chmod +x .platform/hooks/postdeploy/custom-postdeploy-script.sh"

Para obter mais informações, consulte How do I customize my Elastic Beanstalk environment using .ebextensions? (Como personalizo meu ambiente do Elastic Beanstalk usando .ebextensions?)

Aplicar os ganchos de plataforma em sua aplicação

1.    Crie um pacote de origem da aplicação que inclua os ganchos de plataforma e os arquivos de configuração anteriores.

Observação: os navegadores de arquivos podem ocultar pastas que começam com um ponto, como .platform e .ebextensions. Para manter essas pastas visíveis, inclua-as na raiz do pacote de aplicações ao criar o pacote de origem de aplicações.

2.    Implantar aplicações em ambientes do Elastic Beanstalk


AWS OFICIAL
AWS OFICIALAtualizada há um ano