Azure NAT Gateway 리소스
이 문서에서는 매우 안전하고 확장 가능하며 복원력 있는 아웃바운드 연결을 제공할 수 있는 NAT Gateway 리소스의 주요 구성 요소에 대해 설명합니다. 이러한 구성 요소 중 일부는 Azure Portal, Azure CLI, Azure PowerShell, Resource Manager 템플릿 또는 적절한 대안을 통해 구독에서 구성할 수 있습니다.
NAT Gateway 아키텍처
NAT Gateway는 소프트웨어 정의 네트워킹을 사용하여 분산되고 완전히 관리되는 서비스로 작동합니다. NAT Gateway에는 여러 장애 도메인이 있으므로 서비스에 영향을 주지 않고 여러 오류를 견딜 수 있습니다.
NAT Gateway는 Azure 가상 네트워크의 서브넷 내에 있는 프라이빗 인스턴스에 대한 소스 SNAT(네트워크 주소 변환)를 제공합니다. 서브넷에 구성된 경우 서브넷 내의 개인 IP는 SNAT를 NAT 게이트웨이의 고정 공용 IP 주소로 연결하여 인터넷에 아웃바운드로 연결합니다. 또한 NAT Gateway는 아웃바운드 시작 연결에만 응답 패킷에 대한 DNAT(대상 네트워크 주소 변환)를 제공합니다.
그림: 인터넷 아웃바운드에 대한 NAT 게이트웨이
NAT 게이트웨이가 가상 네트워크 내의 서브넷에 연결된 경우 NAT 게이트웨이는 인터넷으로 전송되는 모든 아웃바운드 트래픽에 대해 서브넷의 다음 번 기본 홉 유형을 가정합니다. 추가 라우팅 구성은 필요하지 않습니다. NAT Gateway는 인터넷에서 요청되지 않은 인바운드 연결을 제공하지 않습니다. DNAT는 아웃바운드 패킷에 대한 응답으로 도착하는 패킷에 대해서만 수행됩니다.
서브넷
NAT 게이트웨이를 가상 네트워크 내의 여러 서브넷에 연결하여 인터넷에 아웃바운드 연결을 제공할 수 있습니다. NAT 게이트웨이가 서브넷에 연결되면 인터넷에 대한 기본 경로를 가정합니다. 그러면 NAT 게이트웨이가 인터넷으로 향하는 모든 아웃바운드 트래픽에 대한 다음 홉 유형이 됩니다.
다음 서브넷 구성은 NAT 게이트웨이에서 사용할 수’없습니다.
NAT Gateway가 서브넷에 연결되면 인터넷에 대한 기본 경로를 가정합니다. 하나의 NAT Gateway만 서브넷에 대한 인터넷의 기본 경로로 사용할 수 있습니다.
NAT 게이트웨이는 다른 가상 네트워크의 서브넷에 연결할 수 없습니다.
NAT 게이트웨이는 게이트웨이 서브넷에서 사용할 수 없습니다. 게이트웨이 서브넷은 Azure 가상 네트워크와 온-프레미스 위치 간에 암호화된 트래픽을 보내기 위해 VPN 게이트웨이에 대해 지정된 서브넷입니다. 게이트웨이 서브넷에 대한 자세한 내용은 게이트웨이 서브넷을 참조하세요.
고정 공용 IP 주소
NAT 게이트웨이는 아웃바운드 연결을 제공하기 위해 고정 공용 IP 주소 또는 공용 IP 접두사와 연결할 수 있습니다. NAT Gateway는 IPv4 주소를 지원합니다. NAT 게이트웨이는 공용 IP 주소 또는 접두사를 조합하여 최대 16개의 IP 주소를 사용할 수 있습니다. 공용 IP 접두사를 할당하면 전체 공용 IP 접두사가 사용됩니다. 공용 IP 접두사를 직접 사용하거나 접두사의 공용 IP 주소를 여러 NAT 게이트웨이 리소스에 배포할 수 있습니다. NAT Gateway는 모든 트래픽을 접두사의 IP 주소 범위로 그루밍합니다.
NAT 게이트웨이는 IPv6 공용 IP 주소 또는 접두사와 함께 사용할 수 없습니다.
NAT 게이트웨이는 기본 SKU 공용 IP 주소에서 사용할 수 없습니다.
SNAT 포트
SNAT 포트 인벤토리는 NAT 게이트웨이에 연결된 공용 IP 주소, 공용 IP 접두사 또는 둘 모두를 통해 제공됩니다. SNAT 포트 인벤토리는 NAT 게이트웨이에 연결된 서브넷 내의 모든 인스턴스에 대해 요청 시 제공됩니다. 인스턴스당 SNAT 포트의 사전 할당은 필요하지 않습니다.
SNAT 포트 및 Azure NAT Gateway에 대한 자세한 내용은 Azure NAT Gateway를 사용한 SNAT(원본 네트워크 주소 변환)를 참조하세요.
가상 네트워크 내의 여러 서브넷이 동일한 NAT 게이트웨이 리소스에 연결되면 NAT Gateway에서 제공하는 SNAT 포트 인벤토리가 모든 서브넷에서 공유됩니다.
SNAT 포트는 서로 다른 연결 흐름을 구분하기 위한 고유 식별자로 사용됩니다. 동일한 SNAT 포트를 사용하여 동시에 서로 다른 대상 엔드포인트에 연결할 수 있습니다.
서로 다른 SNAT 포트는 서로 다른 연결 흐름을 구분하기 위해 동일한 대상 엔드포인트에 대한 연결을 만드는 데 사용됩니다. 동일한 대상에 연결하기 위해 다시 사용되는 SNAT 포트는 재사용하기 전에 재사용 쿨다운 타이머에 배치됩니다.
그림: SNAT 포트 할당
단일 NAT 게이트웨이는 최대 16개의 IP 주소로 스케일 업할 수 있습니다. 각 NAT Gateway 공용 IP 주소는 아웃바운드 연결을 위해 64,512개의 SNAT 포트를 제공합니다. NAT 게이트웨이는 100만 개가 넘는 SNAT 포트까지 스케일 업할 수 있습니다. TCP와 UDP는 개별 SNAT 포트 인벤토리이며 NAT Gateway와 관련이 없습니다.
가용성 영역
NAT 게이트웨이는 특정 가용성 영역에서 만들거나 영역 없음일 수 있습니다. NAT 게이트웨이가 영역 없음에 배치되면 Azure는 NAT 게이트웨이가 상주할 영역을 선택합니다.
영역 중복 공용 IP 주소는 영역 NAT Gateway 리소스 유무와 상관 없이 사용할 수 있습니다.
개별 가용성 영역에 NAT 게이트웨이를 구성하는 것이 좋습니다. 또한 동일한 영역의 프라이빗 인스턴스가 있는 서브넷에 연결해야 합니다. 가용성 영역 및 Azure NAT Gateway에 대한 자세한 내용은 가용성 영역 디자인 고려 사항을 참조하세요.
NAT 게이트웨이를 배포한 후에는 영역 선택을 변경할 수 없습니다.
프로토콜
NAT Gateway는 UDP 및 TCP 흐름의 IP 및 IP 전송 헤더와 상호 작용합니다. NAT Gateway는 애플리케이션 계층 페이로드에 구애받지 않습니다. 다른 IP 프로토콜은 지원되지 않습니다.
TCP 재설정
NAT 게이트웨이가 존재하지 않는 연결 흐름에서 트래픽을 감지하면 TCP 재설정 패킷이 전송됩니다. TCP 재설정 패킷은 연결 흐름의 해제가 발생했으며 동일한 TCP 연결의 이후 통신은 실패할 것임을 수신 엔드포인트에 알립니다. TCP 재설정은 NAT 게이트웨이에 대해 단방향입니다.
다음과 같은 경우 연결 흐름이 존재하지 않을 수 있습니다.
연결 흐름에서 비활성 기간이 지난 후 유휴 시간 제한에 도달했으며 연결이 자동으로 삭제되었습니다.
Azure 네트워크 쪽 또는 공용 인터넷 쪽에서 보낸 발신자가 연결이 끊어진 후 트래픽을 보냈습니다.
TCP 재설정 패킷은 삭제된 연결 흐름에서 트래픽을 감지하는 경우에만 전송됩니다. 이 작업은 연결 흐름이 삭제된 직후 TCP 재설정 패킷이 전송되지 않을 수 있음을 의미합니다.
시스템은 트래픽이 Azure 네트워크 쪽에서 발생하는지 또는 공용 인터넷 쪽에서 발생하는지 여부에 관계없이 존재하지 않는 연결 흐름에서 트래픽 감지에 대한 응답으로 TCP 재설정 패킷을 보냅니다.
TCP 유휴 시간 제한
NAT 게이트웨이는 TCP 프로토콜에 대해 4분에서 120분의 구성 가능한 유휴 시간 제한 범위를 제공합니다. UDP 프로토콜의 구성 불가능한 유휴 시간 제한은 4분입니다.
연결이 유휴 상태가 되면 NAT 게이트웨이는 연결 유휴 시간이 초과될 때까지 SNAT 포트를 유지합니다. 유휴 시간 초과 타이머가 길면 SNAT 포트가 소진될 가능성이 불필요하게 증가할 수 있으므로 TCP 유휴 시간 초과 기간을 기본 시간인 4분보다 길게 늘리지 않는 것이 좋습니다. 유휴 타이머는 유휴 상태가 되지 않는 흐름에 영향을 주지 않습니다.
TCP keepalive는 긴 유휴 연결을 새로 고치고 엔드포인트 활성 검색 패턴을 제공하는 데 사용할 수 있습니다. 자세한 내용은 이러한 .NET 예제를 참조하세요. TCP keepalive는 엔드포인트에 중복된 ACK로 표시되며, 오버헤드가 낮고, 애플리케이션 계층에는 표시되지 않습니다.
UDP 유휴 시간 제한 타이머를 구성할 수 없으므로 UDP keepalive를 사용하여 유휴 시간 제한 값에 도달하지 않고 연결이 유지되도록 해야 합니다. TCP 연결과 달리 연결의 한쪽에서 사용하도록 설정된 UDP keepalive는 트래픽 흐름에 한 방향으로만 적용됩니다. 트래픽 흐름을 활성화하려면 트래픽 흐름의 양쪽에서 UDP keepalive를 사용하도록 설정해야 합니다.
타이머
포트 재사용 타이머
포트 재사용 타이머는 원본 포트가 보류된 후 연결이 닫히고, NAT 게이트웨이에서 동일한 대상 엔드포인트로 이동하는 데 다시 사용할 수 있게 되기까지의 시간을 결정합니다.
다음 표에서는 NAT 게이트웨이에서 TCP 포트를 동일한 대상 엔드포인트에 다시 사용할 수 있게 되는 경우에 대한 정보를 제공합니다.
타이머 | 설명 | 값 |
---|---|---|
TCP FIN | TCP FIN 패킷에 의해 연결이 닫힌 후 SNAT 포트를 보류하는 65초 타이머가 활성화됩니다. 타이머가 종료된 후 SNAT 포트를 다시 사용할 수 있습니다. | 65초 |
TCP RST | TCP RST 패킷(재설정)에 의해 연결이 닫힌 후 SNAT 포트를 보류하는 16초 타이머가 활성화됩니다. 타이머가 종료되면 포트를 다시 사용할 수 있습니다. | 16초 |
TCP 절반 열기 | 한 연결 엔드포인트에서 다른 엔드포인트의 승인을 기다리는 연결 설정 중에는 30초 타이머가 활성화됩니다. 트래픽이 감지되지 않으면 연결이 닫힙니다. 연결이 닫히면 원본 포트를 동일한 대상 엔드포인트에 다시 사용할 수 있습니다. | 30초 |
UDP 트래픽의 경우 연결이 닫히면 포트는 다시 사용할 수 있을 때까지 65초 동안 보류됩니다.
유휴 시간 초과 타이머
타이머 | 설명 | 값 |
---|---|---|
TCP 유휴 시간 제한 | TCP 연결은 오랜 시간 동안 양쪽 엔드포인트 사이에 데이터가 전송되지 않으면 유휴 상태가 될 수 있습니다. 유휴 상태가 된 연결 시간을 초과하도록 타이머를 4분(기본값)에서 120분(2시간)까지 구성할 수 있습니다. 흐름의 트래픽은 유휴 시간 초과 타이머를 재설정합니다. | 구성 가능; 4분(기본값) - 120분 |
UDP 유휴 시간 초과 | UDP 연결은 오랜 시간 동안 양쪽 엔드포인트 사이에 데이터가 전송되지 않으면 유휴 상태가 될 수 있습니다. UDP 유휴 시간 초과 타이머는 4분이며 구성할 수 없습니다. 흐름의 트래픽은 유휴 시간 초과 타이머를 재설정합니다. | 구성할 수 없음, 4분 |
참고 항목
이러한 타이머 설정은 변경될 수 있습니다. 값은 문제 해결에 도움이 되도록 제공되며 현재로서는 특정 타이머에 의존해서는 안 됩니다.
대역폭
각 NAT Gateway는 총 50Gbps의 처리량을 제공할 수 있습니다. 데이터 처리량 속도 제한은 아웃바운드 데이터와 인바운드(응답) 데이터 간에 분할됩니다. 데이터 처리량은 NAT Gateway 리소스당 아웃바운드 데이터의 경우 25Gbps, 인바운드(응답) 데이터의 경우 25Gbps로 속도가 제한됩니다. 배포를 여러 서브넷으로 분할하고 각 서브넷 또는 서브넷 그룹을 NAT 게이트웨이에 할당하여 스케일 아웃할 수 있습니다.
성능
NAT 게이트웨이는 TCP 및 UDP용 인터넷을 통해 동일한 대상 엔드포인트에 대한 공용 IP 주소당 최대 50,000개의 동시 연결을 지원할 수 있습니다. NAT 게이트웨이는 초당 1M 패킷을 처리하고 초당 최대 5M 패킷까지 스케일 업할 수 있습니다.
NAT 게이트웨이에서 특정 시간에 지원할 수 있는 총 연결 수는 최대 200만 개입니다. NAT Gateway의 연결이 2백만 개를 초과하면 데이터 경로 가용성이 감소하고 새 연결이 실패합니다.
제한 사항
기본 Load balancer 및 기본 공용 IP 주소는 NAT 게이트웨이와 호환되지 않습니다. 대신 표준 SKU 부하 분산 장치 및 공용 IP를 사용합니다.
부하 분산 장치를 기본에서 표준으로 업그레이드하려면 Azure Public Load Balancer 업그레이드를 참조하세요.
공용 IP 주소를 기본에서 표준으로 업그레이드하려면 공용 IP 주소 업그레이드를 참조하세요.
NAT 게이트웨이는 ICMP를 지원하지 않습니다.
NAT Gateway에는 IP 조각화를 사용할 수 없습니다.
NAT Gateway는 인터넷 라우팅 구성 유형이 있는 공용 IP 주소를 지원하지 않습니다. 공용 IP에서 라우팅 구성 인터넷을 지원하는 Azure 서비스 목록을 보려면 공용 인터넷을 통한 라우팅에 대해 지원되는 서비스를 참조하세요.
DDoS 보호 사용이 설정된 공용 IP는 NAT Gateway에서 지원되지 않습니다. 자세한 내용은 DDoS limitations.zzzzz를 참조하세요.
Azure NAT 게이트웨이는 vWAN(보안 가상 허브 네트워크) 아키텍처에서 지원되지 않습니다.
다음 단계
Azure NAT Gateway를 검토합니다.
NAT 게이트웨이에 대한 메트릭 및 경고에 대해 알아봅니다.
NAT 게이트웨이 문제 해결 방법을 알아봅니다.