首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Terraform:如何获取模块cloudposse ec2中的第二个公网ip的值

Terraform:如何获取模块cloudposse ec2中的第二个公网ip的值
EN

Stack Overflow用户
提问于 2020-06-06 23:44:22
回答 1查看 223关注 0票数 1

如何从Terraform模块EC2获取第二个IP地址值。

模块- https://github.com/cloudposse/terraform-aws-ec2-instance

我已经使用参数additional_ips_count = 1创建了实例EC2。在这种情况下,实例已经创建了两个网络接口,我需要获取第二个网络接口公共IP地址的值。

通常,该模块允许我从public_ip的值中提取公网ip的值。例如,如果我创建了一个名为server的模块,我可以使用值module.server.public_ip从第一个网络接口获取公共IP地址值,但是如何为使用变量additional_ips_count = 1创建的第二个网络获取公共IP地址值。

EN

回答 1

Stack Overflow用户

发布于 2020-06-08 05:10:55

您可以解析出从输出module.multiple_ip.additional_eni_ids返回的值的值。

代码语言:javascript
复制
module "multiple_ip" {
  source                      = "git::https://github.com/cloudposse/terraform-aws-ec2-instance.git?ref=master"
  ssh_key_pair                = var.key_name
  vpc_id                      = var.vpc_id
  security_groups             = [data.aws_security_group.this.id]
  subnet                      = data.aws_subnet.private_subnet.id
  associate_public_ip_address = true
  name                        = "multiple-ip"
  namespace                   = "eg"
  stage                       = "dev"
  additional_ips_count        = 1
  ebs_volume_count            = 2
  allowed_ports               = [22, 80, 443]
  instance_type               = var.instance_type
}

output "multiple_ip_additional_eni_ids" {
  value = module.multiple_ip.additional_eni_ids
}

output "z_additional_eni_public_ip" {
  value = values(module.multiple_ip.additional_eni_ids)[0]
}

这将返回ip want。

代码语言:javascript
复制
Outputs:

multiple_ip_additional_eni_ids = {
  "eni-0cc853fb9301b2bc8" = "100.20.97.243"
}
z_additional_eni_public_ip = 100.20.97.243
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62234135

复制
相关文章

相似问题

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