Cloud NAT 개요
Cloud NAT는 인터넷, 가상 프라이빗 클라우드(VPC) 네트워크, 온프레미스 네트워크, 기타 클라우드 제공업체 네트워크로의 아웃바운드 트래픽에 네트워크 주소 변환(NAT)을 제공합니다.
Cloud NAT는 다음 Google Cloud 리소스에 NAT를 제공합니다.
- Compute Engine 가상 머신 (VM) 인스턴스
- Google Kubernetes Engine (GKE) 클러스터
- 서버리스 VPC 액세스 또는 직접 VPC 이그레스를 통한 Cloud Run 인스턴스
- 서버리스 VPC 액세스를 통한 Cloud Run Functions 인스턴스
- 서버리스 VPC 액세스를 통한 App Engine 표준 환경 인스턴스
- 지역 인터넷 네트워크 엔드포인트 그룹 (NEG)
Cloud NAT는 설정된 인바운드 응답 패킷에만 주소 변환을 지원합니다. 요청하지 않은 인바운드 연결은 허용하지 않습니다.
Cloud NAT 유형
Google Cloud에서 Cloud NAT를 사용하여 비공개 서브넷의 인스턴스가 VPC 네트워크 외부의 리소스에 연결될 수 있게 해주는 NAT 게이트웨이를 만듭니다.
NAT 게이트웨이를 사용하여 다음 유형의 NAT를 사용 설정할 수 있습니다.
- Public NAT
- 비공개 NAT
VPC 네트워크의 동일한 서브넷에 NAT 서비스를 제공하는 Public NAT 및 Private NAT 게이트웨이가 둘 다 있을 수 있습니다.
Public NAT
Public NAT를 사용하면 공개 IP 주소가 없는 Google Cloud 리소스가 인터넷과 통신할 수 있습니다. 이러한 VM은 공유 공개 IP 주소 집합을 사용하여 인터넷에 연결합니다. Public NAT 는 프록시 VM을 사용하지 않습니다. 대신 Public NAT 게이트웨이는 게이트웨이를 사용하여 인터넷에 대한 아웃바운드 연결을 만드는 각 VM에 외부 IP 주소 및 소스 포트 집합을 할당합니다.
네트워크 인터페이스에 외부 IP 주소가 없는 subnet-1
에 VM-1
이 있다고 가정해 보겠습니다. 하지만 중요 업데이트를 다운로드하려면 VM-1
이 인터넷에 연결되어야 합니다. 인터넷에 연결할 수 있도록 subnet-1
의 IP 주소 범위에 적용되도록 구성된
Public NAT
게이트웨이를 만들 수 있습니다. 이제 VM-1
에서 subnet-1
의 내부 IP 주소를 사용하여 트래픽을 인터넷에 전송할 수 있습니다.
자세한 내용은 Public NAT를 참고하세요.
비공개 NAT
Private NAT는 다음 트래픽에 비공개-비공개 NAT를 사용 설정합니다.
트래픽 | 설명 |
---|---|
VPC 네트워크에서 다른 VPC 네트워크로 향하는 트래픽 | Private NAT는 Network Connectivity Center 허브에 VPC 스포크로 연결된 VPC 네트워크의 비공개-비공개 NAT를 지원합니다. 자세한 내용은 Network Connectivity Center 스포크용 Private NAT를 참고하세요. |
VPC 네트워크에서 Google Cloud 외부 네트워크로 향하는 트래픽 | Private NAT는 VPC 네트워크와 온프레미스 또는 기타 클라우드 제공업체 네트워크 간의 트래픽에 다음 옵션을 지원합니다.
|
VPC 네트워크의 리소스가 VPC 네트워크 또는 온프레미스나 다른 비즈니스 단위가 소유한 기타 클라우드 제공업체 네트워크의 리소스와 통신해야 한다고 가정해 보겠습니다. 그러나 해당 네트워크에 IP 주소가 내 VPC 네트워크의 IP 주소와 겹치는 서브넷이 포함되어 있습니다. 이 시나리오에서는 VPC 네트워크의 서브넷 간에 발생하는 트래픽을 다른 네트워크의 겹치지 않는 서브넷으로 변환하는 Private NAT 게이트웨이를 만듭니다.
Private NAT에 대한 자세한 내용은 Private NAT를 참조하세요.
지원되는 리소스
다음 표에는 각 Cloud NAT 유형에서 지원되는 Google Cloud 리소스가 나와 있습니다. 체크표시는 리소스가 지원됨을 나타내고 기호는 리소스가 지원되지 않음을 나타냅니다.
리소스 | Public NAT | 비공개 NAT |
---|---|---|
Compute Engine VM 인스턴스 | ||
GKE 클러스터 | ||
Cloud Run, Cloud Run 함수, App Engine 표준 환경 | ||
리전별 인터넷 NEG | 해당 없음 |
아키텍처
Cloud NAT는 소프트웨어로 정의되는 분산형 및 관리형 서비스입니다. 프록시 VM 또는 어플라이언스를 기반으로 하지 않습니다. Cloud NAT는 리소스에 소스 네트워크 주소 변환(소스 NAT 또는 SNAT)이 제공되도록 Virtual Private Cloud(VPC) 네트워크를 지원하는 Andromeda 소프트웨어를 구성합니다. Cloud NAT는 또한 설정된 인바운드 응답 패킷에만 대상 네트워크 주소 변환(대상 NAT 또는 DNAT)을 제공합니다.
이점
Cloud NAT는 다음과 같은 이점을 제공합니다.
보안
Public NAT 게이트웨이를 사용하면 개별 VM이 각각 외부 IP 주소를 가져야 할 필요성을 줄일 수 있습니다. 이그레스 방화벽 규칙에 따라 외부 IP 주소가 없는 VM이 인터넷에서 대상에 액세스할 수 있습니다. 예를 들어 업데이트 다운로드 또는 프로비저닝 완료를 위해서만 VM에 인터넷 액세스가 필요할 수 있습니다.
수동 NAT IP 주소 할당을 사용하여 Public NAT 게이트웨이를 구성할 경우 공통 외부 소스 IP 주소 집합을 대상과 확실하게 공유할 수 있습니다. 예를 들어 대상 서비스는 알려진 외부 IP 주소로부터 들어오는 연결만 허용할 수 있습니다.
Private NAT 게이트웨이는 Network Connectivity Center 연결된 VPC 스포크의 리소스가 겹치는 서브네트워크 내에 있는 VM과 직접 연결을 시작하는 것을 허용하지 않습니다. Private NAT 구성의 VM에서 다른 네트워크의 VM과의 연결을 시작하려고 하면 Private NAT 게이트웨이가 Private NAT 범위의 IP 주소를 사용하여 SNAT를 수행합니다. 또한 게이트웨이가 아웃바운드 패킷에 대한 응답에 DNAT를 수행합니다.
가용성
Cloud NAT는 소프트웨어로 정의되는 분산형 및 관리형 서비스입니다. 프로젝트의 VM 또는 단일 물리적 게이트웨이 기기에 의존하지 않습니다. 지정한 구성 매개변수를 저장하는 NAT의 제어 영역을 제공하는 Cloud Router에서 NAT 게이트웨이를 구성합니다. Google Cloud는 Google Cloud VM을 실행하는 물리적 머신에서 프로세스를 실행하고 유지관리합니다.
확장성
사용되는 NAT IP 주소 수를 자동으로 확장하도록 Cloud NAT를 구성할 수 있으며 자동 확장이 사용 설정된 그룹을 포함하여 관리형 인스턴스 그룹에 속하는 VM을 지원합니다.
성능
Cloud NAT는 VM별 네트워크 대역폭을 줄이지 않습니다. Cloud NAT는 Google의 Andromeda 소프트웨어 정의 네트워킹으로 구현됩니다. 자세한 내용은 Compute Engine 문서의 네트워크 대역폭을 참조하세요.
로깅
Cloud NAT 트래픽의 경우 규정 준수, 디버깅, 분석, 회계 목적으로 연결 및 대역폭을 추적할 수 있습니다.
모니터링
Cloud NAT는 Fleet의 NAT 게이트웨이 사용을 파악할 수 있도록 Cloud Monitoring에 대한 핵심 측정항목을 제공합니다. 측정항목은 Cloud Monitoring에 자동으로 전송됩니다. 여기에서 커스텀 대시보드를 만들고, 알림을 설정하고, 측정항목을 쿼리할 수 있습니다.
제품 상호작용
Cloud NAT와 다른 Google Cloud 제품 간의 중요한 상호작용에 대한 자세한 내용은 Cloud NAT 제품 상호작용을 참조하세요.
다음 단계
- Cloud NAT 제품 상호작용 알아보기
- Cloud NAT 주소 및 포트 알아보기
- Public NAT 게이트웨이 설정
- Cloud NAT 규칙 알아보기
- Private NAT 게이트웨이 설정
- 일반적인 문제 해결하기
- Cloud NAT 가격 책정 알아보기