Internet Gateway 생성
- 인터넷 게이트웨이는 VPC 내부와 외부 인터넷이 통신하기 위한 게이트웨이 중 하나.
- 인터넷 게이트웨이가 연결된 서브넷은 흔히
public 서브넷
이라고 부른다.
resource "aws_internet_gateway" "ihwoo-tftest-igw" {
vpc_id = aws_vpc.ihwoo-tftest-vpc.id
tags = {
Name = "ihwoo-tftest-igw",
Date = "2022-10-05",
User = "ihwoo"
}
}
Nat Gateway 생성
- Nat Gateway는 Private 서브넷에서 외부와 통신하기 위해서 필요한 일종의 게이트웨이.
- 외부에서 Private 서브넷으로는 접근이 불가능하고, 사실 외부에서 접근하지 말아야하는 서비스는 Private 서브넷에 들어가는 것이 좋다.
- 하지만, Private 서브넷에 있는 서버에서는 외부와 통신해야 하는 경우가 발생 → 이럴 때 필요한 것이 바로 NAT Gateway
- 필요한 패키지를 다운로드
- 써드파티 API를 사용하는 경우
- Nat Gateway는 반드시 고정 IP(Elastic IP)를 가지고 있어야 하고, private subnet에서 보내는 모든 요청이 외부로 나갈 때는 내부IP가 아닌 고정 IP를 사용
- 고정IP가 13.1.1.1 이라면 외부로 나가는 모든 요청은 13.1.1.1에서 보낸 요청으로 표시된다.
10.0.4.1(내부 IP) → 13.1.1.1(고정 IP) → (외부 IP)
- 따라서, Nat Gateway를 만들 때는 AWS Elastic IP도 함께 생성
- Nat Gateway는 Public 서브넷에 위치하지만, 연결은 private 서브넷과 한다.
- Public 서브넷에 위치하는 이유는 Nat Gateway 자체는 인터넷과 통신이 되어야 하기 때문
resource "aws_eip" "ihwoo-tftest-nat" {
vpc = true
lifecycle {
create_before_destroy = true
}
}
resource "aws_nat_gateway" "ihwoo-tftest-natgw" {
allocation_id = aws_eip.ihwoo-tftest-nat.id
subnet_id = aws_subnet.ihwoo-tftest-public-subnet.id
tags = {
Name = "ihwoo-tftest-natgw",
Date = "2022-10-05",
User = "ihwoo"
}
}
'Terraform > AWS and 테라폼: Infrastructure as' 카테고리의 다른 글
[AWS and 테라폼: Infrastructure as Code] Amazon S3 소개 (0) | 2024.01.21 |
---|---|
[AWS and 테라폼: Infrastructure as Code] Route Table 구성하기 (1) | 2024.01.21 |
[AWS and 테라폼: Infrastructure as Code] VPC & Subnet 생성하기 (0) | 2024.01.19 |
[AWS and 테라폼: Infrastructure as Code] VPC 소개 (0) | 2024.01.19 |