로그 및 측정항목

로깅

Cloud NAT 로깅을 사용하면 NAT 연결 및 오류를 로깅할 수 있습니다. Cloud NAT 로깅이 사용하도록 설정되었으면 다음과 같은 각 시나리오에 대해 하나의 로그 항목이 생성될 수 있습니다.

  • NAT를 사용하는 네트워크 연결이 생성된 경우
  • NAT에 사용 가능한 포트가 없어서 패킷이 삭제된 경우

두 종류의 이벤트를 모두 로깅하거나 둘 중 하나만 로깅하도록 선택할 수 있습니다.

생성된 로그는 Cloud Logging으로 전송됩니다.

사양

다음 사양은 Cloud NAT 로깅에 적용됩니다.

  • Cloud NAT 로깅은 TCP 및 UDP 트래픽만 처리합니다.

  • Cloud NAT 로깅은 이그레스(아웃바운드) TCP 및 UDP 패킷인 경우 삭제된 패킷만 로깅합니다. 삭제된 수신 패킷은 로깅하지 않습니다. 예를 들어 아웃바운드 요청에 대한 인바운드 응답이 어떤 이유로든 삭제되었으면 오류가 로깅되지 않습니다.

각 VM 인스턴스는 vCPUs 개수에 비례해서 단위 시간별로 로그 항목의 특정 개수만 생성할 수 있습니다. VM은 vCPU별로 초당 50-100개의 로그 항목을 생성할 수 있습니다.

  • 이러한 비율 기준은 로깅 가능한 이벤트 수에 영향을 줍니다. 일부 이벤트가 필터링되었더라도 해당 이벤트가 발생하면 가능한 로그 항목 수에 포함되어 계산됩니다. 오류로만 또는 네트워크 주소 변환 연결로만 로그를 제한한다고 해서 확인된 로그 항목 수가 반드시 증가하지는 않습니다. 예를 들어 성공한 연결만 로깅하도록 선택한 경우에도 과도하게 실패한 연결 시도 및 NAT 오류 기간이 성공한 연결 로그 항목 수를 제한할 수 있습니다.

  • Cloud NAT 로깅은 모든 단일 패킷을 로깅하지 않습니다. VM의 비율 기준에 도달하지 않았더라도 일부 조건은 로그에서 이벤트가 생략되도록 할 수 있습니다. 올바른 결정을 내리기 위해서는 Cloud NAT 로깅에 있는 항목 정보에 의존해야 하지만, 항목이 존재하지 않는다고 해서 이벤트가 발생하지 않았다고 간주해서는 안 됩니다.

로깅 구성

Cloud NAT 로깅을 구성하려면 다음 단계를 따르세요.

로깅 사용 설정

로깅이 사용 설정되면 수집된 모든 로그가 기본적으로 Cloud Logging으로 전송됩니다. 특정 로그만 전송되도록 이를 필터링할 수 있습니다.

또한 NAT 게이트웨이를 만들거나 수정할 때 이러한 값을 지정할 수 있습니다. 다음 안내에서는 기존 NAT 게이트웨이에 대해 로깅을 사용 설정하는 방법을 보여줍니다.

콘솔

  1. Google Cloud 콘솔에서 Cloud NAT 페이지로 이동합니다.

    Cloud NAT로 이동

  2. NAT 게이트웨이를 클릭합니다.

  3. 수정을 클릭합니다.

  4. 고급 구성을 클릭합니다.

  5. Logging 섹션에서 다음 중 하나를 선택합니다.

    • 로깅 없음: 로깅을 사용 중지합니다.
    • 변환 및 오류: 모든 로그를 Logging으로 보냅니다.
    • 변환만: 연결이 생성될 때만 로그를 보내며 삭제된 패킷은 로깅하지 않습니다.
    • 오류만: 사용할 수 있는 포트가 없어서 패킷이 삭제될 때 로그를 보내며 새 연결은 로깅하지 않습니다.
  6. 저장을 클릭합니다.

gcloud

다음 명령어는 기존 NAT 게이트웨이에 대해 로깅을 사용 설정합니다.

각 명령어에서 다음을 바꿉니다.

  • NAT_GATEWAY: NAT 게이트웨이의 이름
  • ROUTER_NAME: NAT 게이트웨이를 호스팅하는 Cloud Router의 이름
  • REGION: Cloud Router의 리전

네트워크 주소 변환 이벤트 및 오류를 로깅하려면 다음 명령어를 사용합니다.

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --enable-logging

네트워크 주소 변환 이벤트만 로깅하려면 다음 명령어를 사용합니다.

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --enable-logging \
    --log-filter=TRANSLATIONS_ONLY

오류만 로깅하려면 다음 명령어를 사용합니다

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --enable-logging \
    --log-filter=ERRORS_ONLY

