Existem algumas opções diferentes, cada uma com suas próprias armadilhas:
1. Adicionando Variáveis de Ambiente à Configuração do EB
Quando dentro de seu ambiente, navegue até a seção Configuração e, em seguida, Configuração de software. Lá você verá uma lista de variáveis de ambiente e na parte inferior você pode listar suas próprias variáveis personalizadas. A desvantagem disso é que agora existe uma maneira de mapear dinamicamente os valores das variáveis de ambiente da AWS. Se um valor na AWS for alterado, você precisará atualizar manualmente o seu. É mais provável que isso aconteça no caso de você atualizar / fazer o downgrade do seu banco de dados. Portanto, você desejará atualizar o host do banco de dados para o novo ponto de extremidade do RDS. (NOTA: Isto é baseado em opções disponíveis para ambientes PHP. Eu já vi variações para outros idiomas, mas pode ser uma documentação antiga.)
2. Adicionando um script de implantação de postagem
Isso é um pouco trabalhoso com o beanstalk, mas é possível executar scripts pós-implantação. Eu não vou entrar em grande detalhe, mas basicamente você vai precisar adicionar scripts post deploy como descrito neste article para um bean de bean padrão ami. Em seguida, você precisará copiar a instância como uma nova ami e alterná-la nas instâncias do beanstalk para usá-la por padrão. No script post deploy, você pode adicionar o mapeamento às suas variáveis de ambiente.
3. Adicionando o mapeamento ao seu código
Eu sei que você não quer fazer isso, mas acho que isso seria a menor quantidade de dor de cabeça para você. Eu incluí um exemplo muito simples no PHP. Tenha cuidado ao trocar o $ _ENV e o getenv () / putenv () / $ _ SERVER se você usar o PHP, pois eles são extraídos de diferentes fontes e podem ser alterados independentemente.
<?php
if(getenv('RDS_VAR')) {
putenv('NEW_VAR', getenv('RDS_VAR'))
}
?>
Considerações finais
Eu uso uma combinação de 1 e 3 ao implantar um aplicativo no Beanstalk, pois ele oferece mais flexibilidade ao lidar com variáveis de ambiente dinâmicas. Primeiro mapeio os valores para a configuração de meus aplicativos, conforme descrito no item 3, se quiser planejar a possibilidade de trocar o ponto de extremidade, a senha ou o nome de usuário do RDS, posso adicionar variáveis de ambiente como mencionado em # 1 e colocar substituições em meu env AWS mapeamento. Isso me permite ficar em sincronia com as variáveis de ambiente da AWS, mas também substituí-las manualmente na configuração do software, se eu precisar trocar o banco de dados por um backup.