AWS/Terraform / / 2023. 7. 11. 23:02

[AWS Terraform 기초]8. NAT Gateway 생성

반응형

이번 포스팅까지의 진행 구성도

 

 

1. Terraform Docs 예시

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/nat_gateway.html

 

Terraform Registry

 

registry.terraform.io

 

 

예시:

 

인수:

 

 

2. Terraform 코드 작성

 

# 07_natgw.tf
resource "aws_nat_gateway" "pmh_natgw" {
  allocation_id = aws_eip.pmh_eip.id
  subnet_id     = aws_subnet.pmh_puba.id

  tags = {
    Name = "pmh-natgw"
  }
  depends_on = [aws_internet_gateway.pmh_ig]
}

 

 


resource "aws_nat_gateway" "pmh_natgw"allocation_id

pmh_natgw 라는 이름의 aws_nat_gateway 리소스를 정의

 

allocation_id

NAT 게이트웨이에 대한 탄력적 IP 주소 할당

 

subnet_id

NAT 게이트웨이에 연결할 서브넷 ID를 지정

(앞서 만들었던 서브넷의 id)

 

tags = { Name = "pmh-natgw" }

리소스에 태그 지정

(NAT 게이트웨이에 식별 가능한 이름 지정)

 

depends_on

NAT 게이트웨이가 만들어지기 전에 선행되어야 될 작업

(인터넷 게이트웨이 먼저 생성)

 

 

 

 

3. Terraform 분석 및 적용

 

terraform 파일이 있는 위치에서 아래 명령어 실행

 

# 변경 사항 검토 및 확인
terraform plan

# (대화형 승인 없이)변경 사용항 적용
terraform apply -auto-approve

 

4. 결과

 

+ 변수처리하는 방법

tag 변수 파일 생성

# var.tf
variable "tag" {
  type        = string
  default     = "pmh"
}

 

 

서브넷 ID 중 puba에 대한 ID는 0번 인덱스에 해당

 

# 07_natgw.tf
resource "aws_eip" "pmh_eip" {
  vpc = true  
}

resource "aws_nat_gateway" "pmh_natgw" {
  allocation_id = aws_eip.pmh_eip.id
  subnet_id     = aws_subnet.pmh_pub[0].id

  tags = {
    Name = "${var.tag}-natgw"
  }
  depends_on = [aws_internet_gateway.pmh_ig]
}

 

 

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유