로그 필터 삭제

설정된 필터가 있으면 이를 삭제할 수 있습니다. 로그 필터를 지우면 로깅이 사용 설정된 경우 네트워크 주소 변환 이벤트와 오류가 모두 로깅됩니다.

콘솔

  1. Google Cloud 콘솔에서 Cloud NAT 페이지로 이동합니다.

    Cloud NAT로 이동

  2. NAT 게이트웨이를 클릭합니다.

  3. 수정을 클릭합니다.

  4. 고급 구성을 클릭합니다.

  5. Logging 섹션에서 변환 및 오류를 선택합니다.

  6. 저장을 클릭합니다.

gcloud

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --log-filter=ALL

다음을 바꿉니다.

  • NAT_GATEWAY: NAT 게이트웨이의 이름
  • ROUTER_NAME: NAT 게이트웨이를 호스팅하는 Cloud Router의 이름
  • REGION: Cloud Router의 리전
  • --log-filter=ALL: 모든 로그를 수락하도록 로그 필터를 설정

로깅 중지

로깅을 사용 중지하려면 다음 안내를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 Cloud NAT 페이지로 이동합니다.

    Cloud NAT로 이동

  2. NAT 게이트웨이를 클릭합니다.

  3. 수정을 클릭합니다.

  4. 고급 구성을 클릭합니다.

  5. Logging 섹션에서 로깅 안함을 선택합니다.

  6. 저장을 클릭합니다.

gcloud

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --no-enable-logging

다음을 바꿉니다.

  • NAT_GATEWAY: NAT 게이트웨이의 이름
  • ROUTER_NAME: NAT 게이트웨이를 호스팅하는 Cloud Router의 이름
  • REGION: Cloud Router의 리전

로깅 상태 확인

로깅 상태를 확인하려면 다음을 수행하세요.

콘솔

  1. Google Cloud 콘솔에서 Cloud NAT 페이지로 이동합니다.

    Cloud NAT로 이동

  2. NAT 게이트웨이를 클릭합니다.

  3. 수정을 클릭합니다.

  4. 고급 구성을 클릭합니다.

  5. Logging 섹션에서 선택 항목을 검사합니다.

gcloud

gcloud compute routers nats describe NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION

다음을 바꿉니다.

  • NAT_GATEWAY: NAT 게이트웨이의 이름
  • ROUTER_NAME: NAT 게이트웨이를 호스팅하는 Cloud Router의 이름
  • REGION: Cloud Router의 리전

로그 보기

NAT 로그를 보려면 다음 안내를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 로그 탐색기 페이지로 이동합니다.

    로그 탐색기로 이동

    • 모든 NAT 로그를 보려면 로그 이름 메뉴에서 Cloud NAT 게이트웨이를 선택합니다.
    • 한 리전의 로그만 보려면 로그 이름 메뉴에서 Cloud NAT 게이트웨이를 선택한 후 커서를 오른쪽으로 밀어서 리전을 선택합니다.
    • 한 게이트웨이의 로그만 보려면 로그 이름 메뉴에서 Cloud NAT 게이트웨이를 선택한 다음 커서를 오른쪽으로 밀어서 리전을 선택하고 커서를 다시 왼쪽으로 밀어서 단일 게이트웨이를 선택합니다.

또는 쿼리 편집기에 다음 표현식을 입력합니다.

resource.type="nat_gateway"
logName="projects/{#project_id}/logs/compute.googleapis.com%2Fnat_flows"

gcloud

gcloud logging read 'resource.type=nat_gateway' \
    --limit=10 \
    --format=json

각 항목의 의미는 다음과 같습니다.

  • resource.type=nat_gateway: 출력을 NAT 게이트웨이로 제한합니다.
  • --limit=10: 출력을 10개 항목으로 제한합니다. 다른 값을 입력하여 더 많거나 적은 항목을 확인하거나 값을 완전히 생략하여 로그를 연속된 스크롤로 확인할 수 있습니다.
  • --format=json: 출력을 JSON 형식으로 표시합니다.

추가 옵션은 로그 항목 읽기를 참조하세요.

리소스 로그에 대해 로그 기반 측정항목 내보내기를 구성할 수 있습니다.

로깅되는 내용

Cloud NAT 로그 항목에는 NAT 트래픽 모니터링 및 디버깅에 유용한 정보가 포함됩니다. 로그 항목은 다음과 같은 유형의 정보를 담고 있습니다.

  • 심각도, 프로젝트 ID, 프로젝트 번호, 타임스탬프 등과 같이 대부분의 Google Cloud 로그에 표시되는 일반 정보
  • Cloud NAT와 관련된 특정 정보. 일부 로그 필드에는 자체적으로 여러 필드인 항목들이 포함됩니다. 이러한 항목과 필드 설명은 다음 표에 나와 있습니다.

