簡體   English   中英

將EC2實例公共IP添加到本地Ansible主機文件

[英]Add EC2 instance public IP to local Ansible hosts file

我正在使用terraform創建一個AWS EC2實例,我想將新創建的計算機的公共IP放到我的本地/ etc / ansible / hosts文件中。 試圖用local_file terraform模塊來做,但是沒有成功。 您是否知道如何使用terraform提取此信息? 主機文件應采用以下格式:

ABCD ansible_ssh_user =用戶ansible_ssh_private_key_file = /路徑/到/私有/密鑰

ABCD將是新創建的實例的IP地址。

您需要為要在Terraform中的output.tf文件中公開的IP地址創建output 類似於:

output "private_ips" {
    value = "${aws_instance.<name>.private_ip}"
}

然后,您可以使用terraform output private_ips從命令行調用它

將其附加到/etc/ansible/hosts文件的一種快速而骯臟的方法是:

ip=`terraform output private_ips` ; echo "$ip ansible_ssh_user=user \
ansible_ssh_private_key_file=/path/to/private/key" >> /etc/ansible/hosts

參考文獻

https://www.terraform.io/intro/getting-started/outputs.html

https://www.terraform.io/docs/configuration/outputs.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM