VPC 흐름 로그
VPC 흐름 로그는 가상 프라이빗 클라우드(VPC) 네트워크의 패킷을 샘플링하여 흐름 로그를 생성합니다. 흐름 로그는 IP 연결(5튜플)별로 집계됩니다. VPC 흐름 로그는 다음 패킷을 샘플링합니다.
- Google Kubernetes Engine 노드로 사용되는 인스턴스를 포함하여 가상 머신(VM) 인스턴스에서 전송되거나 수신되는 패킷
- Cloud Interconnect 및 Cloud VPN 터널용 VLAN 연결을 통해 전송되는 패킷
흐름 로그는 Cloud Logging에서 볼 수 있으며 Cloud Logging 내보내기가 지원되는 모든 대상으로 로그를 내보낼 수 있습니다. 이러한 로그를 네트워크 모니터링, 포렌식, 보안 분석, 비용 최적화에 사용할 수 있습니다.
자세한 내용은 지원되는 구성을 참조하세요.
사용 사례
다음은 VPC 흐름 로그의 사용 사례입니다.
네트워크 모니터링
VPC 흐름 로그에서는 네트워크 처리량과 성능을 파악할 수 있습니다. 다음과 같은 작업을 수행할 수 있습니다.
- VPC 네트워크 모니터링
- 네트워크 진단 수행
- VM, VLAN 연결, Cloud VPN 터널별로 흐름 로그를 필터링하여 트래픽 변화 파악
- 용량 예측을 위한 트래픽 증가 파악
네트워크 사용량 파악 및 네트워크 트래픽 비용 최적화
VPC 흐름 로그를 사용하여 네트워크 사용량을 분석하여 네트워크 트래픽 비용을 최적화할 수 있습니다. 예를 들어 다음의 네트워크 흐름을 분석할 수 있습니다.
- 리전 및 영역 간의 트래픽
- 인터넷의 특정 국가로 가는 트래픽
- 온프레미스 및 기타 클라우드 네트워크로 가는 트래픽
- VM, VLAN 연결, Cloud VPN 터널을 포함한 네트워크의 최상위 소비자
네트워크 포렌식
네트워크 포렌식용으로 VPC 흐름 로그를 사용할 수 있습니다. 예를 들어 이슈가 발생하면 다음 항목을 검사할 수 있습니다.
- 어떤 IP로 누구와 언제 통신했는지
- 모든 손상된 IP(들어오고 나가는 모든 네트워크 흐름 분석)
지원되는 구성
조직 및 프로젝트 수준에서 VPC 흐름 로그를 사용 설정할 수 있습니다. 조직 수준 VPC 흐름 로그 구성을 사용하면 조직의 모든 VPC 네트워크에 있는 모든 서브넷, VLAN 연결, Cloud VPN 터널에 대한 흐름 로그가 사용 설정됩니다.
프로젝트 수준에서는 특정 VPC 네트워크, 서브넷, VLAN 연결, Cloud VPN 터널에 대해 VPC 흐름 로그를 사용 설정할 수 있습니다.
구성 범위 | 이러한 리소스의 흐름 로그를 생성합니다. | 사용 설정 단계 |
---|---|---|
조직 |
|
조직의 VPC 흐름 로그 사용 설정(미리보기) |
VPC 네트워크 |
|
VPC 네트워크의 VPC 흐름 로그 사용 설정(미리보기) |
서브넷 | 특정 서브넷의 모든 VM 인스턴스 | 서브넷의 VPC 흐름 로그 사용 설정 |
VLAN 연결 | 특정 VLAN 연결 | VLAN 연결의 VPC 흐름 로그 사용 설정 |
Cloud VPN 터널 | 특정 Cloud VPN 터널 | Cloud VPN 터널의 VPC 흐름 로그 사용 설정 |
필터링을 사용하여 이러한 구성 범위를 맞춤설정할 수 있습니다. 자세한 내용은 로그 샘플링 및 처리를 참조하세요.
로그 수집
패킷은 집계 간격 내에서 샘플링됩니다. 지정된 IP 연결에서 집계 간격으로 수집된 모든 패킷은 단일 흐름 로그 항목으로 집계됩니다. 그러면 이 데이터가 흐름을 보고한 VPC 네트워크의 Google Cloud 프로젝트에 있는 Logging으로 전송됩니다.
로그는 기본적으로 Logging에 30일 동안 저장됩니다. 로그를 이 기간보다 오래 보관하려면 커스텀 보관 기간을 설정하거나 지원되는 대상으로 로그를 내보내면 됩니다.
로그 샘플링 및 처리
VPC 흐름 로그는 흐름 로그를 생성하기 위해 VM을 나가고 들어오거나 VLAN 연결 또는 Cloud VPN 터널과 같은 게이트웨이를 통과하는 패킷을 샘플링합니다. 흐름 로그가 생성되면 VPC 흐름 로그는 이 섹션에 설명된 절차에 따라 로그를 처리합니다.
VPC 흐름 로그는 기본 샘플링 레이트를 사용하여 패킷을 샘플링합니다. 기본 샘플링 레이트는 동적이며 샘플링 시 VM 또는 게이트를 실행하는 실제 호스트의 부하에 따라 달라집니다. 단일 IP 연결을 샘플링할 확률은 패킷 양에 따라 증가합니다. 기본 흐름 로그 샘플링 프로세스를 제어하거나 기본 샘플링 레이트를 조정할 수 없습니다.
흐름 로그가 생성되면 VPC 흐름 로그에서 다음 절차에 따라 로그를 처리합니다.
- 필터링. 지정된 기준과 일치하는 로그만 생성되도록 지정할 수 있습니다. 예를 들어 특정 VM의 로그 또는 특정 메타데이터 값이 있는 로그만 생성되고 나머지는 삭제되도록 필터링할 수 있습니다. 자세한 내용은 로그 필터링을 참조하세요.
- 집계. 샘플링된 패킷에 대한 정보가 구성 가능한 집계 간격을 통해 집계되어 흐름 로그 항목이 생성됩니다.
- 보조 흐름 로그 샘플링 두 번째 샘플링 프로세스입니다. 흐름 로그 항목은 구성 가능한 보조 샘플링 레이트 파라미터에 따라 추가로 샘플링됩니다. 보조 샘플링은 기본 흐름 로그 샘플링 프로세스에서 생성한 흐름 로그에서 수행됩니다. 예를 들어 보조 샘플링 레이트가 1.0 또는 100%로 설정된 경우 VPC 흐름 로그는 기본 흐름 로그 샘플링에서 생성한 흐름 로그의 100%를 샘플링합니다.
- 메타데이터. 사용 중지하면 모든 메타데이터 주석이 삭제됩니다. 메타데이터를 보관하려면 모든 필드 또는 지정된 필드 세트를 보관하도록 지정할 수 있습니다. 자세한 내용은 메타데이터 주석을 참조하세요.
- 로그 작성. 최종 로그 항목은 Cloud Logging에 기록됩니다.
VPC 흐름 로그는 모든 패킷을 캡처하지 않으므로 캡처된 패킷에서 보간하여 누락된 패킷을 보완합니다. 이는 초기 샘플링 설정 및 사용자가 구성할 수 있는 샘플링 설정으로 인해 누락된 패킷에 발생합니다.
Google Cloud 가 모든 패킷을 캡처하지 않더라도 로그 레코드는 상당한 양이 캡처될 수 있습니다. 로그 수집의 다음 측면을 조정하여 트래픽 공개 상태와 스토리지 비용 사이에서 니즈의 균형을 유지할 수 있습니다.
- 집계 간격. 특정 시간 간격으로 샘플링된 패킷은 단일 로그 항목에 집계됩니다. 이 시간 간격은 5초(기본값), 30초, 1분, 5분, 10분 또는 15분입니다.
- 보조 샘플링 레이트.
- Compute Engine API로 생성된 구성의 경우 기본적으로 로그 항목의 50%가 유지됩니다. 이 파라미터를
1.0
(100%, 모든 로그 항목 유지)에서0.0
(0%, 유지되는 로그 없음)까지 설정할 수 있습니다. - Network Management API로 생성된 구성의 경우 기본적으로 로그 항목의 100% 가 유지됩니다. 이 파라미터는
1.0
에서0.0
보다 큰 값으로 설정할 수 있습니다.
- Compute Engine API로 생성된 구성의 경우 기본적으로 로그 항목의 50%가 유지됩니다. 이 파라미터를
- 메타데이터 주석. 기본적으로 흐름 로그 항목에는 Google Cloud 내의 소스 및 대상 이름이나 외부 소스 및 대상의 지리적 리전과 같은 메타데이터 정보가 주석으로 달립니다. 메타데이터 주석을 사용 중지하거나 특정 주석만 지정하여 저장공간을 절약할 수 있습니다.
- 필터링. 기본적으로 로그는 샘플링된 모든 흐름에서 생성됩니다. 특정 기준과 일치하는 로그만 생성되도록 필터를 설정할 수 있습니다.
사양
- VPC 흐름 로그를 사용 설정하면 지연이나 성능 저하가 발생하지 않습니다.
- VPC 흐름 로그는 기존 네트워크가 아닌 VPC 네트워크에서 작동합니다.
- 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 리소스에 대해 지원되지 않습니다.
- 이러한 서브넷은 프록시 전용 서브넷으로 사용되고 VM 인스턴스가 없으므로 용도가
INTERNAL_HTTPS_LOAD_BALANCER
인 서브넷에는 VPC 흐름 로그가 지원되지 않습니다. - VPC 흐름 로그는 보고 VPC 네트워크의 프로젝트에 로그를 작성합니다. 공유 VPC 네트워크의 리소스의 경우 로그가 호스트 프로젝트에 보고됩니다.
가격 책정 및 결제
Logging, BigQuery, Pub/Sub의 표준 가격 책정이 적용됩니다. VPC 흐름 로그 가격에 관한 설명은 Network Telemetry 가격 책정에 나와 있습니다.
VPC 흐름 로그 요금은 흐름 로그를 보고하는 리소스의 Google Cloud 프로젝트에 청구됩니다. 조직에 VPC 흐름 로그가 사용 설정된 경우 각 프로젝트에 별도로 요금이 청구됩니다.
다음 단계
- VPC 흐름 로그 레코드 형식 및 사용 가능한 메타데이터 주석에 관한 자세한 내용은 VPC 흐름 로그 레코드 정보를 참조하세요.
- 다양한 사용 사례에 대해 수집된 VPC 흐름 로그의 예는 트래픽 흐름 정보를 참조하세요.
- 서브넷의 흐름 보고를 시작하려면 VPC 흐름 로그 구성을 참조하세요.