Network Address Translation 개요
Public IP를 가진 인스턴스의 경우 인터넷으로 트래픽을 전송하려면 IGW를 통해서 가능합니다. 그렇다면 Private IP를 가진 인스턴스는 인터넷으로 트래픽을 어떻게 보내면 될까요? 이를 위해서는 Private IP 주소를 Public IP 주소로 변환하는 NAT 디바이스를 사용하면 가능합니다.
그러면 NAT 디바이스인 NAT Instance와 NAT Gateway에 대해 알아보도록 하겠습니다.
NAT Instance
- EC2 인스턴스에 NAT 기능 설치
- 사용자가 직접 EC2에 NAT 기능을 구성해야함
- EC2 문제 발생 시 NAT 기능 동작 안 함
- 많은 트래픽이 발생하여 NAT 요청이 많으면 EC2의 CPU, Memory를 많이 사용하게 됨
- 인스턴스 유형이 지원하는 네트워크 대역폭에 따라 처리량이 다름
- NAT Gatewaty에 비해 더 많은 기능 구현 가능 (DNS Filtering)
- EC2 인스턴스 이므로 Security Group 적용 가능
- NAT 인스턴스 사용 시 EC2 ENI의 원본/대상 체크하여 비활성화 해야함
- 활성화 되어 있으면 인스턴스가 보내거나 받는 트래픽이 원본 또는 대상이 아니므로 트래픽이 Drop됨
NAT Gateway
- AWS에서 제공하고 관리하는 서비스로 NAT Instance 처럼 EC2에 구성할 필요 없음
- 고가용성 지원
- 최대 45Gbps까지 자동으로 대역폭 확장
- Port Forwarding 등 사용자가 추가 기능 구현할 수 없음
- NAT Gateway에 Security Group 적용 불가
- NAT Gateway 생성 시 Elastic IP를 지정해야 하며 하나의 Elastic IP 주소만 NAT 게이트웨이에 연결 가능
- NAT 게이트웨이는 포트 1024 ~ 65535를 사용하므로 NACL 인바운드 트래픽에서 해당 포트가 허용되어 있어야 트래픽 수신 가능
NAT Gateway Issue
포트 할당 오류로 인해 연결 실패, 연결 오류 (ErrorPortAllocation) 발생
- NAT Gateway는 최대 55,000명 동시 접속 지원
- NAT Gateway를 추가해서 더 많은 접속 지원 가능
인스턴스에서 인터넷에 접근할 수 있지만 특정 시간(ex.. 300초 후)에 연결 끊어지는 현상 발생
- NAT 게이트웨이를 사용하는 연결이 300초 이상 유휴 상태인 경우 연결이 시간 초과
- EC2 인스턴스에서 300초 미만의 값으로 TCP Keepalive를 활성화
프라이빗 서브넷의 인스턴스에서 NAT Gateway를 통해 특정 대상에 연결할 때 일부 TCP 연결은 성공하지만 일부는 실패하거나 시간 초과되는 현상 발생
- 대상 엔드포인트가 조각난 TCP 패킷으로 응답하는 것이 원인
- NAT Gateway는 조각난 패킷 (fragmented packets)을 지원하지 않음
댓글과 공감 클릭은 더 좋은 글을 위한 응원이 됩니다.
728x90
반응형
'Cloud > AWS ANS' 카테고리의 다른 글
Network Security (0) | 2023.12.05 |
---|---|
네트워크 기초 이론 #3 (6) | 2022.12.07 |
네트워크 기초 이론 #2 (1) | 2022.12.07 |
네트워크 기초 이론 #1 (2) | 2022.12.01 |