通过使用Terraform提供AWS区域来在现有VPC中配置EC2

时间:2019-02-07 08:54:08

标签: amazon-web-services amazon-ec2 terraform vpc

我试图通过向Terraform提供一个AWS区域来在现有的特定VPC中配置EC2实例。

我希望能够使用正则表达式或其他方法自动选择特定的vpc,这是我的tf文件。

有人可以帮助我吗?

我要自动选择的VPC带有前缀“数字”。 因此,与其在此处提供其名称-> name = "tag:${local.env_profile}-vpc"

我只想提供区域,然后使用正则表达式获取此特定的VPC。

provider "aws" {
  region                  = "eu-west-3"
  shared_credentials_file = "${var.shared_credentials_file}"
  profile                 = "${var.profile}"
}

data "aws_vpc" "selected" {

  filter {
    name = "tag:${local.env_profile}-vpc"
    values = ["${local.env_profile}-vpc"]
  }
}

resource "aws_instance" "general" {
  ami = "ami-00035f41c82244dab"
  instance_type = "${var.type}"
  vpc = "${data.aws_vpc.selected.id}"
  key_name = "${var.key_name}"
  tags {
    Name = "empty"
  }
}

1 个答案:

答案 0 :(得分:0)

我认为没有办法通过Terraform中的正则表达式选择随机VPC。您可以在https://www.terraform.io/docs/providers/aws/d/vpc.html

上检查VPC的数据源

您可以参考VPC。通过使用ID和名称。