如何使用 terraform 为我的 EC2 实例获取默认 CIDR 块?

How to get default CIDR block for my EC2 instances with terraform?

我想创建一个安全组,它允许我在子网内的实例之间进行通信,并且不在外部公开某些端口。 当然,我可以明确指定我的 CIDR,但是如何创建数据源,在默认 VPC 中为我的子网提供 CIDR 块?

使用 terraform 数据源 aws_vpc,你可以得到你需要的。

示例显示了您的需要。

variable "vpc_id" {}

data "aws_vpc" "selected" {
  id = "${var.vpc_id}"
}

resource "aws_subnet" "example" {
  vpc_id            = "${data.aws_vpc.selected.id}"
  availability_zone = "us-west-2a"
  cidr_block        = "${cidrsubnet(data.aws_vpc.selected.cidr_block, 4, 1)}"
}