Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Atualizar hosts automaticamente

Seria possivel implantar uma rotina de alguma maneira que o arquivo hosts.yaml do Ansible atualize o IP da nova maquina criada pelo Terraform automaticamente? (sem fazer muito malabarismo) ^^'

Obrigado!

1 resposta
solução!

Olá!

Que bom que você está explorando a integração entre Terraform e Ansible, é uma combinação de grande potencial para gerenciamento de infra.

Para atualizar automaticamente o arquivo hosts.yaml do Ansible com o IP da nova máquina criada pelo Terraform, você pode usar o recurso de inventário dinâmico do Ansible. Aqui está uma abordagem que pode ajudar:

  1. Inventário Dinâmico: Em vez de usar um arquivo estático hosts.yaml, você pode configurar um script de inventário dinâmico que consulta a AWS para obter os IPs das instâncias. O Ansible tem suporte para inventários dinâmicos, e há scripts prontos que você pode usar, como o ec2.py, que é mantido pela comunidade Ansible.

  2. Configuração do Terraform: Certifique-se de que o Terraform está configurado para armazenar as informações necessárias (como tags) que o script de inventário dinâmico usará para identificar suas instâncias.

  3. Execução do Ansible: Ao executar o Ansible, você pode especificar o arquivo de inventário dinâmico em vez do hosts.yaml. Por exemplo:

    ansible-playbook -i ec2.py my_playbook.yaml
    
  4. Automatização: Para automatizar tudo isso, você pode criar um script que execute o Terraform para provisionar a infraestrutura e, em seguida, chame o Ansible com o inventário dinâmico.

Essa abordagem elimina a necessidade de atualizar manualmente o arquivo hosts.yaml sempre que uma nova instância é criada. Bons estudos!