É possível obter metadados sobre o ambiente do Elastic Beanstalk a partir da instância do EC2

3

Gostaria de extrair informações sobre o ambiente atual do beanstalk elástico da minha instância do EC2, para que eu possa incluir essas informações em emails de erro enviados dos meus servidores.

Por exemplo, saber o nome do ambiente atual e o rótulo da versão do código implantado seriam úteis. Alguém sabe fazer isso programaticamente? Eu sei que já existe uma API para recuperar informações do EC2, como nome de host público e ID-AMI, etc., mas não consigo encontrar nada para o pé de feijão elástico.

Atualmente, minha solução é definir manualmente algumas variáveis de ambiente que meu aplicativo pode ler, mas obviamente isso é trabalhoso.

    
por wjin 21.09.2014 / 01:45

1 resposta

4

Eu descobri algo. Para aqueles que estão curiosos:

Eu posso pegar informações da instância do EC via http://169.254.169.254/latest/meta-data/ . Em particular, quero meu id de instância do EC2

Eu posso determinar uma lista de todos os meus ambientes de beans de feijão por describe-environments

Para cada ambiente, posso executar describe-environment-resources . Essa chamada retorna uma lista de instâncias, às quais posso corresponder o ID da instância da instância atual. Assim, posso descobrir o nome do meu ambiente.

Por fim, posso me referir ao resultado de describe-environments para determinar também um rótulo de versão para o código atualmente implantado.

Antes que eu possa fazer nada disso, preciso configurar minhas instâncias do ec2 para ter acesso às informações do beanstalk elástico. Eu posso fazer isso atribuindo a política de acesso correta à função associada às minhas instâncias ec2 e pegando as informações de autenticação, novamente por meio dos metadados da instância em http://169.254.169.254/latest/meta-data/

Como estou usando a biblioteca python boto , todas as operações descritas acima já possuem funções de biblioteca pré-preparadas para realizá-las para mim.

guh

Eu ainda não o codifiquei, mas se eu conseguir fazê-lo funcionar, postarei um recorte aqui

Editar código de trabalho

    
por 21.09.2014 / 02:49