NAT Gateway
- AWS의 관리형 NAT 인스턴스이며 높은 대역폭을 가지며 가용성이 높고 관리할 필요가 없음
- 사용량 및 NAT Gateway의 대역폭에 따라 청구됨
- NAT Gateway는 특정 AZ에 생성되고 탄력적 IP를 이어받으며
EC2 인스턴스와 같은 서브넷에서 사용할 수 없어서 다른 서브넷에서 액세스할 때만 NAT Gateway가 도움이 됨 - 공용 서브넷에서 NAT Gateway를 만들고 사설 서브넷의 인스턴스와 연결하기 위한 경로는
사설 서브넷 -> NAT Gateway (NATGW) -> 인터넷 Gateway (IGW) 이므로 NAT Gateway는 인터넷 게이트웨이가 있어야 함 - 대역폭은 초당 5GB 자동으로 초당 45GB까지 확장할 수 있음
- 보안 그룹을 관리할 필요가 없으므로 연결을 위해 어떤 포트를 활성화할지 생각할 필요가 없음
- 사설 인스턴스와 서브넷이 있고 인터넷에 액세스가 없을 때 NAT Gateway를 공용 서브넷에 배포하면
NAT Gateway가 공용 서브넷에 있으므로 공용 서브넷은 인터넷 게이트웨이에 연결되고 NAT Gateway에 인터넷 연결이 생김
이후 사설 서브넷의 루트를 수정하여 EC2 인스턴스를 NAT Gateway에 연결할 수 있음
NAT Gateway with High Availability
- NAT Gateway는 단일 AZ에서 복원 가능하고 AZ가 중지될 경우 다중 NAT Gateway를 여러 AZ에 두어 결함을 허용
- 하나의 NAT Gateway가 하나의 특정 AZ에 있고 두 번째 AZ에 두 번째 NAT Gateway를 생성함
각 네트워크 트래픽은 AZ 안에 제한되므로 따라서 AZ가 중지되면 전체 AZ가 중지되어야 함
하지만 AZ-B에도 NAT Gateway가 있어 AZ-B가 작동하므로 전체 AZ가 중지되지 않으며
단지 중지된 AZ의 EC2 인스턴스만 액세스 불가 상태가 됨
라우팅 테이블을 통해 AZ를 서로 연결할 필요는 없음
NAT Gateway vs. NAT Instance
- NAT Gateway와 NAT 인스턴스 비교
- Availability
NAT Gateway는 특정 AZ에서 가용성이 높으며 AZ 전체에서 고가용성을 필요로 하는 경우 다른 AZ에 더 만들어야 함
NAT 인스턴스는 인스턴스간 장애 조치 스크립트를 통해서 전체적인 관리를 해야 함 - Bandwidth
NAT Gateway는 초당 최대 45GB의 대역폭을 가지며
NAT 인스턴스는 사용하는 EC2 인스턴스에 따라 다르며 고급 인스턴스 유형일수록 더 많은 처리량을 가짐 - Maintenance
NAT Gateway는 관리형 서비스이지만
NAT 인스턴스는 사용자가 관리를 하며 OS 패치 등의 소프트웨어가 필요 - Cost
NAT Gateway는 시간당 비용과 NAT Gateway의 데이터 전송량을 더함
NAT 인스턴스는 시간당 EC2 인스턴스가 청구되며 EC2 인스턴스 유형과 크기에 따라 달라지며
NAT 인스턴스의 경우 EC2 인스턴스를 통해 인터넷으로 나가는 네트워크 비용도 함께 청구 - Public IPv4, Private IPv4
NAT Gateway와 NAT 인스턴스 모두 공용 IPv4와 사설 IPv4를 가짐 - Security Groups
NAT Gateway는 보안 그룹을 사용하지 않으나 NAT 인스턴스는 보안 그룹을 설정하여 맞는 포트에 작동하게 해야 함 - Bastion Host
NAT Gateway는 Bastion 호스트를 쓸 수 없고 NAT 인스턴스는 필요한 경우 Bastion 호스트 사용 - 이외
<NAT Gateway 실습>
- NAT 인스턴스 삭제
앞의 실습에서 NAT 인스턴스를 중지하거나 종료해서 인터넷 액세스가 없음
그러므로 사설 라우팅 테이블에서 ENI를 대상으로 하는 목적지가 유효하지 않음을 뜻하는 Blackhole로 나오게 됨
이는 NAT 인스턴스를 중지해서 이 경로가 어디에도 연결되지 않음을 뜻함
이제 NAT 인스턴스 말고 관리형 서비스를 사용하도록 함 - NAT Gateway 생성 및 라우팅 테이블 수정
DemoNATGW라고 이름을 정한 후 NAT Gateway가 있을 서브넷으로 PublicSubnetA를 선택
연결 유형은 Public으로 하고 NAT Gateway에 탄력적 IP를 할당하여 생성
그리고 사설 라우팅 테이블에서 블랙홀이었던 경로는 필요가 없으므로 인터넷 트래픽을 NAT Gateway로 보내도록 선택
- NAT Gateway 작동 확인
BastionHost로 SSH를 연결한 후 사설 인스턴스로 SSH 접속을 한 후 핑을 할 경우 잘 작동하게 됨
즉, NAT Gateway가 활성화되니 EC2 인스턴스가 트래픽을 보낼 수 있는 것이며
이를 통하면 보안 규칙을 지정할 필요 없고 여러 설정이 필요 없이 라우팅 테이블만 수정하면 됨
또한 다른 가용 영역에 두 번째 NAT Gateway를 만들고 라우팅 테이블을 수정해서 가용성을 높일 수도 있음
'Cloud > AWS' 카테고리의 다른 글
[SAA] VPC 연결성 분석기 (0) | 2022.04.27 |
---|---|
[SAA] DNS 확인 옵션 및 Route 53 프라이빗 영역 (0) | 2022.04.27 |
[SAA] NAT 인스턴스 (0) | 2022.04.26 |
[SAA] Bastion 호스트 (0) | 2022.04.26 |
[SAA] 인터넷 Gateway 및 라우팅 테이블 (0) | 2022.04.26 |