로그 필드

필드 의미
connection object(NatIpConnection) 이 연결의 소스 VM IP 주소 및 포트, NAT 소스 IP 주소 및 포트, 대상 IP 주소 및 포트, IP 주소 프로토콜을 설명하는 7-튜플입니다.
allocation_status enum 이 연결이 성공적으로 할당 또는 삭제되었는지 여부를 나타냅니다. OK 또는 DROPPED 중 하나입니다.
gateway_identifiers object(NatGateway) 연결에 사용된 NAT 게이트웨이 구성입니다.
endpoint object(InstanceDetails) VM 인스턴스 세부정보입니다. 공유 VPC 구성에서 project_id는 서비스 프로젝트에 해당합니다.
vpc object(VpcDetails) Virtual Private Cloud(VPC) 네트워크 세부정보입니다. 공유 VPC 구성에서 project_id는 호스트 프로젝트의 프로젝트 ID에 해당합니다.
destination object(DestinationDetails) 연결 대상의 세부정보입니다.

NatIpConnection 필드 형식

필드 유형 설명
src_ip 문자열 소스 IP 주소
src_port int32 소스 포트
nat_ip 문자열 NAT IP 주소
nat_port int32 NAT이 할당된 포트
dest_ip 문자열 대상 IP 주소
dest_port int32 목적지 포트
protocol int32 IANA 프로토콜 번호

NatGateway 필드 형식

필드 유형 설명
gateway_name 문자열 NAT 게이트웨이 이름
router_name 문자열 NAT 게이트웨이와 연결된 Cloud Router
region 문자열 Cloud Router의 리전

InstanceDetails 필드 형식

필드 유형 설명
project_id 문자열 VM이 포함된 프로젝트의 ID
vm_name 문자열 VM의 인스턴스 이름
region 문자열 VM의 리전
zone 문자열 VM의 영역

VpcDetails 필드 형식

필드 유형 설명
project_id 문자열 네트워크가 포함된 프로젝트의 ID
vpc_name 문자열 VM이 작동 중인 네트워크
subnetwork_name 문자열 VM이 작동 중인 서브넷

DestinationDetails 필드 형식

필드 유형 설명
geo_location object(GeographicDetails) 연결 대상이 Google Cloud 외부에 있는 경우 사용 가능한 위치 메타데이터가 이 필드에 입력됩니다.
instance object(InstanceDetails) 연결 대상이 소스와 동일한 프로젝트 내의 인스턴스이면 이 필드가 VM 인스턴스 세부정보로 채워집니다.
vpc object(VpcDetails) 연결 대상이 소스와 동일한 프로젝트 내에 있으면 이 필드가 대상 VPC 네트워크 세부정보로 채워집니다. 대상이 프로젝트 간 VPC 네트워크인 경우 이 필드가 공백으로 표시됩니다.

GeographicDetails 필드 형식

필드 유형 설명
continent 문자열 외부 엔드포인트의 대륙
country 문자열 외부 엔드포인트의 국가
region 문자열 외부 엔드포인트의 리전
city 문자열 외부 엔드포인트의 도시
asn 문자열 이 엔드포인트가 속한 외부 네트워크의 자율 시스템 번호(ASN).

예시

예시 1: 공유 VPC 네트워크에서 프랑스의 외부 서버로 이동하는 VM 인스턴스로부터 NAT된 TCP 연결 레코드

{
insertId: "1the8juf6vab1t"
jsonPayload: {
       connection: {
            Src_ip: "10.0.0.1"
            Src_port: 45047
            Nat_ip: "203.0.113.17"
            Nat_port: 34889
            dest_ip : "198.51.100.142"
            Dest_port: 80
            Protocol: "tcp"
       }
       allocation_status: "OK"
       Gateway_identifiers: {
             Gateway_name: "my-nat-1"
             router_name: "my-router-1"
             Region: "europe-west1"
       }
       Endpoint: {
             Project_id: "service-project-1"
             Vm_name: "vm-1"
             Region: "europe-west1"
             Zone: "europe-west1-b"
       }
       Vpc: {
             Project_id: "host-project"
             Vpc_name: "network-1"
             Subnetwork_name: "subnetwork-1"
       }
       Destination: {
             Geo_location: {
                   Continent: "Europe"
                   Country: "France"
                   Region: "Nouvelle-Aquitaine"
                   City: "Bordeaux"
             }
       }
}
logName: "projects/host-project/logs/compute.googleapis.com%2Fnat_flows"
receiveTimestamp: "2018-06-28T10:46:08.123456789Z"
resource: {
      labels: {
            region: "europe-west1-d"
            project_id: "host-project"
            router_id: "987654321123456"
            gateway_name: "my-nat-1"
      }
      type: "nat_gateway"
}
labels: {
      nat.googleapis.com/instance_name: "vm-1"
      nat.googleapis.com/instance_zone: "europe-west1-b"
      nat.googleapis.com/nat_ip: "203.0.113.17"
      nat.googleapis.com/network_name: "network-1"
      nat.googleapis.com/router_name: "my-router-1"
      nat.googleapis.com/subnetwork_name: "subnetwork-1"
}
timestamp: "2018-06-28T10:46:00.602240572Z"
}

