Terraform查找子网中可用的IP地址
我们一次就提供了一组相当大的服务器(每部署一个环境57台)。我们每个子网得到的IP地址是32,所以每个AWS帐户总共有96个IP,我想有效地利用它Terraform查找子网中可用的IP地址,terraform,amazon-vpc,terraform-provider-aws,subnet,terraform0.12+,Terraform,Amazon Vpc,Terraform Provider Aws,Subnet,Terraform0.12+,我们一次就提供了一组相当大的服务器(每部署一个环境57台)。我们每个子网得到的IP地址是32,所以每个AWS帐户总共有96个IP,我想有效地利用它 我们使用这个元素(split(“,”,local.ec2_subnet),count.index)在子网之间使用IP轮换 比如说因为或随机终止实例。我们离开时,96个IP中有57个IP,但在子网中分布不均匀。 子网-1a:7 子网-1b:25 子网-1c:25 现在,当我准备下一套时。terraform失败,因为子网中的IP地址不可用。它是轮流分配的
resource "aws_instance" "gs_instance" {
count = 1
subnet_id = element(split(",",local.ec2_subnet),2)
. . .
}
resource "aws_instance" "Head_instance" {
count = 8
subnet_id = element(split(",",local.ec2_subnet),2)
. . .
}
resource "aws_instance" "compute_instance" {
count = 48
subnet_id = element(split(",",local.ec2_subnet),2)
. . .
}
假设分布如下表所示。并根据它们所在的子网只终止其中的几个。因此,您可以获得可用IP地址的数量
Subnet-1a(32) Subnet-1b(32) Subnet-1c(32)
provision 32-19(used)=13 32-19(used)=13 32-19(used)=13
Termination 6=(available 7) 12=(available 25) 12=(available 25)
现在有了以上Ip地址的可用性,如果我提供接下来的57个节点,在7个EC2之后,子网1a将失败(12将因IP地址不可用而失败,但实际上在3个子网中有57个IP地址可用。希望此信息足以复制。可能先尝试使用数据源(aws\u subnet\u ID)动态获取相应的子网使用“可用ip地址计数”筛选器,然后将该子网的id传递到配置模块
请您编辑您的问题,将一些地形代码作为一个示例,以显示您正在尝试什么,以及您如何在AZs中实现这种差异?