AWS VPC, Subnet 생성

박도준·2021년 5월 11일
0

[IaC] Terraform

목록 보기
3/9
post-thumbnail

테라폼으로 VPC를 생성하기에 앞서 Amazon VPC에 대해 간략히 알아보고 생성해본다.


Amazon VPC란?

Amazon VPC는 Amazone Virtual Private Cloud로 사용자의 AWS 계정 전용 가상의 네트워크이다.


VPC 핵심 구성요소

  • 서브넷 - VPC의 IP 주소 범위

  • 라우팅 테이블 - 네트워크 트래픽을 전달할 위치를 결정하는데 사용되는 라우팅이라는 규칙 집합

  • 인터넷 게이트웨이 - VPC의 리소스와 인터넷 간의 통신을 활성화하기 위해 VPC에 연결하는 게이트웨이

  • NAT 게이트웨이 - 네트워크 주소 변환을 통해 프라이빗 서브넷에서 인터넷 또는 기타 AWS 서비스에 연결하는 게이트웨이

  • 보안그룹 - 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽 역할을 하는 규칙 집합

  • VPC 엔드포인트 - 인터넷 게이트웨이, NAT 디바이스, VPN 연결 또는 AWS Direct Connect 연결을 필요로 하지 않고 VPC와 AWS 서비스 전용 연결을 할 수 있도록 해주는 가상 장치



테라폼으로 VPC 생성

우선 테라폼을 사용하기 위한 환경설정이 된 상태에서 진행한다. (만약 환경설정이 되어 있지 않다면 여기)

  • provider.tf
provider "aws" {
  region = "ap-northeast-2"
}
  • vpc.tf
resource "aws_vpc" "main" {
  cidr_block = "10.0.0.0/16"

  tags = {
   Name = "terraform-vpc"
  }
}

VPC를 생성할 때는 aws_vpc 리소스를 사용하고, 다양한 인자값이 존재하지만 cidr_block은 필수 인자값이므로 적어준다.

tags안에는 리소스에 대한 정보를 키-밸류 형식으로 넣을 수 있다.

여기까지 작성하고 vpc를 생성해본다.

terraform init

terraform plan

terraform apply

apply까지 정상적으로 완료되면 아래와 같이 출력되는 것을 확인할 수 있다.

그리고 aws에 접속하여 vpc가 생성된 것을 볼 수 있다.


테라폼으로 Subnet 생성

VPC의 구성요소 중 하나인 subnet도 생성해본다. subnet은 AZ에 속한 네트워크 그룹으로 VPC 내애서도 나눠진 독립적인 네트워크 구역이다.

  • vpc.tf
pnuecs2020uresource "aws_vpc" "main" {
  cidr_block = "10.0.0.0/16"

  tags = {
   Name = "terraform-vpc"
  }
}

resource "aws_subnet" "public_subnet" {
  vpc_id = aws_vpc.main.id
  cidr_block = "10.0.0.0/24"

  availability_zone = "ap-northeast-2a"

  tags = {
   Name = "terraform-vpc-public-subnet"
  }

}

resource "aws_subnet" "private_subnet" {
  vpc_id = aws_vpc.main.id
  cidr_block = "10.0.1.0/24"

  availability_zone = "ap-northeast-2a"

  tags = {
   Name = "terraform-vpc-private-subnet"
  }
}

subnet을 생성할 때는 aws_subent 리소스를 사용한다. 필요한 설정으로 서브넷을 연결할 VPC의 ID해당 서브넷의 cidr block이다. 서브넷의 cidr block은 반드시 vpc의 cidr block에 속해 있어야 한다.

위에서는 AZ를 지정했지만, 지정하지 않으면 나중에 자동으로 지정되어 apply 이후에 알 수 있다.

terraform plan

terraform apply

aws에 접속해 서브넷을 확인해보면 아래와 같이 생성된 것을 볼 수 있다.

profile
Better late than never

0개의 댓글