예시 2: 사용 가능한 포트가 없기 때문에 삭제된 패킷의 레코드 VM 전송을 통해 동일 프로젝트에서 다른 VM의 외부 IP 주소에 도달하려고 시도했습니다.

{
insertId: "1the8juf6vab1l"
jsonPayload: {
       connection: {
            Src_ip: "10.0.128.1"
            Src_port: 45047
            dest_ip : "192.0.2.87"
            Dest_port: 80
            Protocol: "tcp"
       }
       allocation_status: "DROPPED"
       Gateway_identifiers: {
             Gateway_name: "my-nat-2"
             Cloud_router: "my-router-1"
             Region: "europe-west1"
       }
       Endpoint: {
             Project_id: "service-project-1"
             Vm_name: "vm-1"
             Region: "europe-west1"
             Zone: "europe-west1-b"
       }
       Vpc: {
             Project_id: "host-project"
             Vpc_name: "network-1"
             Subnetwork_name: "subnetwork-1"
       }
       Destination: {
             Instance: {
                   Project_id: "service-project-1"
                   Vm_name: "vm-2"
                   Region: "asia-east1"
                   Zone: "asia-east1-b"
             }
       }
}
logName: "projects/host-project/logs/compute.googleapis.com%2Fnat_flows"
receiveTimestamp: "2018-06-28T10:46:09.123456789Z"
resource: {
       labels: {
              region: "europe-west1-d"
              project_id: "host-project"
              router_id: "987654321123456"
              gateway_name: "my-nat-2"
       }
       type: "nat_gateway"
}
timestamp: "2018-06-28T10:46:01.602240572Z"
}

Cloud NAT 로깅 가격 책정

로깅 가격 책정을 참조하세요.

모니터링

Cloud NAT는 팀 내 NAT 게이트웨이 사용을 파악할 수 있도록 Cloud Monitoring에 대한 핵심 측정항목을 제공합니다.

측정항목은 Cloud Monitoring에 자동으로 전송됩니다. 여기에서 커스텀 대시보드를 만들고, 알림을 설정하고, 측정항목을 쿼리할 수 있습니다.

다음은 필수 Identity and Access Management(IAM) 역할입니다.

  • VM 및 NAT 게이트웨이가 서로 다른 프로젝트에 정의된 공유 VPC 사용자의 경우 VM 수준 측정항목에 액세스하려면 각 VM의 프로젝트에 대해 roles/monitoring.viewer IAM 역할이 필요합니다.

  • NAT 게이트웨이 리소스의 경우 게이트웨이 측정항목에 액세스하려면 게이트웨이가 포함된 프로젝트에 대한 roles/monitoring.viewer IAM 역할이 필요합니다.

사전 정의된 대시보드 보기

Cloud NAT는 게이트웨이 전체 활동을 표시하는 사전 정의된 대시보드 집합을 제공합니다.

  • 열려 있는 연결
  • NAT에서 처리한 이그레스 데이터(비율)
  • NAT에서 처리한 인그레스 데이터(비율)
  • 포트 사용량
  • NAT 할당 오류
  • 삭제된 전송 패킷 비율
  • 삭제된 수신 패킷 비율

특정 게이트웨이의 세부정보 페이지에서 사전 정의된 대시보드를 보려면 다음 단계를 수행합니다.

콘솔

  1. Google Cloud 콘솔에서 Cloud NAT 페이지로 이동합니다.

    Cloud NAT로 이동

  2. 기존 게이트웨이를 클릭합니다.

  3. 모니터링 탭을 클릭합니다.

  4. 모든 대시보드를 보려면 아래로 스크롤합니다. 페이지 상단에 있는 컨트롤을 사용하여 1시간부터 30일까지 뷰를 변경할 수 있습니다. 그래프의 특정 지점에 마우스를 가져가면 해당 특정 시간에 대한 세부정보가 표시됩니다.

커스텀 대시보드 정의

VM 인스턴스 측정항목 또는 NAT 게이트웨이 측정항목을 보기 위한 커스텀 대시보드를 만들려면 다음 안내를 따르세요.

