Como faço para passar variáveis do meu ambiente do Elastic Beanstalk para instâncias Linux e Windows?
Quero passar variáveis do meu ambiente AWS Elastic Beanstalk para instâncias Linux e Windows do Amazon Elastic Compute Cloud (Amazon EC2).
Breve descrição
Você pode passar variáveis de ambiente para instâncias do Amazon EC2 usando o seguinte:
- Console Elastic Beanstalk
- Interface de linha de comando (EB CLI) do Elastic Beanstalk
- Configurações de opções
- AWS Command Line Interface (AWS CLI)
Observação: se você receber erros ao executar comandos da AWS CLI, certifique-se de estar utilizando a versão mais recente da AWS CLI.
Resolução
Importante: para passar informações confidenciais (como senha de banco de dados) para a instância, siga as instruções em Armazenar chaves privadas com segurança no Amazon S3.
Passar suas variáveis de ambiente
Escolha uma das seguintes formas de passar suas variáveis de ambiente.
Usar o console do Elastic Beanstalk
Para transmitir suas variáveis de ambiente usando o console, siga as instruções em Configurar propriedades do ambiente.
Importante: certifique-se de levar em consideração limites de propriedade ambiental.
Usar a EB CLI
Para definir uma variável de ambiente na EB CLI, execute o seguinte comando:
eb setenv key=value
No exemplo a seguir, a variável de ambiente ExampleVar é definida:
$ eb setenv ExampleVar=ExampleValue 2018-07-11 21:05:25 INFO: Environment update is starting. 2018-07-11 21:05:29 INFO: Updating environment tmp-dev's configuration settings. 2018-07-11 21:06:50 INFO: Successfully deployed new configuration to environment. 2018-07-11 21:06:51 INFO: Environment update completed successfully.
Para definir várias propriedades do ambiente, use o seguinte comando:
$ eb setenv foo=bar JDBC_CONNECTION_STRING=hello PARAM4= PARAM5=
Usar as configurações de opção
Você pode usar os arquivos de configuração do Elastic Beanstalk para definir as propriedades do ambiente e as opções de configuração no seu código-fonte.
Para definir as propriedades do ambiente, use o namespace aws:elasticbeanstalk:application:environment.
Veja o seguinte exemplo de .ebextensions/options.config:
option_settings: aws:elasticbeanstalk:application:environment: API_ENDPOINT: www.example.com/api
Para definir as propriedades do ambiente na CLI da AWS, execute o seguinte comando:
$ aws elasticbeanstalk update-environment --environment-name my-env --option-settings file://options.json
Por exemplo:
[ { "Namespace": "aws:elasticbeanstalk:application:environment", "OptionName": "API_ENDPOINT", "Value": "www.example.com/api" }, { "Namespace": "aws:elasticbeanstalk:application:environment", "OptionName": "URL", "Value": "http://myurl.com" } ]
Acessar suas variáveis de ambiente
Observação: as propriedades do ambiente não são exportadas automaticamente para o shell, mesmo estando presentes na instância. Em vez disso, as propriedades do ambiente são disponibilizadas para o aplicativo por meio da pilha em que ele é executado, com base na plataforma que você está usando.
Para acessar suas variáveis de ambiente, consulte Acessar as propriedades do ambiente.
Para acessar suas variáveis de ambiente fora do código do aplicativo (por exemplo, em um script executado durante a implantação), use o script da plataforma get.config ou Fn::GetOptionSetting.
Para instâncias do Windows, as propriedades do ambiente são passadas de C:\ProgramFiles\Amazon\ElasticBeanstalk\config\containerconfiguration para o servidor Microsoft Internet Information Services (IIS). Aviso: a localização desse arquivo está sujeita à estrutura do Elastic Beanstalk e pode ser alterada sem aviso prévio.
Conteúdo relevante
- AWS OFICIALAtualizada há um ano
- AWS OFICIALAtualizada há 8 meses
- AWS OFICIALAtualizada há 2 anos