반응형
1. Terraform Docs 예시
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route_table
예시:
인수:
2. Terraform 코드 작성
# 08_natgwrt.tf
resource "aws_route_table" "pmh_natgwrt" {
vpc_id = aws_vpc.pmh_vpc.id
route {
cidr_block = "0.0.0.0/0"
gateway_id = aws_nat_gateway.pmh_natgw.id
}
tags = {
Name = "pmh-natgwrt"
}
}
resource "aws_route_table" "pmh_natgwrt"
pmh_natgwrt 라는 이름의 aws_route_table 리소스를 정의
vpc_id
인터넷 게이트웨이가 연결될 VPC의 ID를 지정
(앞서 만들었던 vpc의 id)
route
라우팅 테이블에 추가할 라우팅 규칙을 정의
- "0.0.0.0/0" CIDR 블록(모든 IP 주소)을 대상으로 하는 라우팅 규칙을 추가
- 해당 규칙에 연결할 NAT 게이트웨이의 ID를 앞서 만들었던 NAT 게이트웨이의 id(aws_nat_gateway.pmh_natgw.id)로 지정
tags = { Name = "pmh-natgwrt" }
리소스에 태그 지정
(라우팅 테이블에 식별 가능한 이름 지정)
3. Terraform 분석 및 적용
terraform 파일이 있는 위치에서 아래 명령어 실행
# 변경 사항 검토 및 확인
terraform plan
# (대화형 승인 없이)변경 사용항 적용
terraform apply -auto-approve
4. 결과
+ 변수처리하는 방법
tag 변수 파일 생성
# var.tf
variable "tag" {
type = string
default = "pmh"
}
# 08_natgwrt.tf
resource "aws_route_table" "pmh_natgwrt" {
vpc_id = aws_vpc.pmh_vpc.id
route {
cidr_block = "0.0.0.0/0"
gateway_id = aws_nat_gateway.pmh_natgw.id
}
tags = {
Name = "${var.tag}-natgwrt"
}
}
반응형
'AWS > Terraform' 카테고리의 다른 글
[AWS Terraform 기초]11. Security Group 생성 (0) | 2023.07.12 |
---|---|
[AWS Terraform 기초]10. 라우팅 테이블과 서브넷 연결(private) (0) | 2023.07.11 |
[AWS Terraform 기초]8. NAT Gateway 생성 (0) | 2023.07.11 |
[AWS Terraform 기초]7. 라우팅 테이블과 서브넷 연결(public) (0) | 2023.07.11 |
[AWS Terraform 기초]6. Route Table 생성 (0) | 2023.07.11 |