라우팅 및 스토리지 개요

이 페이지에서는 Cloud Logging이 로그 항목을 처리하는 방법을 설명하고 Logging 라우팅 및 스토리지의 핵심 구성요소에 대해 설명합니다.

크게 보면 이것은 Cloud Logging이 로그 항목을 라우팅하고 저장하는 방법입니다.

Cloud Logging이 로그 항목을 라우팅하는 방식을 보여주는 그림

로그 라우터로 로그 수집 및 라우팅

다음 섹션에서는 싱크를 사용하여 로그 라우터를 통해 Logging에서 로그를 수집하고 라우팅하는 방법을 설명합니다.

로그 라우터

로그 항목은 entries.write 호출 도중 logName 필드에 지정된 Google Cloud 리소스로 전송됩니다.

Cloud Logging은 로그 라우터를 통해 전달하는 Cloud Logging API를 통해 로그 항목을 수신합니다. 로그 라우터의 싱크는 Cloud Logging 버킷을 포함하여 로그 항목이 전송되어야 할 대상을 확인하는 기존 포함 필터제외 필터에 대해 각 로그 항목을 확인합니다. 싱크 조합을 사용하면 로그를 여러 대상으로 라우팅할 수 있습니다.

또한 로그 라우터는 안정적으로 로그를 라우팅하기 위해 임시로 로그를 저장하므로(이미지에 없음) 싱크에 일시적인 장애가 발생해도 문제가 없습니다. 로그 라우터의 임시 스토리지는 Logging 버킷에서 제공되는 장기 스토리지와 별개입니다.

싱크

싱크는 Cloud Logging의 로그 라우팅 방법을 제어합니다. 싱크를 사용하면 로그의 일부 또는 전부를 지원되는 대상으로 라우팅할 수 있습니다. 로그 라우팅 방법을 제어해야 하는 몇 가지 이유는 다음과 같습니다.

  • 읽을 가능성이 없지만 규정 준수를 위해 유지해야 하는 로그를 저장하기 위해
  • 버킷에 유용한 형식으로 로그를 정리하기 위해
  • 로그에 빅데이터 분석 도구를 사용하기 위해
  • 로그를 다른 애플리케이션, 다른 저장소, 제3자로 스트리밍하기 위해

싱크는 클라우드 프로젝트, 결제 계정, 폴더, 조직 등 지정된 Google Cloud 리소스에 속합니다. 리소스가 로그 항목을 수신하면 해당 리소스에 포함된 싱크에 따라 로그 항목을 라우팅하며, 사용 설정된 경우 리소스 계층 구조에 속하는 모든 상위 싱크에 따라 로그 항목을 라우팅합니다. 로그 항목은 일치하는 각 싱크와 연결된 대상으로 전송됩니다.

Cloud Logging은 각 클라우드 프로젝트, 결제 계정, 폴더, 조직에 두 개의 사전 정의된 싱크인 _Required_Default를 제공합니다. 리소스에서 생성된 모든 로그는 이 두 싱크를 통해 자동으로 처리된 후 _Required 또는 _Default라는 버킷에 저장됩니다.

싱크는 서로 독립적으로 작동합니다. 사전 정의된 싱크가 로그 항목을 처리하는 방식에 관계없이 고유한 싱크를 만들어 일부 또는 전체 로그를 여러 지원되는 대상으로 라우팅하거나 Cloud Logging에서 저장되지 않도록 제외할 수 있습니다.

각 싱크의 라우팅 동작은 해당 싱크에 포함 필터제외 필터를 구성하여 제어합니다. 싱크의 구성에 따라 Cloud Logging에서 수신되는 모든 로그 항목은 다음 카테고리 중 하나 이상에 포함됩니다.

  • Cloud Logging에 저장되고 다른 곳으로 라우팅되지 않습니다.

  • Cloud Logging에 저장되고 지원되는 대상으로 라우팅됩니다.

  • Cloud Logging에 저장되지 않지만 지원되는 대상으로 라우팅됩니다.

  • Cloud Logging에 저장되지 않고 다른 곳으로 라우팅되지 않습니다.

일반적으로 Cloud 프로젝트 수준에서 싱크를 만들지만 Google Cloud 조직 또는 폴더에 포함된 리소스의 로그를 결합하고 라우팅하려면 집계 싱크를 만들 수 있습니다.

로그가 Logging API를 통과하면서 라우팅이 발생하고 새 라우팅 규칙은 규칙이 만들어진 이후에 작성된 로그에만 적용되므로 싱크가 생성되기 전 Logging에 수신된 로그 항목을 라우팅할 수 없습니다. 로그 항목을 소급해서 라우팅해야 하는 경우에는 로그 복사를 참조하세요.

포함 필터

