web-dev-qa-db-ja.com

Terraformモジュールによって作成されたリソースを参照する方法

AWS VPC Terraformモジュール を使用してVPCを作成しています。さらに、 aws_internet_gateway resource を使用してインターネットゲートウェイを作成し、このVPCに接続したいと思います。

これが私のコードです:

module "vpc" "vpc_default" {
  source = "terraform-aws-modules/vpc/aws"

  name = "${var.env_name}-vpc-default"
  cidr = "10.0.0.0/16"
  enable_dns_hostnames = true
}

resource "aws_internet_gateway" "vpc_default_igw" {
  vpc_id = "${vpc.vpc_default.id}"

  tags {
    Name = "${var.env_name}-vpc-igw-vpcDefault"
  }
}

terraform initを実行すると、次のエラーが発生します。

モジュールを初期化しています...-module.vpc

エラー:リソース 'aws_internet_gateway.vpc_default_igw'構成:変数vpc.vpc_default.idで参照される不明なリソース 'vpc.vpc_default'

Terraformモジュールによって作成されたリソースを参照するにはどうすればよいですか?

13
GuiTeK

1つのファイルに複数のモジュールインスタンスを含めることができます。

module "vpc1" "vpc_default" {}
module "vpc2" "vpc_default" {}
module "vpc3" "vpc_default" {}
module "vpc4" "vpc_default" {}

${module.vpc1.vpc_id}
${module.vpc2.vpc_id}
${module.vpc3.vpc_id}
${module.vpc4.vpc_id}
0
parsley72