繁体   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