새 싱크의 경우 필터를 지정하지 않으면 모든 로그가 일치되어 싱크 대상으로 라우팅됩니다. 포함 필터를 설정하여 특정 로그를 선택하도록 싱크를 구성할 수 있습니다. 하나 이상의 제외 필터를 설정하여 싱크의 대상에서 로그를 제외할 수도 있습니다.

싱크를 구성할 때 로깅 쿼리 언어를 사용하여 포함 필터를 만듭니다. 싱크는 여러 개의 제외 필터도 포함할 수 있습니다.

Logging에서 수신된 모든 로그 항목은 다음 필터링 규칙에 따라 라우팅됩니다.

  • 싱크의 제외 필터는 정의된 포함 필터를 재정의합니다. 로그가 싱크의 제외 필터와 일치하면 정의된 포함 필터와 상관없이 싱크는 제외됩니다. 로그 항목은 해당 싱크 대상으로 라우팅되지 않습니다.

  • 싱크에 포함 필터가 없다면 다음과 같은 결과가 발생합니다.

    • 로그 항목이 제외 필터와 일치하면 싱크의 대상으로 라우팅되지 않습니다.
    • 로그 항목이 제외 필터와 일치하지 않으면 싱크의 대상으로 라우팅됩니다. 포함 필터가 비어 있으면 모든 로그가 선택됩니다.
  • 싱크에 포함 필터가 포함되어 있으면 다음과 같은 결과가 발생합니다.

    • 로그 항목이 포함 필터와 일치하면 싱크의 대상으로 라우팅됩니다.
    • 로그 항목이 포함 필터와 일치하지 않으면 싱크의 대상으로 라우팅되지 않습니다.

제외 필터

싱크를 만들 때 제외 필터를 여러 개 설정하여 일치하는 로그 항목이 싱크의 대상으로 라우팅되거나 Cloud Logging에서 수집되지 않도록 할 수 있습니다. Logging 쿼리 언어를 사용하여 제외 필터를 만듭니다.

Logging API에서 로그를 수신하면 제외됩니다. 따라서 로그를 제외해도 entries.write API 호출 수가 줄어들지 않습니다.

제외된 로그 항목은 로그 탐색기 또는 Cloud Debugger에서 사용할 수 없습니다.

제외 필터를 사용하여 명시적으로 또는 Logging 스토리지 대상이 있는 싱크와 일치하지 않으므로 하나 이상의 로그 버킷으로 라우팅되지 않은 로그 항목도 Error Reporting에서 제외됩니다.

사용자 정의 로그 기반 측정항목은 포함된 로그와 제외된 로그의 로그 항목에서 집계됩니다. 자세한 내용은 로그 모니터링을 참조하세요.

지원되는 대상

로그 라우터를 사용하여 특정 로그를 클라우드 프로젝트의 지원되는 대상으로 라우팅할 수 있습니다. Logging은 다음 싱크 대상을 지원합니다.

  • Cloud Storage: Cloud Storage 버킷에 저장된 JSON 파일입니다. 저렴한 장기 스토리지를 제공합니다.
  • BigQuery: BigQuery 데이터 세트에 생성되는 테이블입니다. 빅 데이터 분석 기능을 제공합니다.
  • Pub/Sub: Pub/Sub 주제에 전달되는 JSON 형식의 메시지입니다. Logging에서 Splunk와 같은 타사 통합을 지원합니다.
  • Cloud Logging: 로그 버킷에 저장되는 로그 항목입니다. Cloud Logging에서 맞춤설정 가능한 보관 기간의 스토리지를 제공합니다.

지원되는 대상으로 로그 라우팅에 대해서는 싱크 구성을 참조하세요.

로그 저장, 보기, 관리

다음 섹션에서는 Cloud Logging에 로그가 저장되는 방식과 로그를 보고 관리하는 방법을 자세히 설명합니다.

로그 버킷

Cloud Logging은 로그 버킷을 Google Cloud 프로젝트, 결제 계정, 폴더, 조직의 컨테이너로 사용하여 로그 데이터를 저장하고 정리합니다. Cloud Logging에 저장하는 로그는 로그를 실시간으로 분석할 수 있도록 색인을 생성하고 최적화하여 전달됩니다. Cloud Logging 버킷은 비슷한 이름의 Cloud Storage 버킷과 다른 스토리지 항목입니다.

각 Cloud 프로젝트, 결제 계정, 폴더, 조직에 대해 Logging은 자동으로 두 개의 _Required_Default 로그 버킷을 만듭니다. Logging은 _Required_Default라는 싱크를 자동으로 만듭니다. 이러한 싱크는 기본 구성에서 해당 이름의 버킷으로 로그를 라우팅합니다.

