VPC 흐름 로그 사용

VPC 흐름 로그는 GKE 노드로 사용되는 인스턴스를 포함하여 VM 인스턴스에서 전송되거나 수신되는 네트워크 흐름의 샘플을 기록합니다. 이러한 로그를 네트워크 모니터링, 포렌식, 실시간 보안 분석, 비용 최적화에 사용할 수 있습니다.

이 페이지에서는 사용자가 VPC 흐름 로그 개요에 설명된 개념에 익숙하다고 가정합니다.

VPC 흐름 로깅 사용 설정

VPC 흐름 로그를 사용 설정하면 서브넷의 모든 VM에서 사용하도록 설정됩니다. 그러나 Logging에 기록되는 정보의 양을 줄일 수 있습니다. 제어할 수 있는 매개변수에 대한 자세한 내용은 로그 샘플링 및 집계를 참조하세요.

서브넷을 만들 때 VPC 흐름 로깅 사용 설정

Console

  1. Google Cloud Console에서 VPC 네트워크 페이지로 이동합니다.
    VPC 네트워크 페이지로 이동
  2. 서브넷을 추가할 네트워크를 클릭합니다.
  3. 서브넷 추가를 클릭합니다.
  4. 흐름 로그에서 켜기를 선택합니다.
  5. 로그 샘플링 및 집계를 조정하려는 경우 로그 구성을 클릭하고 다음을 조정합니다.
    • 집계 간격
    • 최종 로그 항목에 메타데이터를 포함할지 여부
      기본적으로 메타데이터 포함에는 특정 필드만 포함됩니다. 자세한 내용은 메타데이터 필드 맞춤설정을 참조하세요. 메타데이터 필드를 맞춤설정하려면 gcloud 명령줄 인터페이스 또는 API를 사용해야 합니다.
    • 샘플링 레이트. 100%는 모든 항목이 유지됨을 의미합니다.
  6. 기타 필드를 적절히 지정합니다.
  7. 추가를 클릭합니다.

gcloud

