Como posso obter a configuração gerada pelo Puppet para incluir nomes de host internos de outras instâncias do ec2 na minha pilha do CloudFormation?

3

Eu tenho uma pilha gerada pelo AWS CloudFormation que inclui uma instância do EC2 (executando o Ubuntu 14.04) e uma instância do RDS (banco de dados). Ambos estão dentro de um VPC, que inclui um mestre de marionetes (não como parte da pilha de formação de nuvens):

----------------- VPC --------------------
+-----+       +-----+    +---------------+
| EC2 | <---> | RDS |    | Puppet master |
+-----+       +-----+    +---------------+

Eu quero fantocalizar o nó EC2, escrevendo uma configuração para o servidor da Web e o aplicativo, incluindo as informações de conexão do banco de dados, parte das quais é o nome do host interno da instância do RDS.

A questão é como posso fazer com que o puppetmaster compile o modelo para a configuração da aplicação se ele precisar saber o nome do host interno do nó do RDS.

Eu sou novo na maioria dessas tecnologias, especialmente no CloudFormation e no Puppet. Até agora eu tenho pensado em algumas soluções, mas queria um pouco de orientação e me perguntei se tinha perdido algo.

  • Use UserData no modelo CloudFormation para torná-lo disponível para a instância do EC2, para que ele possa adicioná-lo ao Facter no agente fantoche EC2. Isso parece errado, já que o nó EC2 está se reportando ao fantoche sobre outra máquina.
  • Use a API do EC2 no mestre de marionetes para inspecionar os nós do RDS no VPC e encontrar o correto (talvez por meio de uma tag?), mas não sei como fazer o Puppet chamar as APIs do EC2 e inserir um valor de em um modelo
por cubabit 24.09.2014 / 15:01

1 resposta

1

Se você puder criar um script (no mestre Puppet) que imprimirá o nome (provavelmente através de chamadas para o AWS CLI), você pode usar o gerar a função para usar o nome em seus manifestos e modelos do Puppet.

Você pode adicionar essa chamada diretamente no arquivo site.pp .

$rds_internal_name = generate('/usr/local/sbin/get-rds-internal-name')
    
por 26.09.2014 / 22:00