로그를 _Default 로그 버킷으로 라우팅하는 Default 싱크를 중지할 수 있습니다. 조직에서 만든 새 Cloud 프로젝트나 폴더에 생성된 Default 싱크의 동작을 변경하려면 조직의 기본 설정을 구성하면 됩니다.

_Required 버킷의 라우팅 규칙을 변경할 수 없습니다.

또한 모든 Cloud 프로젝트에 대해 사용자 정의 버킷을 만들 수 있습니다.

싱크를 만들어 로그 전체 또는 하위 집합을 로그 버킷으로 라우팅합니다. 이를 통해 로그가 저장되는 Cloud 프로젝트와 저장되는 다른 로그를 유연하게 선택할 수 있습니다.

자세한 내용은 로그 버킷 구성을 참조하세요.

_Required 로그 버킷

Cloud Logging은 다음 유형의 로그를 _Required 버킷으로 자동 라우팅합니다.

Cloud Logging은 이 버킷의 로그를 400일 동안 보관합니다. 이 보관 기간을 변경할 수 없습니다.

_Required 버킷은 수정하거나 삭제할 수 없습니다. 로그를 _Required 버킷으로 라우팅하는 _Required 싱크를 사용 중지할 수 없습니다.

_Required 로그 버킷에 저장된 로그 데이터에는 수집 가격 책정 및 스토리지 가격 책정이 적용되지 않습니다.

_Default 로그 버킷

_Required 버킷에서 수집되지 않은 로그 항목은 _Default 싱크를 사용 중지하거나 수정하지 않는 한 _Default 싱크에서 _Default 버킷으로 라우팅됩니다. 싱크 수정에 대한 상세 설명은 싱크 관리를 참조하세요.

_Default 버킷은 삭제할 수 없습니다.

_Default 버킷에 저장된 로그는 버킷에 대한 커스텀 보관 기간을 구성하지 않는 한 30일 동안 보관됩니다.

Cloud Logging 가격_Default 버킷에 저장된 로그 데이터에 적용됩니다.

사용자 정의 로그 버킷

모든 Cloud 프로젝트에서 사용자 정의 로그 버킷을 만들 수도 있습니다. 사용자 정의 로그 버킷에 싱크를 적용하면 로그의 하위 집합을 모든 로그 버킷으로 라우팅하여 로그를 저장할 Cloud 프로젝트와 다른 로그를 선택할 수 있습니다.

예를 들어 프로젝트-A에서 생성된 로그의 경우 프로젝트-A 또는 프로젝트-B에서 사용자 정의 버킷으로 로그를 라우팅하도록 싱크를 구성할 수 있습니다.

Cloud Logging 가격은 로그 유형에 관계없이 이 버킷에 저장된 로그 데이터에 적용됩니다.

버킷에 커스텀 보관을 구성할 수 있습니다.

삭제 또는 업데이트를 포함하여 사용자 정의된 로그 버킷 관리에 대한 상세 설명은 로그 버킷 구성 및 관리를 참조하세요.

리전화

로그 버킷은 리전별 리소스입니다. 로그를 저장하고, 색인을 생성하고, 검색하는 인프라는 특정 지리적 위치에 있습니다. Google은 해당 리전 내의 영역에서 애플리케이션을 중복으로 사용할 수 있도록 해당 인프라를 관리합니다.

로그 버킷을 생성하거나 조직 수준 리전 정책을 설정할 때 다음 리전 중 하나에 로그를 저장할 수 있습니다.

대륙 리전
아시아 asia-east1
asia-east2
asia-northeast1
asia-northeast2
asia-northeast3
asia-south1
asia-south2
asia-southeast1
asia-southeast2
오스트레일리아 australia-southeast1
australia-southeast2
유럽 europe-central2
europe-north1
europe-southwest1
europe-west1
europe-west2
europe-west3
europe-west4
europe-west6
europe-west8
europe-west9
북미 northamerica-northeast1
northamerica-northeast2
us-central1
us-east1
us-east4
us-west1
us-west2
us-west3
us-west4
남미 southamerica-east1
southamerica-west1

이러한 리전 외에도 위치를 global로 설정할 수 있습니다. 즉, 로그가 물리적으로 저장되는 위치를 지정하지 않아도 됩니다.

특정 스토리지 리전을 조직에 생성된 _Default_Required 버킷에 자동으로 적용하려면 기본 리소스 위치를 구성하세요.

로그 데이터 위치에 대한 상세 설명은 Cloud Logging 데이터 리전성을 참조하세요.

조직 정책

조직 정책을 만들어서 해당 조직이 규정 준수 및 규제 요구 사항을 충족하는지 확인할 수 있습니다. 조직 정책을 사용하여 해당 조직에서 새 로그 버킷을 만들 수 있는 리전을 지정할 수 있습니다. 또한 지정된 리전에서는 조직이 새 로그 버킷을 만들지 못하도록 제한할 수 있습니다.

