결론부터 말하자면 Internet Gateway와 NAT Gateway는 둘다 IP를 변환하는 NAT 작업을 수행한다
예시로 알아보자
EC2 에서 IGW로 전송IGW 에서 IGW 테이블에 따라 10.0.1.10 -> 203.0.113.1 변환후 인터넷에 전송IGW 에서 인터넷에 온 패킷 수신IGW 에서 IGW 테이블에 따라 203.0.113.1 -> 10.0.1.10 변환후 EC2로 전송
EC2 에서 NAT Gateway로 전송NAT 에서 NAT 테이블에 추가후 10.0.2.10 -> 10.0.1.100:12345 변환후 IGW에 전송IGW 에서 IGW 테이블에 따라 10.0.1.100 -> 203.0.113.1 변환후 인터넷에 전송IGW 에서 인터넷에 온 패킷 수신IGW 에서 IGW 테이블에 따라 203.0.113.1 -> 10.0.1.100 변환후 NAT에 전송NAT 에서 NAT 테이블에 따라 10.0.1.100:12345 -> 10.0.2.10 변환 후 EC2에 전송
IGW에 접근가능한 라우팅 테이블이 있는 서브넷을 우리는Public Subnet이라고 부른다EIP(공인 IP)는 EC2에 직접 할당되지 않고 IGW 테이블에 추가될 뿐이다
IGW에서는공인 IP - 사설 IP테이블을 통해 변환해주는 역할을 한다(Static NAT)
- 그래서 하나의 공인 IP에는 하나의 사설IP만 할당이 가능하다
NAT Gateway에서는IP:PORT - IP테이블을 통해 변환해주는 역할을 한다(Port Address Translation)
- 그래서 하나의 IP에 포트에 따라 여러개의 IP를 할당이 가능하다
- 위 예시처럼 할당이 가능하다
:12345 - 10.0.2.10:12346 - 10.0.2.20
참고 링크