콘솔

  1. Google Cloud 콘솔에서  대시보드 페이지로 이동합니다.

    대시보드로 이동

    검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Monitoring인 결과를 선택합니다.

  2. 대시보드 만들기를 클릭합니다.
  3. 선택사항: 대시보드를 설명하는 이름으로 대시보드 제목을 업데이트합니다.
  4. 위젯 추가를 클릭한 후 측정항목을 선택합니다.
  5. 측정항목 메뉴를 펼치고 필터 표시줄에 Cloud NAT Gateway 또는 VM Instance를 입력한 후 하위 메뉴를 사용하여 특정 리소스 유형과 측정항목을 선택합니다.
    1. 활성 리소스 메뉴에서 Cloud NAT 게이트웨이 또는 VM 인스턴스를 선택합니다.
    2. 활성 측정항목 카테고리 메뉴에서 NAT를 선택합니다.
    3. 활성 측정항목 메뉴에서 보려는 측정항목을 선택합니다.
    4. 적용을 클릭합니다.
  6. 시계열을 결합합니다.
    • 모든 시계열을 표시하려면 집계 요소에서 첫 번째 메뉴가 집계되지 않음으로, 두 번째 메뉴는 없음으로 설정되었는지 확인합니다.
    • 시계열을 조합하려면 집계 요소에서 첫 번째 메뉴를 사용하여 함수를 선택하고 두 번째 메뉴를 사용하여 라벨을 선택합니다. 두 번째 메뉴가 없음으로 설정되면 차트에 시계열 하나가 표시됩니다.

      예를 들어 영역별로 그룹화한 후 시계열의 평균 값을 표시하려면 첫 번째 메뉴를 평균으로, 두 번째 메뉴를 영역으로 설정합니다.

    시계열 결합에 대한 자세한 내용은 차트 데이터를 표시하는 방법 선택을 참조하세요.

  7. 대시보드에 추가하려는 각 추가 위젯의 경우 위젯 추가를 클릭하고 대화상자를 완료한 후 적용을 선택합니다.

    위젯 추가에 대한 자세한 내용은 다음 페이지를 참조하세요.

알림 정책 정의

측정항목 기반 알림 정책을 만들려면 다음 단계를 수행합니다.

콘솔

알림 정책을 만들어 측정항목 값을 모니터링하고 측정항목이 조건을 위반하면 이에 대한 알림을 수신할 수 있습니다.

  1. Google Cloud 콘솔에서  알림 페이지로 이동합니다.

    알림으로 이동

    검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Monitoring인 결과를 선택합니다.

  2. 알림 채널을 만들지 않고 알림을 받으려면 알림 채널 수정을 클릭하고 알림 채널을 추가합니다. 채널을 추가한 후 알림 페이지로 돌아갑니다.
  3. 알림 페이지에서 정책 만들기를 클릭합니다.
  4. 측정항목을 선택하려면 측정항목 선택 메뉴를 확장한 후 다음을 수행합니다.
    1. 메뉴를 관련 항목으로 제한하려면 필터 표시줄에 Cloud NAT gateway 또는 VM Instance를 입력합니다. 메뉴를 필터링한 후 결과가 없으면 활성 리소스 및 측정항목만 표시 전환을 중지합니다.
    2. 리소스 유형으로 Cloud NAT 게이트웨이 또는 VM 인스턴스를 선택합니다.
    3. 측정항목 카테고리측정항목을 선택한 후 적용을 선택합니다.
  5. 다음을 클릭합니다.
  6. 알림 트리거 구성 페이지의 설정에 따라 알림이 트리거되는 시점이 결정됩니다. 조건 유형을 선택하고 필요한 경우 기준점을 지정합니다. 자세한 내용은 측정항목 기준점 알림 정책 만들기를 참조하세요.
  7. 다음을 클릭합니다.
  8. 선택사항: 알림 정책에 알림을 추가하려면 알림 채널을 클릭합니다. 대화상자의 메뉴에서 하나 이상의 알림 채널을 선택한 다음 확인을 클릭합니다.
  9. 선택사항: 이슈 자동 종료 기간을 업데이트합니다. 이 필드는 측정항목 데이터가 없어 Monitoring에서 이슈를 닫을 시간을 결정합니다.
  10. 선택사항: 문서를 클릭한 후 알림 메시지에 포함할 정보를 추가합니다.
  11. 알림 이름을 클릭하고 알림 정책 이름을 입력합니다.
  12. 정책 만들기를 클릭합니다.
자세한 내용은 알림 정책을 참조하세요.

측정항목 보고 빈도 및 보관

Cloud NAT의 측정항목이 일괄 처리되고 1분마다 Monitoring으로 내보내집니다. 모니터링 데이터는 6주간 보관됩니다. 대시보드는 1H(1시간), 6H(6시간), 1D(1일), 1W(1주), 6W(6주)라는 기본 주기로 데이터 분석을 제공합니다. 6W에서 1분 사이의 주기로 수동으로 분석을 요청할 수도 있습니다.

