首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何利用Terraform获取新推出的机器的公共IP

如何利用Terraform获取新推出的机器的公共IP
EN

Stack Overflow用户
提问于 2017-12-07 06:06:40
回答 2查看 7.2K关注 0票数 5

我使用Instance-1Terraform在AWS中创建了两个实例(Instance-2)。我用相同的脚本在Instance-1上安装了Ansible,我想从Instance-1将一个剧本推送到Instance-2上。

我想要指定公共IP、用户名和主机文件的密钥路径,在安装Ansible的Instance-1中。

如何获取Instance-2的公共IP,以便在Ansible主机文件中指定上述属性?

EN

回答 2

Stack Overflow用户

发布于 2017-12-07 15:30:39

如果您和我一样,在更大的业务流程中将terraform和ansible运行作为单独的步骤,那么使用terraform输出来保存您在ansible期间需要的IP地址(Es)。例如,我们为整个集群提供了terraform,只允许来自一个堡垒主机的SSH。我使用以下方法来保存堡垒的IP地址(它位于弹性IP后面):

代码语言:javascript
复制
output "bastion.ip" {
  value = "${aws_eip.bastion.public_ip}"
}

然后在terraform apply之后检索它

代码语言:javascript
复制
bash-4.3# terraform output bastion.ip
52.1.2.3
票数 7
EN

Stack Overflow用户

发布于 2017-12-07 10:49:21

可以通过terrraform获取已启动实例的public_ip,

资源"aws_instance“"web”{

……

供应方“本地-主管”{

代码语言:javascript
复制
command = "echo ${aws_instance.web.public_ip} >> /path/to/save"

}

https://www.terraform.io/docs/provisioners/local-exec.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47688613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档