Cloud Logging은 기존 로그 버킷에 새로 생성된 조직 정책을 강제 적용하지 않으며, 새 로그 버킷에만 정책을 적용합니다.

위치 기반 조직 정책을 만드는 방법에 대한 상세 설명은 리소스 위치 제한을 참조하세요.

또한 기본 리소스 위치를 구성하여 조직에서 만든 _Default_Required 버킷에 적용할 스토리지 리전을 선택할 수 있습니다.

보관

Cloud Logging은 로그가 보관되는 로그 버킷 유형에 적용되는 보관 규칙에 따라 로그를 보관합니다.

로그를 1~3,650일 동안 보관하도록 Cloud Logging을 구성할 수 있습니다. 커스텀 보관 규칙은 로그 유형 또는 로그가 다른 위치에서 복사되었는지 여부와 관계없이 버킷의 모든 로그에 적용됩니다.

로그 버킷의 보관 규칙 설정에 대한 상세 설명은 커스텀 보관 구성을 참조하세요.

로그 뷰

로그 뷰를 사용하면 로그 버킷 내의 로그에 액세스할 수 있는 사용자를 제어할 수 있습니다.

Cloud Logging은 모든 버킷에 대한 _AllLogs 보기를 자동으로 만들어 모든 로그를 표시합니다. Cloud Logging은 또한 데이터 액세스 감사 로그를 제외하고 모든 로그를 보여주는 _Default라는 _Default 버킷의 보기를 보여줍니다.

로그 버킷에는 여러 클라우드 프로젝트의 로그가 포함될 수 있으므로 다른 사용자가 로그를 볼 수 있는 클라우드 프로젝트를 제어하려 할 수 있습니다. 해당 버킷에 대해 보다 세부적인 액세스 제어를 제공하는 커스텀 로그 보기를 만들 수 있습니다.

자세한 내용은 로그 보기 관리를 참조하세요.

Google Cloud 생태계에서 로그 사용

다음 섹션에서는 광범위한 Google Cloud에서 로그를 사용하는 방법을 설명합니다.

로그 기반 측정항목

로그 기반 측정항목은 로그 항목 콘텐츠에 기반한 Cloud Monitoring 측정항목입니다. Cloud Logging이 클라우드 프로젝트의 측정항목 중 하나의 필터와 일치하는 클라우드 프로젝트의 로그 항목을 수신한 경우, 로그 항목이 측정항목 데이터에 반영됩니다.

싱크 제외 필터는 Cloud 프로젝트에 의해 수집에 포함된 로그만 계산하는 시스템 정의 사용자 측정항목에 적용됩니다.

사용자 정의 로그 기반 측정항목에는 싱크 제외 필터가 적용되지 않습니다. Cloud Logging API에서 로그를 수집하지 않도록 제외하고 로그가 Logging 버킷에 저장되지 않더라도 로그가 이러한 측정항목에서 계산될 수 있습니다.

로그 기반 측정항목은 Cloud 프로젝트 수준에서 적용됩니다. 이러한 측정항목은 로그 라우터에서 계산되며 수신된 Cloud 프로젝트의 로그에만 적용됩니다.

자세한 내용은 로그 기반 측정항목 개요를 참조하세요.

지원되는 대상에서 로그 찾기

라우팅된 로그 항목의 형식에 관해 알아보고 로그가 대상에서 어떻게 구성되는지 알아보려면 싱크 대상의 로그 보기를 참조하세요.

일반 사용 사례

로그 라우팅 및 저장의 일반적인 사용 사례를 다루려면 다음 문서 및 튜토리얼을 참조하세요.

규정 준수 필요

데이터 거버넌스의 라우팅 사용에 대한 권장사항은 다음 문서를 참조하세요.

IAM으로 액세스 제어

Cloud Logging 데이터에 대한 액세스를 제어하기 위해 Identity and Access Managemen(IAM) 역할과 권한을 사용하는 방법은 IAM으로 액세스 제어를 참조하세요.

가격 책정

수집 및 스토리지 가격 책정을 이해하려면 Cloud Logging 가격 책정 정보를 참조하세요.

Cloud Logging은 로그를 라우팅하는 데 비용을 청구하지 않지만 대상 요금을 적용할 수도 있습니다. 자세한 내용은 해당 서비스의 가격 책정 세부정보를 참조하세요.

Virtual Private Cloud 흐름 로그를 전송한 후 Cloud Logging에서 제외하면 대상 요금 외에 VPC 흐름 로그 생성 요금이 부과됩니다.

다음 단계

Cloud Logging 데이터를 라우팅하고 저장하는 방법은 다음 문서를 참조하세요.