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!
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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!
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:
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.
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.
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
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!