VPC 흐름 로그

VPC 흐름 로그는 Google Kubernetes Engine 노드로 사용되는 인스턴스를 포함하여 가상 머신(VM) 인스턴스에서 전송되거나 수신되는 패킷 샘플과 Cloud InterconnectCloud VPN 터널(미리보기)용 VLAN 연결을 통해 전송되는 패킷을 기록합니다.

흐름 로그는 IP 연결(5튜플)별로 집계됩니다. 이러한 로그를 네트워크 모니터링, 포렌식, 보안 분석, 비용 최적화에 사용할 수 있습니다.

흐름 로그는 Cloud Logging에서 볼 수 있으며 Cloud Logging 내보내기가 지원되는 모든 대상으로 로그를 내보낼 수 있습니다.

사용 사례

네트워크 모니터링

VPC 흐름 로그에서는 네트워크 처리량과 성능을 파악할 수 있습니다. 다음과 같은 작업을 수행할 수 있습니다.

  • VPC 네트워크 모니터링
  • 네트워크 진단 수행
  • VM, VLAN 연결, Cloud VPN 터널별로 흐름 로그를 필터링하여 트래픽 변화 파악
  • 용량 예측을 위한 트래픽 증가 파악

네트워크 사용량 파악 및 네트워크 트래픽 비용 최적화

VPC 흐름 로그를 사용하여 네트워크 사용량을 분석하여 네트워크 트래픽 비용을 최적화할 수 있습니다. 예를 들어 다음의 네트워크 흐름을 분석할 수 있습니다.

  • 리전 및 영역 간의 트래픽
  • 인터넷의 특정 국가로 가는 트래픽
  • 온프레미스 및 기타 클라우드 네트워크로 가는 트래픽
  • VM, VLAN 연결, Cloud VPN 터널을 포함한 네트워크의 최상위 소비자

네트워크 포렌식

네트워크 포렌식용으로 VPC 흐름 로그를 사용할 수 있습니다. 예를 들어 이슈가 발생하면 다음 항목을 검사할 수 있습니다.

  • 어떤 IP로 누구와 언제 통신했는지
  • 모든 손상된 IP(들어오고 나가는 모든 네트워크 흐름 분석)

사양

  • VPC 흐름 로그는 VPC 네트워크를 구동하는 소프트웨어인 Andromeda의 일부입니다. VPC 흐름 로그를 사용 설정하면 지연이나 성능 저하가 발생하지 않습니다.
  • VPC 흐름 로그는 기존 네트워크가 아닌 VPC 네트워크에서 작동합니다. 서브넷, Cloud Interconnect의 VLAN 연결(미리보기) 또는 Cloud VPN 터널(미리보기)별로 VPC 흐름 로그를 사용 설정하거나 사용 중지합니다. 서브넷에 대해 사용 설정된 경우 VPC 흐름 로그는 GKE 노드를 포함하여 해당 서브넷의 모든 VM 인스턴스에서 데이터를 수집합니다.
  • VPC 흐름 로그는 TCP, UDP, ICMP, ESP, GRE 흐름을 샘플링합니다. 인바운드 및 아웃바운드 흐름은 모두 샘플링됩니다. 이러한 흐름은 Google Cloud 내에 있거나 Google Cloud와 다른 네트워크 사이에 있을 수 있습니다. 흐름을 샘플링으로 캡처하는 경우 VPC 흐름 로그는 흐름의 로그를 생성합니다. 각 흐름 기록에는 레코드 형식 섹션에 설명된 정보가 포함됩니다.
  • VPC 흐름 로그는 다음과 같은 방식으로 방화벽 규칙과 상호작용합니다.
    • 이그레스 패킷은 이그레스 방화벽 규칙 이전에 샘플링됩니다. 이그레스 방화벽 규칙이 아웃바운드 패킷을 거부하더라도 VPC 흐름 로그를 통해 이러한 패킷을 샘플링할 수 있습니다.
    • 인그레스 패킷은 인그레스 방화벽 규칙 이후에 샘플링됩니다. 인그레스 방화벽 규칙이 인바운드 패킷을 거부하면 해당 패킷은 VPC 흐름 로그에서 샘플링되지 않습니다.
  • VPC 흐름 로그에서 필터를 사용하여 특정 로그만 생성할 수 있습니다.
  • VPC 흐름 로그는 여러 네트워크 인터페이스가 있는 VM을 지원합니다. 각 VPC에서 네트워크 인터페이스가 포함된 각 서브넷에 VPC 흐름 로그를 사용 설정해야 합니다.
  • 동일한 Google Kubernetes Engine(GKE) 노드에서 포드 간 흐름을 로깅하려면 클러스터에 노드 내 공개 상태를 사용 설정해야 합니다.
  • VPC 흐름 로그는 Cloud Run 리소스에서 보고되지 않습니다.

로그 수집

