로그 내보내기 개요

이 페이지에서는 Cloud Logging을 사용한 로그 내보내기의 개념을 간략히 설명합니다.

로그를 내보내는 방법은 이 페이지의 다음 단계를 참조하세요.

로그의 일부 또는 전부를 다양한 싱크 대상으로 내보낼 수 있습니다. 다음과 같은 이유로 로그를 내보낼 수 있습니다.

  • 로그를 더 오랫동안 보관하기 위해. Logging은 일반적으로 로그를 몇 년이 아니라 몇 주 동안 보관합니다. 자세한 내용은 로그 보존 기간을 참조하세요.
  • 로그에 빅데이터 분석 도구를 사용하기 위해
  • 로그를 다른 애플리케이션, 다른 저장소, 제3자로 스트리밍하기 위해

일반적인 로깅 내보내기 시나리오에 대한 자세한 내용은 Cloud Logging으로 내보내기 위한 설계 패턴: 로깅 내보내기 시나리오를 참조하세요.

내보내기 작동 방식

다음 다이어그램은 Cloud Logging이 내보낸 로그 항목을 처리하는 방식을 보여줍니다.

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

감사 로그, 플랫폼 로그, 사용자 로그를 포함한 모든 로그는 Cloud Logging API로 전송되어 로그 라우터를 통과합니다. 로그 라우터는 각 로그 항목을 기존 규칙과 비교하여 수집(저장)할 로그 항목, 내보낼 로그 항목, 삭제할 로그 항목을 결정합니다. 자세한 내용은 로그 라우터 개요를 참조하세요.

로그를 내보내려면 내보낼 로그 항목을 선택하는 필터를 작성하고 Cloud Storage, BigQuery, Pub/Sub 또는 Cloud Logging에서 대상을 선택해야 합니다. 필터와 대상은 싱크라고 하는 객체에 보관됩니다. Google Cloud 프로젝트, 조직, 폴더, 결제 계정에서 싱크를 만들 수 있습니다.

싱크 속성 및 용어

싱크는 다음과 같은 속성을 지닙니다.

  • 싱크 식별자: 싱크의 이름입니다. 예: my-vm-error-sink

  • 상위 리소스: 싱크가 만들어지는 리소스입니다. 상위 요소는 프로젝트일 때가 제일 많지만 다음 중 하나일 수도 있습니다.

    "projects/[PROJECT_ID]"
    "folders/[FOLDER_ID]"
    "billingAccounts/[BILLING_ACCOUNT_ID]"
    "organizations/[ORGANIZATION_ID]"
    

    싱크는 그 상위 리소스에 속한 로그만 내보낼 수 있습니다. 이 규칙의 유일한 예외를 확인하려면 아래의 전체 내보내기 속성을 참조하세요.

    싱크의 전체 리소스 이름은 상위 리소스와 싱크 식별자로 구성됩니다. 예를 들면 다음과 같습니다.

    "projects/[PROJECT_ID]/sinks/[SINK_ID]"
    
  • 로그 필터: 이 싱크를 통해 어떤 로그 항목을 내보낼지 선택합니다. 필터 예시는 샘플 쿼리를 참조하세요.

  • 대상: 필터와 일치하는 로그 항목을 전송할 단일 위치입니다. 지원되는 대상은 다음과 같습니다.

    • Cloud Storage 버킷은 비용이 저렴하고 오랫동안 보관할 수 있습니다.

      storage.googleapis.com/[BUCKET_ID]
      
    • BigQuery 데이터세트는 빅데이터 분석 기능을 제공합니다.

      bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET_ID]
      
    • Pub/Sub 주제는 로그 항목을 다른 애플리케이션 또는 저장소로 스트리밍합니다.

      pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]
      
    • Logging 버킷은 보관 기간을 맞춤설정할 수 있는 스토리지를 제공합니다.

      logging.googleapis.com/projects/[PROJECT_ID]/locations/[REGION]/buckets/[BUCKET_ID]
      

    한 프로젝트의 로그를 다른 프로젝트의 싱크로 전송하는 내보내기를 만들 경우 로그 뷰어에서 커스텀 대상 옵션을 사용해도 됩니다. 자세한 내용은 싱크 만들기를 참조하세요.

    내보내기 대상이 싱크의 서비스 계정을 작성자로 승인하는 한, 로그를 모든 프로젝트의 대상으로 내보낼 수 있습니다.

  • 작성자 ID: 서비스 계정 이름입니다. 내보내기 대상의 소유자는 이 서비스 계정에 '내보내기 대상에 쓰기' 권한을 부여해야 합니다. 로그를 내보낼 때 Logging은 이 ID를 사용하여 권한을 부여합니다. 보안 강화를 위해 새 싱크는 고유한 서비스 계정을 얻습니다.

    [GENERATED_ID_1]@[GENERATED_ID_2].iam.gserviceaccount.com
    

    자세한 내용은 대상 권한을 참조하세요.

  • 전체 내보내기. includeChildren 속성은 전체 내보내기에서 설명합니다. 이는 조직 또는 폴더를 위해 생성된 싱크에만 관련이 있습니다.

싱크에 관한 자세한 내용은 LogSink 유형, projects.sinks.create API 메서드, API에서 로그 내보내기를 참조하세요.

싱크의 작동 방식

프로젝트, 폴더, 결제 계정, 조직 리소스에 로그 항목이 도착할 때마다 Logging은 이 로그 항목을 그 리소스의 싱크와 비교합니다. 필터가 로그 항목과 일치하는 모든 싱크는 싱크의 내보내기 대상에 해당 로그 항목의 사본을 만듭니다.

액세스 제어

싱크를 만들거나 수정하려면 싱크의 상위 리소스에 ID 및 액세스 관리 소유자 또는 로깅/로그 구성 작성자 역할이 있어야 합니다. 기존 싱크를 보려면 싱크의 상위 리소스에 IAM 뷰어 또는 로깅/로그 뷰어 역할이 있어야 합니다. 자세한 내용은 액세스 제어를 참조하세요.

로그를 대상으로 내보내려면 싱크의 작성자 서비스 계정에 해당 대상에 대한 쓰기 권한이 부여되어야 합니다. 작성자 ID에 대한 자세한 내용은 이 페이지의 싱크 속성을 참조하세요.

가격

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

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

다음 단계

로그 내보내기

로그를 내보내는 방법은 다음 페이지를 참조하세요.

내보낸 로그 찾기 및 사용

내보낸 로그 항목의 형식에 관해 알아보고 내보낸 로그가 대상에서 어떻게 구성되는지 알아보려면 내보낸 로그 사용을 참조하세요.

Logging 내보내기 시나리오 살펴보기

다음 가이드에서는 로그를 내보낼 수 있는 시나리오를 설명합니다. 각 가이드에는 요구사항, 설정, 사용법, 내보내기 공유 방법이 나와 있습니다.