Terraform教程02 - 创建AWS VPC实例


其实在项目中,一般情况下都首选官方的一些模块,比如AWS VPC模块。下面只是演示如何自己创建AWS VPC资源。

首先创建一个目录,比如demo,然后进入该目录。

创建文件main.tf

terraform
provider "aws" {
  access_key = "XXXXXXXXXXXXXXXXXX"
  secret_key = "XXXXXXXXXXXXXXXXXX"
  region     = "eu-west-1"
}

resource "aws_vpc" "lcoding_prod_vpc" {
  cidr_block = "10.0.0.0/16"
  tags = {
    Name = "production"
  }
}

resource "aws_subnet" "prod-subnet-1" {
  vpc_id = aws_vpc.lcoding_prod_vpc.id
  cidr_block = "10.0.1.0/24"
  tags = {
    Name = "production"
  }
}

resource "aws_vpc" "lcoding_dev_vpc" {
  cidr_block = "10.1.0.0/16"
  tags = {
    Name = "dev"
  }
}

resource "aws_subnet" "dev-subnet-1" {
  vpc_id = aws_vpc.lcoding_dev_vpc.id
  cidr_block = "10.1.1.0/24"
  tags = {
    Name = "dev"
  }
}

需要注意,在上面的配置文件中,两个不同资源的位置并不影响其最终效果。terraform会自动监测资源间的依赖关系。

运行:

bash
terraform apply --auto-approve

也可以通过以下方式引用已经创建了的VPC:

terraform
resource "aws_vpc" "vpc-prod" {
  # ...
}

data "aws_vpc" "existing_vpc" {
  default = true
}

resource "aws_subnet" "subnet-dev-1" {
  vpc_id = data.aws.existing_vpc.id
  # ...
}

文章作者: 逻思
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 逻思 !
  目录