패킷은 집계 간격 내에서 샘플링됩니다. 지정된 IP 연결에서 집계 간격으로 수집된 모든 패킷은 단일 흐름 로그 항목으로 집계됩니다. 그 다음 이 데이터가 Logging으로 전송됩니다.

로그는 기본적으로 Logging에 30일 동안 저장됩니다. 로그를 이 기간보다 오래 보관하려면 커스텀 보관 기간을 설정하거나 지원되는 대상으로 로그를 내보내면 됩니다.

로그 샘플링 및 처리

VPC 흐름 로그는 흐름 로그를 생성하기 위해 VM을 나가고 들어오거나 VLAN 연결 또는 Cloud VPN 터널과 같은 게이트웨이를 통과하는 패킷을 샘플링합니다. 흐름 로그가 생성되면 VPC 흐름 로그는 이 섹션에 설명된 절차에 따라 로그를 처리합니다.

VPC 흐름 로그는 기본 샘플링 레이트를 사용하여 패킷을 샘플링합니다. 기본 샘플링 레이트는 동적이며 샘플링 시 VM 또는 게이트를 실행하는 실제 호스트의 부하에 따라 달라집니다. 단일 IP 연결을 샘플링할 확률은 패킷 양에 따라 증가합니다. 기본 흐름 로그 샘플링 프로세스를 제어하거나 기본 샘플링 레이트를 조정할 수는 없습니다.

흐름 로그가 생성되면 VPC 흐름 로그는 다음 절차에 따라 로그를 처리합니다.

  1. 필터링: 지정된 기준과 일치하는 로그만 생성되도록 지정할 수 있습니다. 예를 들어 특정 VM의 로그 또는 특정 메타데이터 값이 있는 로그만 생성되고 나머지는 삭제되도록 필터링할 수 있습니다. 자세한 내용은 로그 필터링을 참조하세요.
  2. 집계: 샘플링된 패킷에 대한 정보가 구성 가능한 집계 간격을 통해 집계되어 흐름 로그 항목이 생성됩니다.
  3. 보조 흐름 로그 샘플링: 두 번째 샘플링 프로세스입니다. 흐름 로그 항목은 구성 가능한 보조 샘플링 레이트 파라미터에 따라 추가로 샘플링됩니다. 보조 샘플링은 기본 흐름 로그 샘플링 프로세스에서 생성한 흐름 로그에서 수행됩니다. 예를 들어 보조 샘플링 레이트가 1.0 또는 100%로 설정된 경우 VPC 흐름 로그는 기본 흐름 로그 샘플링에서 생성한 흐름 로그의 100%를 샘플링합니다.
  4. 메타데이터: 사용 중지하면 모든 메타데이터 주석이 삭제됩니다. 메타데이터를 보관하려면 모든 필드 또는 지정된 필드 세트를 보관하도록 지정할 수 있습니다. 자세한 내용은 메타데이터 주석을 참조하세요.
  5. 로그 작성: 최종 로그 항목은 Cloud Logging에 기록됩니다.

VPC 흐름 로그는 모든 패킷을 캡처하지 않으므로 캡처된 패킷에서 보간하여 누락된 패킷을 보완합니다. 이는 초기 샘플링 설정 및 사용자가 구성할 수 있는 샘플링 설정으로 인해 누락된 패킷에 발생합니다.

Google Cloud가 모든 패킷을 캡처하지 않을 경우에도 로그 레코드는 상당한 양이 캡처될 수 있습니다. 로그 수집의 다음 측면을 조정하여 트래픽 공개 상태와 스토리지 비용 사이에서 니즈의 균형을 유지할 수 있습니다.

  • 집계 간격: 특정 시간 간격 동안 샘플링된 패킷은 단일 로그 항목에 집계됩니다. 이 시간 간격은 5초(기본값), 30초, 1분, 5분, 10분 또는 15분입니다.
  • 보조 샘플링 레이트:
    • VM의 경우 기본적으로 로그 항목의 50%가 보관됩니다. 이 파라미터를 1.0(100%, 모든 로그 항목 유지)에서 0.0(0%, 유지되는 로그 없음)까지 설정할 수 있습니다.
    • VLAN 연결 및 Cloud VPN 터널의 경우 기본적으로 로그 항목의 100%가 유지됩니다. 이 파라미터는 1.0에서 0.0보다 큰 값으로 설정할 수 있습니다.
  • 메타데이터 주석: 기본적으로 흐름 로그 항목에는 소스 및 대상 VM 이름이나 외부 소스 및 대상의 지리적 리전과 같은 메타데이터 정보가 주석으로 달립니다. 메타데이터 주석을 사용 중지하거나 특정 주석만 지정하여 저장공간을 절약할 수 있습니다.
  • 필터링: 기본적으로 로그는 샘플링된 모든 흐름에 대해 생성됩니다. 특정 기준과 일치하는 로그만 생성되도록 필터를 설정할 수 있습니다.

가격 책정

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

다음 단계