이 페이지에서는 Cloud NAT를 구성하는 방법을 설명합니다. Cloud NAT를 구성하기 전에 Cloud NAT 개요를 읽어보세요.
않습니다.기본 요건
Cloud NAT를 설정하기 전에 다음을 수행해야 합니다.
IAM 권한 가져오기
roles/compute.networkAdmin 역할은 Cloud Router에서 NAT 게이트웨이를 만들고, NAT IP 주소를 예약 및 할당하고, 트래픽이 NAT 게이트웨이의 네트워크 주소 변환을 사용해야 하는 서브네트워크(서브넷)를 지정할 수 있는 권한을 부여합니다.
Google Cloud 설정
시작하기 전에 Google Cloud에서 다음 항목을 설정합니다.
-
Google 계정으로
로그인합니다.
아직 계정이 없으면 새 계정을 등록하세요.
-
Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.
-
Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.
- Cloud SDK 설치 및 초기화
사용 시나리오 및 샘플 명령어
NAT 만들기
단순 구성 설정
이 구성은 리전에 NAT 서비스를 제공하기 위해 필요한 외부 IP 주소를 자동으로 할당합니다. 리전의 모든 서브넷의 외부 IP 주소가 없는 VM 인스턴스는 NAT를 통해 인터넷에 액세스할 수 있습니다. 이 구성은 또한 모든 로그 유형에 대해 로깅 사용을 설정합니다.
자동 할당을 사용하면 Google Cloud에서 프로젝트의 IP 주소를 자동으로 예약합니다. 이 주소는 프로젝트의 고정 IP 주소 할당량에 반영됩니다.
게이트웨이의 엔드포인트 독립 매핑을 사용 설정 또는 사용 중지할 수 있습니다. 설정은 엔드포인트 매핑 설정을 참조하세요.
Console
Google Cloud Console에서 Cloud NAT 페이지로 이동합니다.
시작하기 또는 NAT 게이트웨이 만들기를 클릭합니다.
게이트웨이 이름을 입력합니다.
VPC 네트워크를 선택합니다.
NAT 게이트웨이의 리전을 설정합니다.
리전에서 Cloud Router를 선택하거나 만듭니다.
로깅, 최소 포트 수, 제한시간을 클릭하여 해당 섹션을 엽니다.
Stackdriver Logging에서 변환 및 오류를 선택합니다. 그러면 모든 로그가 Cloud Logging으로 전송됩니다.
만들기를 클릭합니다.
gcloud
gcloud compute routers nats create NAT_CONFIG \ --router=NAT_ROUTER \ --auto-allocate-nat-external-ips \ --nat-all-subnet-ip-ranges \ --enable-logging
다음을 바꿉니다.
NAT_CONFIG
: NAT 구성 이름NAT_ROUTER
: Cloud Router의 이름
NAT의 IP 주소 지정
각 IP 주소는 예약된 고정 IP 주소 리소스의 이름입니다.
Console
Cloud Console에서 Cloud NAT 페이지로 이동합니다.
시작하기 또는 NAT 게이트웨이 만들기를 클릭합니다.
게이트웨이 이름을 입력합니다.
VPC 네트워크를 선택합니다.
NAT 게이트웨이의 리전을 설정합니다.
리전에서 Cloud Router를 선택하거나 만듭니다.
NAT IP 주소를 수동으로 설정합니다.
NAT에 사용할 고정 예약 외부 IP 주소를 선택하거나 만듭니다.
추가 IP 주소를 지정하려면 IP 주소 추가를 클릭한 후 추가 고정 예약 외부 IP 주소를 선택하거나 만듭니다.
만들기를 클릭합니다.
gcloud
gcloud compute routers nats create NAT_CONFIG \ --router=NAT_ROUTER \ --nat-all-subnet-ip-ranges \ --nat-external-ip-pool=IP_ADDRESS1,IP_ADDRESS2
다음을 바꿉니다.
NAT_CONFIG
: NAT 구성 이름NAT_ROUTER
: Cloud Router의 이름IP_ADDRESS1
: NAT에 사용할 고정 예약 외부 IP 주소IP_ADDRESS2
: NAT에 사용할 또 다른 고정 예약 외부 IP 주소
NAT의 서브넷 범위 지정
기본적으로 NAT는 지정된 VPC 네트워크에 대한 리전에서 모든 서브넷의 전체 기본 및 보조 IP 범위에서 작동합니다. NAT를 사용할 수 있는 기본 및 보조 서브넷 범위를 제한할 수 있습니다.
Console
Cloud Console에서 Cloud NAT 페이지로 이동합니다.
시작하기 또는 NAT 게이트웨이 만들기를 클릭합니다.
게이트웨이 이름을 입력합니다.
VPC 네트워크를 선택합니다.
NAT 게이트웨이의 리전을 설정합니다.
리전에서 Cloud Router를 선택하거나 만듭니다.
NAT 매핑에서 소스를 커스텀으로 설정합니다.
서브넷을 선택합니다.
IP 범위 드롭다운 목록에서 포함할 서브넷 IP 범위를 선택합니다.
확인을 클릭합니다.
추가 범위를 지정하려면 서브넷 및 IP 범위 추가를 클릭합니다.
만들기를 클릭합니다.
gcloud
gcloud compute routers nats create NAT_CONFIG \ --router=NAT_ROUTER \ --auto-allocate-nat-external-ips \ --nat-custom-subnet-ip-ranges=SUBNETS
다음을 바꿉니다.
NAT_CONFIG
: NAT 구성 이름NAT_ROUTER
: Cloud Router의 이름SUBNETS
: 쉼표로 구분된 서브넷 목록
NAT에 대한 VM당 최소 기본 포트 수를 다르게 지정
Console
Cloud Console에서 Cloud NAT 페이지로 이동합니다.
시작하기 또는 NAT 게이트웨이 만들기를 클릭합니다.
게이트웨이 이름을 입력합니다.
VPC 네트워크를 선택합니다.
NAT 게이트웨이의 리전을 설정합니다.
리전에서 Cloud Router를 선택하거나 만듭니다.
로깅, 최소 포트 수, 제한 시간을 클릭합니다.
VM 인스턴스당 최소 포트 수를 다른 값으로 설정합니다.
만들기를 클릭합니다.
gcloud
gcloud compute routers nats create NAT_CONFIG \ --router=NAT_ROUTER \ --auto-allocate-nat-external-ips \ --min-ports-per-vm=128
다음을 바꿉니다.
NAT_CONFIG
: NAT 구성 이름NAT_ROUTER
: Cloud Router의 이름
자세한 내용은 포트 및 연결을 참조하세요.
NAT에 다른 제한 시간 지정
Console
Cloud Console에서 Cloud NAT 페이지로 이동합니다.
시작하기 또는 NAT 게이트웨이 만들기를 클릭합니다.
게이트웨이 이름을 입력합니다.
VPC 네트워크를 선택합니다.
NAT 게이트웨이의 리전을 설정합니다.
리전에서 Cloud Router를 선택하거나 만듭니다.
로깅, 최소 포트 수, 제한 시간을 클릭합니다.
원하는 대로 제한 시간을 수정합니다.
만들기를 클릭합니다.
gcloud
gcloud compute routers nats create NAT_CONFIG \ --router=NAT_ROUTER \ --auto-allocate-nat-external-ips \ --nat-custom-subnet-ip-ranges=SUBNETS \ --udp-mapping-idle-timeout=60s \ --icmp-mapping-idle-timeout=60s \ --tcp-established-connection-idle-timeout=60s \ --tcp-transitory-connection-idle-timeout=60s
다음을 바꿉니다.
NAT_CONFIG
: NAT 구성 이름NAT_ROUTER
: Cloud Router의 이름SUBNETS
: 쉼표로 구분된 서브넷 목록
NAT 업데이트
NAT와 연결된 서브넷 및 IP 주소 리소스 변경
Console
Google Cloud Console에서 Cloud NAT 페이지로 이동합니다.
NAT 게이트웨이를 클릭합니다.
수정을 클릭합니다.
NAT 매핑에서 소스를 커스텀으로 설정합니다.
서브넷을 선택합니다.
IP 범위 드롭다운 목록에서 포함할 서브넷 IP 범위를 선택합니다.
추가 범위를 지정하려면 서브넷 및 IP 범위 추가를 클릭합니다.
NAT IP 주소 드롭다운 목록을 클릭한 후 자동 또는 수동을 선택합니다.
수동을 선택하는 경우 외부 IP 주소를 지정합니다.
수동 IP 주소로 고가용성을 유지하려면 IP 주소 추가를 클릭하고 두 번째 주소를 추가합니다.
'Save(저장)'를 클릭합니다.
gcloud
gcloud compute routers nats update NAT_CONFIG \ --router=NAT_ROUTER \ --nat-external-ip-pool=IP_ADDRESS2,IP_ADDRESS3 \ --nat-custom-subnet-ip-ranges=SUBNETS:range1
다음을 바꿉니다.
NAT_CONFIG
: NAT 구성 이름NAT_ROUTER
: Cloud Router의 이름IP_ADDRESS2
: 수동 외부 IP 주소IP_ADDRESS3
: 다른 수동 외부 IP 주소SUBNETS
: 쉼표로 구분된 서브넷 목록
NAT와 연결된 외부 IP 주소 변경
특정 게이트웨이의 외부 IP 주소 목록을 변경할 수 있습니다. 이렇게 하면 Google Cloud가 이전 주소를 삭제하고 새 주소를 추가합니다. 이전 IP 주소의 기존 연결은 즉시 종료됩니다. 기존 IP 주소에서 새 연결을 차단하면서 기존 연결을 계속 허용하려면 NAT와 연결된 외부 IP 주소 드레이닝을 참조하세요.
Console
Cloud Console에서 Cloud NAT 페이지로 이동합니다.
NAT 게이트웨이를 클릭합니다.
수정을 클릭합니다.
NAT IP 주소 드롭다운 목록을 클릭한 후 자동 또는 수동을 선택합니다.
수동을 선택하는 경우 외부 IP 주소를 지정합니다.
고가용성을 위해 IP 주소 추가를 클릭하고 두 번째 주소를 추가합니다.
'Save(저장)'를 클릭합니다.
gcloud
gcloud compute routers nats update NAT_CONFIG \ --router=NAT_ROUTER \ --nat-external-ip-pool=IP_ADDRESS2,IP_ADDRESS3
다음을 바꿉니다.
NAT_CONFIG
: NAT 구성 이름NAT_ROUTER
: Cloud Router의 이름IP_ADDRESS2
: 수동 외부 IP 주소IP_ADDRESS3
: 다른 수동 외부 IP 주소
NAT와 연결된 외부 IP 주소 드레이닝
수동으로 구성된 IP 주소를 삭제하기 전에 기존 연결이 중단되지 않도록 드레이닝 할 수 있습니다. IP 주소를 드레이닝하면 모든 기존 연결은 자연적으로 만료될 때까지 계속 허용됩니다. 기존 로그를 보고 기존 상태를 확인할 수 있습니다
드레이닝한 IP 주소에는 새 연결이 허용되지 않습니다. 그러나 IP 주소는 NAT 구성과 연결된 상태로 유지됩니다.
NAT 구성에는 활성 주소가 하나 이상 있어야합니다. 즉, 구성의 모든 IP 주소를 드레이닝할 수 없습니다.
NAT IP 주소의 상태를 확인하려면 NAT 상태를 표시하면 됩니다.
Console
Cloud Console에서 Cloud NAT 페이지로 이동합니다.
NAT 게이트웨이를 클릭합니다.
수정을 클릭합니다.
NAT IP 주소에서 IP 주소 옆에 있는 IP 드레이닝 값을 켜기로 설정합니다.
'Save(저장)'를 클릭합니다.
gcloud
주소를 드레이닝하려면 동일한 명령어에서 주소를 활성 풀에서 드레이닝 풀로 이동해야 합니다. 단일 명령어의 드레이닝 풀에 추가하지 않고 활성 풀에서 삭제하면 IP 주소가 서비스에서 삭제되고 기존 연결이 즉시 종료됩니다.
IP 주소를 드레이닝 풀에서 활성 풀로 이동하면 IP 주소 드레이닝이 취소됩니다. NAT IP 주소를 두 풀에서 모두 제거하면 NAT 구성에서 연결 해제됩니다.
이 명령어는 NAT 구성의 다른 필드를 변경하지 않습니다.
gcloud compute routers nats update NAT_CONFIG \ --router=NAT_ROUTER \ --nat-external-ip-pool=IP_ADDRESS3 \ --nat-external-drain-ip-pool=IP_ADDRESS2
각 항목의 의미는 다음과 같습니다.
--nat-external-ip-pool=IP_ADDRESS3
:IP_ADDRESS2
를 생략하도록 활성 풀을 업데이트--nat-external-drain-ip-pool=IP_ADDRESS2
: 드레이닝 풀에IP_ADDRESS2
를 추가
다음을 바꿉니다.
NAT_CONFIG
: NAT 구성 이름NAT_ROUTER
: Cloud Router의 이름IP_ADDRESS3
: IP 주소IP_ADDRESS2
: 다른 IP 주소
NAT와 연결된 VM당 할당되는 최소 기본 포트 수 변경
Console
Cloud Console에서 Cloud NAT 페이지로 이동합니다.
NAT 게이트웨이를 클릭합니다.
수정을 클릭합니다.
로깅, 최소 포트 수, 제한 시간을 클릭합니다.
VM 인스턴스당 최소 포트 수 필드를 수정합니다.
'Save(저장)'를 클릭합니다.
gcloud
이 명령어는 NAT 구성의 다른 필드를 변경하지 않습니다.
gcloud compute routers nats update NAT_CONFIG \ --router=NAT_ROUTER \ --min-ports-per-vm=128
다음을 바꿉니다.
NAT_CONFIG
: NAT 구성 이름NAT_ROUTER
: Cloud Router의 이름
자세한 내용은 포트 및 연결을 참조하세요.
NAT와 연결된 연결 제한 시간 변경
Console
Cloud Console에서 Cloud NAT 페이지로 이동합니다.
NAT 게이트웨이를 클릭합니다.
수정을 클릭합니다.
로깅, 최소 포트 수, 제한 시간을 클릭합니다.
변경하려는 제한 시간 값을 수정합니다.
'Save(저장)'를 클릭합니다.
gcloud
이 명령어는 NAT 구성의 다른 필드를 변경하지 않습니다.
gcloud compute routers nats update NAT_CONFIG \ --router=NAT_ROUTER \ --udp-mapping-idle-timeout=60s \ --icmp-mapping-idle-timeout=60s \ --tcp-established-connection-idle-timeout=60s \ --tcp-transitory-connection-idle-timeout=60s
다음을 바꿉니다.
NAT_CONFIG
: NAT 구성 이름NAT_ROUTER
: Cloud Router의 이름
NAT와 연결된 연결 시간 제한을 기본값으로 재설정
Console
Cloud Console에서 Cloud NAT 페이지로 이동합니다.
NAT 게이트웨이를 클릭합니다.
수정을 클릭합니다.
로깅, 최소 포트 수, 제한 시간을 클릭합니다.
재설정하려는 사용자 구성 값을 모두 삭제합니다.
'Save(저장)'를 클릭합니다.
삭제한 값은 기본값으로 재설정됩니다.
gcloud
이 명령어는 NAT 구성의 다른 필드를 변경하지 않습니다.
gcloud compute routers nats update NAT_CONFIG \ --router=NAT_ROUTER \ --clear-udp-mapping-idle-timeout \ --clear-icmp-mapping-idle-timeout \ --clear-tcp-established-connection-idle-timeout \ --clear-tcp-transitory-connection-idle-timeout
다음을 바꿉니다.
NAT_CONFIG
: NAT 게이트웨이의 이름NAT_ROUTER
: Cloud Router의 이름
엔드포인트 매핑 설정
게이트웨이의 엔드포인트 독립 매핑을 사용 설정 또는 사용 중지할 수 있습니다. 이 기능은 기본적으로 사용 설정되어 있습니다.
Console
Cloud Console에서 Cloud NAT 페이지로 이동합니다.
NAT 게이트웨이를 클릭합니다.
수정을 클릭합니다.
고급 구성을 클릭합니다.
엔드포인트 종속 매핑을 사용 설정하려면 엔드포인트 독립 매핑 사용 설정 체크박스를 선택합니다. 엔드포인트 독립 매핑을 사용 중지하려면 체크박스를 선택 해제합니다.
저장을 클릭합니다.
gcloud
기존 게이트웨이 업데이트
gcloud compute routers nats update NAT_CONFIG \ --router=NAT_ROUTER \ [--enable-endpoint-independent-mapping | --no-enable-endpoint-independent-mapping]
다음을 바꿉니다.
NAT_CONFIG
: NAT 구성 이름NAT_ROUTER
: Cloud Router의 이름
로깅 구성
기존 게이트웨이의 로깅을 추가(사용 설정), 수정, 삭제하려면 로깅 구성을 참조하세요.
NAT 삭제
이렇게 하면 Cloud Router에서 NAT 구성을 삭제합니다. 라우터 자체는 삭제하지 않습니다.
Console
Google Cloud Console에서 Cloud NAT 페이지로 이동합니다.
삭제하려는 게이트웨이 구성 옆의 체크박스를 선택합니다.
메뉴
에서 삭제를 클릭합니다.
gcloud
gcloud compute routers nats delete NAT_CONFIG --router=NAT_ROUTER
다음을 바꿉니다.
NAT_CONFIG
: NAT 구성 이름NAT_ROUTER
: Cloud Router의 이름
NAT 구성, IP:포트 범위, 상태 표시
Console
Google Cloud Console에서 Cloud NAT 페이지로 이동합니다.
NAT 게이트웨이 세부정보, 매핑 정보, 구성 세부정보를 보려면 NAT 게이트웨이 이름을 클릭합니다.
NAT 상태를 보려면 NAT 게이트웨이의 상태 열을 확인합니다.
gcloud
gcloud compute routers nats describe NAT_CONFIG --router=NAT_ROUTER
다음을 바꿉니다.
NAT_CONFIG
: NAT 구성 이름NAT_ROUTER
: Cloud Router의 이름
gcloud compute routers get-nat-mapping-info
기존 routers get-status
명령어는 NAT 상태를 표시합니다.
gcloud compute routers get-status
할당량 및 한도
주어진 할당량 또는 한도는 리소스별로 계산됩니다. 할당량 및 한도는 프로젝트별, 네트워크별, 리전별, 기타 리소스별로 적용될 수 있습니다. 자세한 내용은 할당량 페이지를 참조하세요.
설정 예시
이 예시에서는 Google Cloud로 Cloud NAT를 테스트하는 방법을 보여줍니다.
다음 단계
- NAT 구성의 일반적인 문제를 해결합니다.