VM 인스턴스 측정항목

이 테이블의 '측정항목 유형' 문자열 앞에 compute.googleapis.com/가 포함된 프리픽스를 붙여야 합니다. 테이블의 항목에서는 이 프리픽스가 생략되었습니다.

측정항목 유형 시작 단계
표시 이름
종류, 유형, 단위
모니터링 리소스
설명
라벨
nat/allocated_ports GA
할당된 포트
GAUGEINT64{port}
gce_instance
NAT 게이트웨이가 VM에 할당한 포트 수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 165초 동안 표시되지 않습니다.
nat_project_number: NAT 게이트웨이가 속하는 프로젝트 번호입니다.
router_id: NAT 게이트웨이가 속하는 Cloud Router ID입니다.
nat_gateway_name: NAT 게이트웨이의 이름입니다.
nat_ip: NAT 게이트웨이에 할당된 NAT IP입니다.
nat/closed_connections_count GA
닫힌 연결 수
DELTAINT64{connection}
gce_instance
NAT 게이트웨이에서 닫힌 연결 수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 165초 동안 표시되지 않습니다.
nat_project_number: NAT 게이트웨이가 속하는 프로젝트 번호입니다.
router_id: NAT 게이트웨이가 속하는 Cloud Router ID입니다.
nat_gateway_name: NAT 게이트웨이의 이름입니다.
ip_protocol: 연결의 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
nat/dropped_received_packets_count GA
수신된 패킷 드롭 수
DELTAINT64{packet}
gce_instance
NAT 게이트웨이에서 드롭되어 수신된 패킷의 수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 165초 동안 표시되지 않습니다.
nat_project_number: NAT 게이트웨이가 속하는 프로젝트 번호입니다.
router_id: NAT 게이트웨이가 속하는 Cloud Router ID입니다.
nat_gateway_name: NAT 게이트웨이의 이름입니다.
ip_protocol: 연결의 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
nat/dropped_sent_packets_count GA
전송된 패킷 드롭 수
DELTAINT64{packet}
gce_instance
NAT 게이트웨이에서 드롭되어 전송된 패킷의 수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 165초 동안 표시되지 않습니다.
nat_project_number: NAT 게이트웨이가 속하는 프로젝트 번호입니다.
router_id: NAT 게이트웨이가 속하는 Cloud Router ID입니다.
nat_gateway_name: NAT 게이트웨이의 이름입니다.
ip_protocol: 연결의 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
reason: 패킷이 드롭된 이유입니다. 가능한 값은 OUT_OF_RESOURCES, ENDPOINT_INDEPENDENCE_CONFLICT입니다.
nat/new_connections_count GA
새 연결 수
DELTAINT64{connection}
gce_instance
NAT 게이트웨이로 생성된 새 연결 수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 165초 동안 표시되지 않습니다.
nat_project_number: NAT 게이트웨이가 속하는 프로젝트 번호입니다.
router_id: NAT 게이트웨이가 속하는 Cloud Router ID입니다.
nat_gateway_name: NAT 게이트웨이의 이름입니다.
ip_protocol: 연결의 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
nat/open_connections GA
연결 열기
GAUGEINT64{connection}
gce_instance
NAT 게이트웨이에 현재 열려 있는 연결 수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 165초 동안 표시되지 않습니다.
nat_project_number: NAT 게이트웨이가 속하는 프로젝트 번호입니다.
router_id: NAT 게이트웨이가 속하는 Cloud Router ID입니다.
nat_gateway_name: NAT 게이트웨이의 이름입니다.
ip_protocol: 연결의 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
nat/port_usage GA
포트 사용량
GAUGEINT64{port}
gce_instance
VM에서 단일 대상 엔드포인트로의 최대 연결 수입니다(IP:port). 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 165초 동안 표시되지 않습니다.
nat_project_number: NAT 게이트웨이가 속하는 프로젝트 번호입니다.
router_id: NAT 게이트웨이가 속하는 Cloud Router ID입니다.
nat_gateway_name: NAT 게이트웨이의 이름입니다.
ip_protocol: 연결의 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
nat/received_bytes_count GA
수신된 바이트 수
DELTAINT64By
gce_instance
NAT 게이트웨이를 통해 수신된 바이트 수입니다(대상 -> 소스). 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 165초 동안 표시되지 않습니다.
nat_project_number: NAT 게이트웨이가 속하는 프로젝트 번호입니다.
router_id: NAT 게이트웨이가 속하는 Cloud Router ID입니다.
nat_gateway_name: NAT 게이트웨이의 이름입니다.
ip_protocol: 연결의 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
nat/received_packets_count GA
수신된 패킷 수
DELTAINT64{packet}
gce_instance
NAT 게이트웨이를 통해 수신된 패킷 수입니다(대상 -> 소스). 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 165초 동안 표시되지 않습니다.
nat_project_number: NAT 게이트웨이가 속하는 프로젝트 번호입니다.
router_id: NAT 게이트웨이가 속하는 Cloud Router ID입니다.
nat_gateway_name: NAT 게이트웨이의 이름입니다.
ip_protocol: 연결의 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
nat/sent_bytes_count GA
전송된 바이트 수
DELTAINT64By
gce_instance
NAT 게이트웨이를 통해 전송된 바이트 수입니다(소스 -> 대상). 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 165초 동안 표시되지 않습니다.
nat_project_number: NAT 게이트웨이가 속하는 프로젝트 번호입니다.
router_id: NAT 게이트웨이가 속하는 Cloud Router ID입니다.
nat_gateway_name: NAT 게이트웨이의 이름입니다.
ip_protocol: 연결의 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
nat/sent_packets_count GA
전송된 패킷 수
DELTAINT64{packet}
gce_instance
NAT 게이트웨이를 통해 전송된 패킷 수입니다(소스 -> 대상). 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 165초 동안 표시되지 않습니다.
nat_project_number: NAT 게이트웨이가 속하는 프로젝트 번호입니다.
router_id: NAT 게이트웨이가 속하는 Cloud Router ID입니다.
nat_gateway_name: NAT 게이트웨이의 이름입니다.
ip_protocol: 연결의 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.

