연재 시리즈

테라폼 시리즈 15편. vpc, subnet, internetgateway 생성

악분 2022. 10. 25. 22:34
반응형

안녕하세요. 이 글은 테라폼스터디 2주차 과제를 정리했습니다.

 

목표

테라폼으로 vpc, subnet, internet Gateway를 생성합니다.

 

예제 요구사항

  • vpc를 생성합니다.
    • vpc 1개를 생성합니다.
    • region은 ap-northeast-2입니다.
    • cidr는 10.10.0.0/16로 설정합니다.
  • subnet을 생성합니다.
    • subnet은 2개를 생성합니다.
    • vpc는 테라폼으로 생성한 vpc를 사용합니다.
    • cidr은 10.10.1.0/24, 10.10.2.0/24을 사용합니다.
    • az는 ap-northeast-2a와 ap-northeast-2c를 사용합니다.
  • internet gateway를 생성합니다.
    • internet gateway 1개를 생성합니다.
    • vpc는 테라폼을 생성한 vpc를 사용합니다.

 

상세내용

테라폼으로 vpc, subnet, internet gateway생성은 리소스 참조만 잘 설정해주면 됩니다. subnet과 internet gateway가 vpc가 필요하므로 vpc.id를 참조하면 됩니다. 

 

 

코드 작성

요구사항에 맞게 각 리소스를 테라폼 코드를 작성한 후, 리소스 참조를 적절히 설정했습니다.

github 링크: https://github.com/sungwook-practice/terraform-study/tree/main/week2/vpc_subnet_igw
cat <<EOT > vpc.tf
provider "aws" {
  region  = "ap-northeast-2"
}

resource "aws_vpc" "akbun-vpc" {
  cidr_block       = "10.10.0.0/16"
  enable_dns_support   = true
  enable_dns_hostnames = true

  tags = {
    Name = "t101-study"
  }
}

resource "aws_subnet" "akbun-subnet1" {
  vpc_id     = aws_vpc.akbun-vpc.id
  cidr_block = "10.10.1.0/24"

  availability_zone = "ap-northeast-2a"

  tags = {
    Name = "t101-subnet1"
  }
}

resource "aws_subnet" "akbun-subnet2" {
  vpc_id     = aws_vpc.akbun-vpc.id
  cidr_block = "10.10.2.0/24"

  availability_zone = "ap-northeast-2c"

  tags = {
    Name = "t101-subnet2"
  }
}


resource "aws_internet_gateway" "akbun-igw" {
  vpc_id = aws_vpc.akbun-vpc.id

  tags = {
    Name = "t101-igw"
  }
}

EOT

 

코드 반영

terraform apply명령어를 실행하여 코드를 aws에 반영합니다.

terraform plan && terraform apply -auto-approve

 

aws 대시보드에서 vpc cidr이 10.10.1.0/24인지 확인합니다.

 

subnet 2개가 잘 생성되었는지 확인합니다. 그리고 cidr설정도 확인합니다.

 

internet gateway가 잘 생성되었는지 확인합니다. 연결된 vpc가 테라폼에서 생성한 vpc가 맞는지 확인합니다.

반응형