如何从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地址值。
发布于 2020-06-08 05:10:55
您可以解析出从输出module.multiple_ip.additional_eni_ids返回的值的值。
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。
Outputs:
multiple_ip_additional_eni_ids = {
"eni-0cc853fb9301b2bc8" = "100.20.97.243"
}
z_additional_eni_public_ip = 100.20.97.243https://stackoverflow.com/questions/62234135
复制相似问题