VM 인스턴스 필터링 측정기준

label_key 유형 설명
project_id 문자열 VM 인스턴스의 프로젝트 ID입니다.
instance_id 문자열 VM 인스턴스의 ID입니다.
zone 문자열 VM 인스턴스의 영역입니다.
nat_project_number 문자열 NAT 게이트웨이가 속하는 프로젝트 번호입니다.
router_id 문자열 NAT 게이트웨이가 속하는 Cloud Router ID입니다.
nat_gateway_name 문자열 NAT 게이트웨이의 이름입니다.
nat_ip 문자열 NAT 게이트웨이에 할당된 NAT IP 주소입니다. 측정항목 allocated_ports에 적합합니다.
ip_protocol 문자열 연결의 프로토콜입니다. TCP, UDP, ICMP일 수 있습니다. allocated_ports를 제외한 모든 측정항목에 적합합니다.
reason 문자열

패킷이 삭제된 이유입니다. 가능한 값은 다음과 같습니다.

  • OUT_OF_RESOURCES: Cloud NAT에 NAT IP 주소 또는 포트가 부족한 경우
  • ENDPOINT_INDEPENDENT_CONFLICT: 엔드포인트 독립 충돌이 발생하는 경우

dropped_sent_packets_count 측정항목에 적합합니다.

NAT 게이트웨이 측정항목

이 테이블의 '측정항목 유형' 문자열 앞에 router.googleapis.com/가 포함된 프리픽스를 붙여야 합니다. 테이블의 항목에서는 이 프리픽스가 생략되었습니다.

