Como eu visualizo as variáveis de ambiente RDS_ prefixadas no AWS ElasticBeanstalk?

4

Se você configurar o RDS com o ElasticBeanstalk, como você pode ir para a caixa (via eb ssh ) e visualizar as variáveis de ambiente que são definidas quando você aplica o RDS à sua Instância do EB?

A Amazon configura automaticamente essas variáveis de ambiente.

  • RDS_DB_NAME
  • RDS_USERNAME
  • RDS_PASSWORD
  • RDS_HOSTNAME
  • RDS_PORT

Parece que você só pode ver no processo que executa seu aplicativo.

Eu gostaria de ver estes através do terminal de alguma forma, o comando eb printenv não os mostra.

    
por ThomasReggi 15.04.2016 / 17:27

3 respostas

7

Veja como fazer isso.

Primeiro ssh na instância eb.

eb ssh

Em seguida, o seguinte comando

sudo /opt/elasticbeanstalk/bin/get-config environment --output YAML

Como alternativa, --output YAML pode ser --output json .

Ou, se você quiser, pode enviar as variáveis para um comando de nó como este:

#!/usr/bin/env node
var strings = []
process.stdin.resume()
process.stdin.setEncoding('utf8')
process.stdin.on('data', function(data) {
  var json = JSON.parse(data)
  for (var key in json) {
    var val = json[key]
    strings.push(key + '="' + val + '"')
  }
})
process.stdin.on('end', function() {
  var output = strings.join('\n')
  process.stdout.write(output)
})

E use source para que os scripts .ebextension tenham acesso às variáveis env.

    
por 15.04.2016 / 22:30
1

Apenas simples.

Você deve ir para as configurações de ambiente do aplicativo atual que está sendo executado sobre seu pé de feijão elástico.

Primeiro, ssh na instância do pé de feijão elástico como a resposta acima.

ssh eb

Se você quiser mostrar as variáveis de ambiente relacionadas ao RDS (como RDS_DB_NAME ), então

cat /opt/python/current/env

Você também verá algumas variáveis de aws:elasticbeanstalk:application:environment em option_settings juntas, digitadas antes.

Além disso, se você quiser aplicar essas variáveis de ambiente,

source /opt/python/current/env

E você pode ver essas variáveis fazendo o script env

    
por 16.11.2017 / 03:45
0

Aqui está minha versão que adiciona os vars à sessão atual

sudo /opt/elasticbeanstalk/bin/get-config environment --output yaml | sed -n '1!p' | sed -e 's/^\(.*\): /=/g' | sed -e 's/^/export /' > env.sh; source env.sh

Ele descarta um arquivo temporário, mas funciona.

    
por 15.11.2017 / 19:50