반응형
안녕하세요. 이 글은 테라폼스터디 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가 맞는지 확인합니다.
반응형
'연재 시리즈' 카테고리의 다른 글
테라폼 시리즈 14편. Data block (0) | 2022.10.25 |
---|---|
테라폼 시리즈 13편. 역할별로 tf파일 분리 (0) | 2022.10.25 |
ArgoCD 9편 - Project 상세내용 (0) | 2022.10.23 |
테라폼 시리즈 12편. 1주차 과제 (0) | 2022.10.22 |
테라폼 시리즈 11편. 변수와 입력 (0) | 2022.10.22 |