측정항목 유형 시작 단계
표시 이름
종류, 유형, 단위
모니터링 리소스
설명
라벨
nat/allocated_ports GA
할당된 포트
GAUGEINT64{port}
nat_gateway
NAT 게이트웨이가 모든 VM에 할당한 포트 수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 225초 동안 표시되지 않습니다.
nat_ip: 포트의 NAT IP입니다.
nat/closed_connections_count GA
닫힌 연결 수
DELTAINT64{connection}
nat_gateway
NAT 게이트웨이에서 닫힌 연결 수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 225초 동안 표시되지 않습니다.
ip_protocol: 연결의 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
nat/dropped_received_packets_count GA
수신된 패킷 드롭 수
DELTAINT64{packet}
nat_gateway
NAT 게이트웨이에서 드롭되어 수신된 패킷의 수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 225초 동안 표시되지 않습니다.
ip_protocol: 연결의 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
nat/dropped_sent_packets_count GA
전송된 패킷 드롭 수
DELTAINT64{packet}
nat_gateway
NAT 게이트웨이에서 드롭되어 전송된 패킷의 수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 225초 동안 표시되지 않습니다.
ip_protocol: 연결의 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
reason: 패킷이 드롭된 이유입니다. 가능한 값은 OUT_OF_RESOURCES, ENDPOINT_INDEPENDENCE_CONFLICT입니다.
nat/nat_allocation_failed GA
NAT 할당 실패
GAUGEBOOL
nat_gateway
NAT 게이트웨이의 VM에 NAT IP를 할당할 때 오류가 있는지 여부를 나타냅니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 120초 동안 표시되지 않습니다.
nat/new_connections_count GA
새 연결 수
DELTAINT64{connection}
nat_gateway
NAT 게이트웨이로 생성된 새 연결 수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 225초 동안 표시되지 않습니다.
ip_protocol: 연결의 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
nat/open_connections GA
연결 열기
GAUGEINT64{connection}
nat_gateway
NAT 게이트웨이에 현재 열려 있는 연결 수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 225초 동안 표시되지 않습니다.
ip_protocol: 연결의 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
nat/port_usage GA
포트 사용량
GAUGEINT64{port}
nat_gateway
VM에서 단일 대상 엔드포인트로의 최대 연결 수입니다(IP:port). 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 225초 동안 표시되지 않습니다.
ip_protocol: 연결의 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
nat/received_bytes_count GA
수신된 바이트 수
DELTAINT64By
nat_gateway
NAT 게이트웨이를 통해 수신된 바이트 수입니다(대상 -> 소스). 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 225초 동안 표시되지 않습니다.
ip_protocol: 연결의 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
nat/received_packets_count GA
수신된 패킷 수
DELTAINT64{packet}
nat_gateway
NAT 게이트웨이를 통해 수신된 패킷 수입니다(대상 -> 소스). 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 225초 동안 표시되지 않습니다.
ip_protocol: 연결의 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
nat/sent_bytes_count GA
전송된 바이트 수
DELTAINT64By
nat_gateway
NAT 게이트웨이를 통해 전송된 바이트 수입니다(소스 -> 대상). 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 225초 동안 표시되지 않습니다.
ip_protocol: 연결의 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
nat/sent_packets_count GA
전송된 패킷 수
DELTAINT64{packet}
nat_gateway
NAT 게이트웨이를 통해 전송된 패킷 수입니다(소스 -> 대상). 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 225초 동안 표시되지 않습니다.
ip_protocol: 연결의 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.

게이트웨이 필터링 측정기준

label_key 유형 설명
project_id 문자열 게이트웨이의 프로젝트 ID입니다.
region 문자열 게이트웨이의 리전입니다.
router_id 문자열 NAT 게이트웨이가 속하는 Cloud Router ID입니다.
gateway_name 문자열 NAT 게이트웨이의 이름입니다.
ip_protocol 문자열 연결의 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다. allocated_ports를 제외한 모든 측정항목에 적합합니다.
nat_ip 문자열 NAT 게이트웨이에 할당된 NAT IP 주소입니다. 측정항목 allocated_ports에 적합합니다.
reason 문자열

패킷이 삭제된 이유입니다. 가능한 값은 다음과 같습니다.

  • OUT_OF_RESOURCES: Cloud NAT에 NAT IP 주소 또는 포트가 부족한 경우
  • ENDPOINT_INDEPENDENT_CONFLICT: 엔드포인트 독립 충돌이 발생하는 경우

dropped_sent_packets_count 측정항목에 적합합니다.

Monitoring API를 사용한 측정항목 쿼리

Monitoring API의 v3 projects.timeSeries.list 요청을 사용하여 Cloud NAT 측정항목으로 임의 쿼리를 생성할 수 있습니다.

API 예시

1m 집계, timeSeries.list 매개변수를 포함하여 VM의 할당된 포트를 가져옵니다.

  • 이름: projects/PROJECT_ID
  • 필터: resource.type = "gce_instance" AND metric.name="compute.googleapis.com/nat/allocated_ports" AND metric.labels.nat_gateway_name="nat-1-237227-1569344091-5"
  • interval.start_time: 2019-09-24T16:58:53Z
  • interval.end_time: 2019-09-24T16:58:53Z
  • aggregation.alignmentPeriod: 60s
  • aggregation.crossSeriesReducer: REDUCE_SUM
  • aggregation.perSeriesAligner: ALIGN_SUM
"timeSeries": [
    {
      "resource": {
        "labels": {
          "instance_id": "1406292833167995938",
          "project_id": "PROJECT_ID",
          "zone": "us-west1-c"
        },
        "type": "gce_instance"
      },
      "metric": {
        "labels": {
          "nat_ip": "70.32.157.11",
          "nat_gateway_name": "nat-1-237227-1569344091-5",
          "nat_project_number": "PROJECT_NUMBER",
          "router_id": "1380055590921303155"
        },
        "type": "compute.googleapis.com/nat/allocated_ports"
      },
      "metricKind": "GAUGE",
      "points": [
        {
          "interval": {
            "endTime": "2019-09-24T16:58:53.699Z",
            "startTime": "2019-09-24T16:58:53.699Z"
          },
          "value": {
            "int64Value": "64"
          }
        }
      ],
      "valueType": "INT64"
    },

Cloud NAT 모니터링 가격 책정

Cloud NAT 모니터링은 비용이 들지 않습니다.

다음 단계