gcloud compute networks subnets create subnet-name \
    --enable-flow-logs \
    [--logging-aggregation-interval=aggregation-interval \
    [--logging-flow-sampling=0.0...1.0] \
    [--logging-filter-expr=expression] \
    [--logging-metadata=(include-all | exclude-all | custom)] \
    [--logging-metadata-fields=fields] \
    [other flags as needed]

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

  • --logging-aggregation-interval=aggregation-interval은 해당 서브넷에서 흐름 로그의 집계 간격을 설정합니다. 이 간격은 5초(기본값), 30초, 1분, 5분, 10분, 15분 중 하나로 설정할 수 있습니다.
  • --logging-flow-sampling는 흐름 샘플링 레이트입니다. 흐름 샘플링은 0.0(샘플링 없음)에서 1.0(모든 로그)까지 설정할 수 있습니다. 기본값은 0.5입니다.
  • --logging-filter-expr=expression은 로그 수집을 표현식과 일치하는 로그로 제한합니다. 자세한 내용은 로그 필터링을 참조하세요.
  • --logging-metadata=(include-all | exclude-all | custom)은 레코드 메타데이터 주석을 켜거나 끄거나 custom으로 설정합니다. custom으로 설정된 경우 --logging-metadata-fields도 지정합니다. 기본값은 include-all입니다. 참고: 일부 필드는 include-all에 포함되어 있지 않습니다. 자세한 내용은 메타데이터 필드 맞춤설정을 참조하세요.
  • --logging-metadata-fields 로그에 포함할 메타데이터 필드의 쉼표로 구분된 목록입니다. 예를 들면 --logging-metadata-fields=src_instance,dst_instance입니다. --logging-metadata=custom인 경우에만 설정할 수 있습니다.

API

새 서브넷을 만들 때 VPC 흐름 로그를 사용하도록 설정합니다.

POST https://www.googleapis.com/compute/v1/projects/project-id/regions/region/subnetworks
{
  "logConfig": {
    "aggregationInterval": "aggregation-interval",
    "flowSampling": sampling-rate,
    "filterExpr": expression,
    "metadata": metadata-setting,
    "metadataFields": metadata-fields,
    "enable": true
  },
  "ipCidrRange": "ip-range",
  "network": "network-url",
  "name": "subnet-name"
}

자리표시자를 유효한 값으로 바꿉니다.

  • project-id는 서브넷이 생성될 프로젝트의 ID입니다.
  • region은 서브넷이 생성될 리전입니다.
  • aggregation-interval은 서브넷에서 흐름 로그의 집계 간격을 설정합니다. 간격은 INTERVAL_5_SEC, INTERVAL_30_SEC, INTERVAL_1_MIN, INTERVAL_5_MIN, INTERVAL_10_MIN, INTERVAL_15_MIN 중 하나로 설정할 수 있습니다.
  • sampling-rate는 흐름 샘플링 레이트입니다. 흐름 샘플링은 0.0(샘플링 없음)에서 1.0(모든 로그)까지 설정할 수 있습니다. 기본값은 .0.5입니다.
  • expression은 실제로 기록되는 로그를 필터링하는 데 사용하는 필터 표현식입니다. 자세한 내용은 로그 필터링을 참조하세요.
  • metadata-setting은 모든 메타데이터를 로깅할지(INCLUDE_ALL_METADATA), 어떠한 메타데이터도 로깅하지 않을지(EXCLUDE_ALL_METADATA), 특정 메타데이터만 로깅할지(CUSTOM_METADATA) 여부를 지정합니다. 이 필드가 CUSTOM_METADATA로 설정된 경우 metadataFields 필드도 채웁니다. 일부 필드는 INCLUDE_ALL_METADATA에 포함되어 있지 않습니다. 자세한 내용은 메타데이터 필드 맞춤설정을 참조하세요.
  • metadata-fieldsmetadata: CUSTOM_METADATA를 설정할 때 캡처할 메타데이터 필드이며, 메타데이터 필드를 쉼표로 구분한 목록입니다(예: src_instance, src_vpc.project_id).
  • ip-range는 서브넷의 기본 내부 IP 주소 범위입니다.
  • network-url은 서브넷이 생성될 VPC 네트워크 URL입니다.
  • subnet-name은 서브넷의 이름입니다.

자세한 내용은 subnetworks.insert 메서드를 참조하세요.

기존 서브넷의 VPC 흐름 로깅 사용 설정

Console

  1. Google Cloud Console에서 VPC 네트워크 페이지로 이동합니다.
    VPC 네트워크 페이지로 이동
  2. 업데이트할 서브넷을 클릭합니다.
  3. 수정을 클릭합니다.
  4. 흐름 로그에서 켜기를 선택합니다.
  5. 로그 샘플링 및 집계를 조정하려는 경우 로그 구성을 클릭하고 다음을 조정합니다.
    • 집계 간격
    • 최종 로그 항목에 메타데이터를 포함할지 여부
      기본적으로 메타데이터 포함에는 특정 필드만 포함됩니다. 자세한 내용은 메타데이터 필드 맞춤설정을 참조하세요. 메타데이터 필드를 맞춤설정하려면 gcloud 명령줄 인터페이스 또는 API를 사용해야 합니다.
    • 샘플링 레이트. 100%는 모든 항목이 유지됨을 의미합니다.
  6. 저장을 클릭합니다.

gcloud

gcloud compute networks subnets update subnet-name \
    --enable-flow-logs \
    [--logging-aggregation-interval=aggregation-interval] \
    [--logging-flow-sampling=0.0...1.0] \
    [--logging-filter-expr=expression] \
    [--logging-metadata=(include-all | exclude-all | custom)] \
    [--logging-metadata-fields=fields]

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

  • --logging-aggregation-interval=aggregation-interval은 해당 서브넷에서 흐름 로그의 집계 간격을 설정합니다. 이 간격은 5초(기본값), 30초, 1분, 5분, 10분, 15분 중 하나로 설정할 수 있습니다.
  • --logging-flow-sampling는 흐름 샘플링 레이트입니다. 흐름 샘플링은 0.0(샘플링 없음)에서 1.0(모든 로그)까지 설정할 수 있습니다. 기본값은 .0.5입니다.
  • --logging-filter-expr=expression은 로그 수집을 표현식과 일치하는 로그로 제한합니다. 자세한 내용은 로그 필터링을 참조하세요.
  • --logging-metadata=(include-all | exclude-all | custom)은 레코드 메타데이터 주석을 켜거나 끄거나 custom으로 설정합니다. custom으로 설정된 경우 --logging-metadata-fields도 지정합니다. 기본값은 켜기입니다. 참고: include-all에는 GKE 주석이 포함되지 않습니다. GKE 주석을 확인하려면 custom을 선택하고 해당 주석을 지정합니다.
  • --logging-metadata-fields 로그에 포함할 메타데이터 필드의 쉼표로 구분된 목록입니다. 예를 들면 --logging-metadata-fields=src_instance,dst_instance입니다. --logging-metadata=custom인 경우에만 설정할 수 있습니다.

API

기존 서브넷의 VPC 흐름 로그를 사용 설정합니다.

PATCH https://www.googleapis.com/compute/v1/projects/project-id/regions/region/subnetworks/subnet-name
{
  "logConfig": {
    "enable": true
    ...other logging fields.
  },
  "fingerprint": "SUBNETWORK_FINGERPRINT"
}

자리표시자를 유효한 값으로 바꿉니다.

  • project-id는 서브넷이 있는 프로젝트의 ID입니다.
  • region은 서브넷이 있는 리전입니다.
  • subnet-name은 기존 서브넷의 이름입니다.
  • SUBNET_FINGERPRINT서브넷을 설명할 때 제공되는 기존 서브넷의 지문 ID입니다.
  • 다른 로깅 필드의 경우 서브넷을 만들 때 VPC 흐름 로깅 사용 설정을 참조하세요.

자세한 내용은 subnetworks.patch 메서드를 참조하세요.

기존 서브넷의 예상 로그 볼륨 보기

Google Cloud Console은 기존 서브넷의 예상 로그 볼륨을 제공하며, 이를 통해 흐름 로그 사용을 설정하기 위한 비용을 예측할 수 있습니다. 예상치는 지난 7일 동안 서브넷에 대해 5초 간격으로 캡처된 흐름을 기반으로 합니다. 또한 각 로그의 크기는 메타데이터 주석을 사용 설정했는지 여부에 따라 달라집니다.

  1. Google Cloud Console에서 VPC 네트워크 페이지로 이동합니다.
    VPC 네트워크 페이지로 이동
  2. 비용을 예측할 서브넷을 클릭합니다.
  3. 수정을 클릭합니다.
  4. 흐름 로그에서 켜기를 선택합니다.
  5. 로그 구성을 클릭합니다.
  6. 예상치를 보려면 예상되는 일일 생성 로그를 확인하세요.
  7. 취소를 클릭하면 변경사항이 저장되지 않습니다.

VPC 흐름 로그가 사용 설정된 서브넷 보기

네트워크에서 VPC 흐름 로그가 사용 설정된 서브넷을 확인할 수 있습니다.

Console

  1. Google Cloud Console에서 VPC 네트워크 페이지로 이동합니다.
    VPC 네트워크 페이지로 이동
  2. 흐름 로그 열에서 Logging의 사용 설정 또는 중지 여부를 확인할 수 있습니다.

gcloud

gcloud compute networks subnets list \
    --project project-id \
    --filter="network=network-url" \
    --format="csv(name,logConfig.enable)"

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

  • project-id는 쿼리하려는 프로젝트의 ID입니다.
  • network-url은 서브넷이 포함된 네트워크의 FQDN입니다.

VPC 흐름 로깅 매개변수 업데이트

로그 샘플링 매개변수를 수정할 수 있습니다. 지정할 수 있는 매개변수에 대한 자세한 내용은 로그 샘플링 및 집계를 참조하세요.

Console

  1. Google Cloud Console에서 VPC 네트워크 페이지로 이동합니다.
    VPC 네트워크 페이지로 이동
  2. 업데이트할 서브넷을 클릭합니다.
  3. 수정을 클릭합니다.
  4. 로그 구성을 클릭하여 로그 샘플링 및 집계를 조정합니다.
    • 집계 간격
    • 최종 로그 항목에 메타데이터를 포함할지 여부
      기본적으로 메타데이터 포함에는 특정 필드만 포함됩니다. 자세한 내용은 메타데이터 필드 맞춤설정을 참조하세요. 메타데이터 필드를 맞춤설정하려면 gcloud 명령줄 인터페이스 또는 API를 사용해야 합니다.
    • 샘플링 레이트. 100%는 모든 항목이 유지됨을 의미합니다.
  5. 저장을 클릭합니다.

gcloud

gcloud compute networks subnets update subnet-name \
    [--logging-aggregation-interval=aggregation-interval] \
    [--logging-flow-sampling=0.0...1.0] \
    [--logging-filter-expr=expression] \
    [--logging-metadata=(include-all | exclude-all | custom)] \
    [--logging-metadata-fields=fields]

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

  • --logging-aggregation-interval=aggregation-interval은 해당 서브넷에서 흐름 로그의 집계 간격을 설정합니다. 이 간격은 5초(기본값), 30초, 1분, 5분, 10분, 15분 중 하나로 설정할 수 있습니다.
  • --logging-flow-sampling는 흐름 샘플링 레이트입니다. 흐름 샘플링은 0.0(샘플링 없음)에서 1.0(모든 로그)까지 설정할 수 있습니다. 기본값은 .0.5입니다.
  • --logging-filter-expr=expression은 로그 수집을 표현식과 일치하는 로그로 제한합니다. 자세한 내용은 로그 필터링을 참조하세요.
  • --logging-metadata=(include-all | exclude-all | custom)은 레코드 메타데이터 주석을 켜거나 끄거나 custom으로 설정합니다. custom으로 설정된 경우 --logging-metadata-fields도 지정합니다. 기본값은 켜기입니다. 참고: include-all에는 GKE 주석이 포함되지 않습니다. GKE 주석을 확인하려면 custom을 선택하고 해당 주석을 지정합니다.
  • --logging-metadata-fields 로그에 포함할 메타데이터 필드의 쉼표로 구분된 목록입니다. 예를 들면 --logging-metadata-fields=src_instance,dst_instance입니다. --logging-metadata=custom인 경우에만 설정할 수 있습니다.

API

로그 샘플링 필드를 수정하여 VPC 흐름 로그 동작을 업데이트합니다.

PATCH https://www.googleapis.com/compute/v1/projects/project-id/regions/region/subnetworks/subnet-name
{
  "logConfig": {
    ...fields to modify
  },
  "fingerprint": "SUBNETWORK_FINGERPRINT"
}

자리표시자를 유효한 값으로 바꿉니다.

  • project-id는 서브넷이 있는 프로젝트의 ID입니다.
  • region은 서브넷이 있는 리전입니다.
  • subnet-name은 기존 서브넷의 이름입니다.
  • SUBNET_FINGERPRINT서브넷을 설명할 때 제공되는 기존 서브넷의 지문 ID입니다.
  • 수정할 수 있는 필드는 서브넷을 만들 때 VPC 흐름 로깅 사용 설정을 참조하세요.

자세한 내용은 subnetworks.patch 메서드를 참조하세요.

서브넷의 VPC 흐름 로깅 사용 중지

Console

  1. Google Cloud Console에서 VPC 네트워크 페이지로 이동합니다.
    VPC 네트워크 페이지로 이동
  2. 업데이트할 서브넷을 클릭합니다.
  3. 수정을 클릭합니다.
  4. 흐름 로그에서 끄기를 선택합니다.
  5. 저장을 클릭합니다.

gcloud

gcloud compute networks subnets update subnet-name \
    --no-enable-flow-logs

API

로그 레코드 수집을 중지하려면 서브넷에서 VPC 흐름 로그를 사용하지 않도록 설정합니다.

PATCH https://www.googleapis.com/compute/v1/projects/project-id/regions/region/subnetworks/subnet-name
{
  "logConfig": {
    "enable": false
  },
  "fingerprint": "SUBNETWORK_FINGERPRINT"
}

자리표시자를 유효한 값으로 바꿉니다.

  • project-id는 서브넷이 있는 프로젝트의 ID입니다.
  • region은 서브넷이 있는 리전입니다.
  • subnet-name은 기존 서브넷의 이름입니다.
  • SUBNET_FINGERPRINT서브넷을 설명할 때 제공되는 기존 서브넷의 지문 ID입니다.

자세한 내용은 subnetworks.patch 메서드를 참조하세요.

Logging을 통해 로그 액세스

IAM 구성

Logging 액세스 제어 가이드에 따릅니다.

로그 뷰어 페이지를 통해 로그를 봅니다.

이러한 명령어에는 프로젝트의 프로젝트 ID가 필요합니다.

모든 흐름 로그 액세스

  1. Google Cloud Console의 로그 페이지로 이동합니다.
    로그 페이지로 이동
  2. 첫 번째 풀다운 메뉴에서 서브네트워크를 선택합니다.
  3. 두 번째 풀다운 메뉴에서 compute.googleapis.com/vpc_flows를 선택합니다.
  4. 확인을 클릭합니다.

다른 방법은 다음과 같습니다.

  1. Google Cloud Console의 로그 페이지로 이동합니다.
    로그 페이지로 이동
  2. 라벨 또는 텍스트 검색 기준 필터링 필드 오른쪽에서 아래쪽 화살표를 클릭하고 고급 필터로 변환을 선택합니다.
  3. 다음을 필드에 붙여넣습니다. project-id를 프로젝트 ID로 바꿉니다.
    resource.type="gce_subnetwork"
    logName="projects/project-id/logs/compute.googleapis.com%2Fvpc_flows"
    
  4. 필터 제출을 클릭합니다.

특정 서브넷의 로그 액세스

  1. Google Cloud Console의 로그 페이지로 이동합니다.
    로그 페이지로 이동
  2. 첫 번째 풀다운 메뉴에서 서브네트워크로 커서를 이동한 다음 오른쪽으로 이동하여 개별 서브넷 선택 메뉴를 엽니다.
  3. 두 번째 풀다운 메뉴에서 compute.googleapis.com/vpc_flows를 선택합니다.
  4. 확인을 클릭합니다.

다른 방법은 다음과 같습니다.

  1. Google Cloud Console의 로그 페이지로 이동합니다.
    로그 페이지로 이동
  2. 라벨 또는 텍스트 검색 기준 필터링 필드 오른쪽에서 아래쪽 화살표를 클릭하고 고급 필터로 변환을 선택합니다.
  3. 다음을 필드에 붙여넣습니다. project-id를 프로젝트 ID로 바꾸고 subnet-name을 서브네트워크로 바꿉니다.
    resource.type="gce_subnetwork"
    logName="projects/project-id/logs/compute.googleapis.com%2Fvpc_flows"
    resource.labels.subnetwork_name="subnet-name"
    
  4. 필터 제출을 클릭합니다.

특정 VM의 로그 액세스

  1. Google Cloud Console의 로그 페이지로 이동합니다.
    로그 페이지로 이동
  2. 라벨 또는 텍스트 검색 기준 필터링 필드 오른쪽에서 아래쪽 화살표를 클릭하고 고급 필터로 변환을 선택합니다.
  3. 다음을 필드에 붙여넣습니다. project-id를 프로젝트 ID로 바꾸고 VM_NAME을 VM으로 바꿉니다.
    resource.type="gce_subnetwork"
    logName="projects/project-id/logs/compute.googleapis.com%2Fvpc_flows"
    jsonPayload.src_instance.vm_name="VM_NAME"
    
  4. 필터 제출을 클릭합니다.

특정 서브넷 범위로 가는 트래픽의 로그 액세스

  1. Google Cloud Console의 로그 페이지로 이동합니다.
    로그 페이지로 이동
  2. 라벨 또는 텍스트 검색 기준 필터링 필드 오른쪽에서 아래쪽 화살표를 클릭하고 고급 필터로 변환을 선택합니다.
  3. 다음을 필드에 붙여넣습니다. project-id를 프로젝트 ID로 바꾸고 subnet-range를 CIDR 범위(192.168.1.0/24)로 바꿉니다.
    resource.type="gce_subnetwork"
    logName="projects/project-id/logs/compute.googleapis.com%2Fvpc_flows"
    ip_in_net(jsonPayload.connection.dest_ip, subnet-range)
    
  4. 필터 제출을 클릭합니다.

특정 GKE 클러스터의 로그 액세스

  1. Google Cloud Console의 로그 페이지로 이동합니다.
    로그 페이지로 이동
  2. 라벨 또는 텍스트 검색 기준 필터링 필드 오른쪽에서 아래쪽 화살표를 클릭하고 고급 필터로 변환을 선택합니다.
  3. 다음을 필드에 붙여넣습니다. project-id를 프로젝트 ID로 바꾸고 subnet-name을 서브네트워크로 바꿉니다.
    resource.type="gce_subnetwork"
    logName="projects/{#project_id}/logs/vpc_flows"
    jsonPayload.src_gke_details.cluster.cluster_name="{#cluster_name}" OR jsonPayload.dest_gke_details.cluster.cluster_name="{#cluster_name}"
    
  4. 필터 제출을 클릭합니다.

특정 포트 및 프로토콜 로그 액세스

개별 대상 포트

  1. Google Cloud Console의 로그 페이지로 이동합니다.
    로그 페이지로 이동
  2. 라벨 또는 텍스트 검색 기준 필터링 필드 오른쪽에서 아래쪽 화살표를 클릭하고 고급 필터로 변환을 선택합니다.
  3. 다음을 필드에 붙여넣습니다. project-id를 프로젝트 ID로, PORT를 대상 포트로, PROTOCOL을 프로토콜로 바꿉니다.
    resource.type="gce_subnetwork"
    logName="projects/project-id/logs/compute.googleapis.com%2Fvpc_flows"
    jsonPayload.connection.dest_port=PORT
    jsonPayload.connection.protocol=PROTOCOL
    
  4. 필터 제출을 클릭합니다.

2개 이상의 대상 포트

  1. Google Cloud Console의 로그 페이지로 이동합니다.
    로그 페이지로 이동
  2. 라벨 또는 텍스트 검색 기준 필터링 필드 오른쪽에서 아래쪽 화살표를 클릭하고 고급 필터로 변환을 선택합니다.
  3. 다음을 필드에 붙여넣습니다. project-id를 프로젝트 ID로, PORT1PORT2를 대상 포트로, PROTOCOL을 프로토콜로 바꿉니다.
    resource.type="gce_subnetwork"
    logName="projects/project-id/logs/compute.googleapis.com%2Fvpc_flows"
    jsonPayload.connection.dest_port=(PORT1 OR PORT2)
    jsonPayload.connection.protocol=PROTOCOL
    
  4. 필터 제출을 클릭합니다.

BigQuery, Pub/Sub, 커스텀 대상에 로그 내보내기

Logging 문서에 설명된 대로 Logging에서 원하는 대상으로 흐름 로그를 내보낼 수 있습니다. 이전의 필터 예시 섹션을 참조하세요.

문제해결

Logging의 gce_subnetwork 리소스 아래에 vpc_flows이 표시되지 않음

  • 지정된 서브넷에 Logging이 사용 설정되어 있는지 확인합니다.
  • VPC 흐름은 VPC 네트워크에서만 지원됩니다. 기존 네트워크를 사용하는 경우 로그를 볼 수 없습니다.
  • 공유 VPC 네트워크에서 로그는 서비스 프로젝트가 아닌 호스트 프로젝트에만 표시됩니다. 호스트 프로젝트에서 로그를 찾아야 합니다.
  • Logging 제외 필터는 지정된 로그를 차단합니다. VPC 흐름 로그를 삭제하는 제외 규칙이 없는지 확인하세요.
    1. 리소스 사용량으로 이동합니다.
    2. 제외 탭을 클릭합니다.
    3. VPC 흐름 로그를 삭제할 수 있는 제외 규칙이 없는지 확인합니다.

일부 로그에 RTT 또는 바이트 값이 없음

  • 샘플링된 패킷이 RTT를 캡처하기에 부족한 경우 RTT 측정이 누락될 수 있습니다. 이 현상은 소량 연결에서 발생할 가능성이 높습니다.
  • UDP 흐름에는 RTT 값이 제공되지 않습니다.
  • 필부 패킷은 페이로드 없이 전송됩니다. 헤더만 있는 패킷이 샘플링된 경우 바이트 값은 0이 됩니다.

일부 흐름이 누락됨

  • UDP 및 TCP 프로토콜만 지원됩니다. VPC 흐름 로그는 다른 프로토콜을 지원하지 않습니다.
  • 로그가 샘플링됩니다. 극소량 흐름의 일부 패킷이 누락될 수 있습니다.

일부 로그에 GKE 주석 누락됨

GKE 주석에 대한 자세한 내용은 GKE 주석을 참조하세요.

  • 클러스터에 Google Kubernetes Engine Monitoring이 사용 설정되어 있는지 확인합니다. GKE Monitoring이 사용 설정되어 있지 않으면 일부 주석이 누락되는 경우가 있습니다. 클러스터에 GKE Monitoring이 이 사용 설정되어 있는지 확인하려면 안내를 따르세요.
  • 클러스터에 GKE Monitoring이 사용 설정되어 있지만 누락된 GKE 주석이 표시되지 않으면 Cloud Console에서 프로젝트의 Monitoring API 대시보드에 액세스하여 Monitoring으로 메타데이터 업데이트를 전송하는 에이전트가 업데이트를 전송하는지 여부를 확인하면 됩니다. 일부 경우에는 API 할당량을 초과하여 오류가 발생할 수 있습니다. API의 할당량 대시보드로 이동하여 할당량 초과 오류가 있는지 확인하세요. 할당량 초과 오류가 발생한 경우 할당량 관리의 안내에 따라 할당량 증가를 요청하세요.

일부 GKE 흐름의 로그 누락됨

클러스터에 노드 내 공개 상태가 사용 설정되어 있는지 확인합니다. 사용 설정되어 있지 않으면 동일 노드에서 pod 간의 흐름은 로깅되지 않습니다.

흐름 로그를 사용 설정해도 사용 중지됨

  • 내부 HTTP(S) 부하 분산기에 프록시 전용 서브넷을 구성하고 gcloud compute networks subnets 명령어를 사용하여 VPC 흐름 로그를 사용 설정하면 명령어가 성공한 것으로 표시되지만 흐름 로그는 실제로 사용 설정되지 않습니다. --purpose=INTERNAL_HTTPS_LOAD_BALANCER 플래그도 포함하면 --enable-flow-logs 플래그가 적용되지 않습니다.

    Cloud Console 또는 API를 사용하여 흐름 로그를 사용 설정하면 ''resource.enableFlowLogs' 필드의 값이 잘못되었습니다: 'true'. INTERNAL_HTTPS_LOAD_BALANCER 목적으로 서브네트워크에 설정된 필드가 잘못되었습니다'라는 오류 메시지가 표시됩니다.

    프록시 전용 서브넷에는 VM이 없으므로 VPC 흐름 로그는 지원되지 않습니다. 이는 의도된 동작입니다.

가격 책정

Logging, BigQuery, Pub/Sub의 표준 가격 책정이 적용됩니다. VPC 흐름 로그 가격에 관한 설명은 Network Telemetry 가격 책정에 나와 있습니다.

다음 단계