로그 버킷 구성

이 문서에서는 Google Cloud 콘솔, Google Cloud CLI, Logging API를 사용하여 Cloud Logging 버킷을 만들고 관리하는 방법을 설명합니다. 또한 Google Cloud 프로젝트 수준에서 로그 버킷을 만들고 관리하는 방법도 제공합니다. 폴더나 조직 수준에서는 로그 버킷을 만들 수 없습니다. 하지만 Cloud Logging은 자동으로 폴더 및 조직 수준에서 _Default_Required 버킷을 만듭니다.

로그 분석을 사용하도록 로그 버킷을 업그레이드할 수 있습니다. 로그 분석을 사용하면 로그 데이터에 SQL 쿼리를 실행하여 애플리케이션, 보안, 네트워킹 문제를 해결할 수 있습니다.

BigQuery를 사용하여 로그 데이터를 분석하는 방법에는 두 가지가 있습니다.

  • 로그 애널리틱스를 사용하도록 로그 버킷을 업그레이드한 후 연결된 BigQuery 데이터 세트를 만듭니다. 이 시나리오에서 Logging은 로그 데이터를 저장하지만 BigQuery는 로그 데이터를 읽을 수 있습니다.

  • BigQuery로 로그 항목을 내보냅니다. 이 시나리오에서는 싱크를 만들어야 하고, BigQuery가 데이터를 저장하고 관리하며, 파티션을 나눈 테이블을 사용할 수 있는 옵션이 있습니다.

BigQuery에서 로그 데이터를 사용할 수 있으면 로그 데이터를 BigQuery에 저장된 다른 데이터와 조인할 수 있으며 Looker Studio 및 Looker와 같은 다른 도구에서 이 데이터에 액세스할 수 있습니다.

버킷의 개념 개요는 라우팅 및 스토리지 개요: 로그 버킷을 참조하세요.

시작하기 전에

버킷을 시작하려면 다음을 수행합니다.

  • Google Cloud 프로젝트 청구가 사용 설정되었는지 확인합니다.

  • Identity and Access Management(IAM) 역할이 버킷을 생성, 업그레이드, 연결하는 데 필요한 권한을 부여하는지 확인합니다.

    로그 구성 작성자(roles/logging.configWriter) 역할은 버킷을 관리하는 데 필요한 권한을 부여하는 최소한의 사전 정의된 역할입니다. 권한 및 역할의 전체 목록은 IAM으로 액세스 제어를 참조하세요.

  • 로그를 저장할 수 있는 지원되는 리전을 포함한 LogBucket 형식 요구사항을 이해합니다.

  • 조직에서 _Required_Default 버킷에 기본 스토리지 리전을 적용하기 위해 기본 리소스 위치를 설정합니다.

  • BigQuery를 사용하여 로그 버킷에 저장된 데이터를 보려면 다음을 수행합니다.

  • 고객 관리 암호화 키(CMEK)를 사용하는 로그 버킷을 만드는 방법에 대한 자세한 내용은 로그 스토리지에 대해 CMEK 구성을 참조하세요.

버킷 만들기

Google Cloud 프로젝트당 최대 100개의 버킷을 만들 수 있습니다.

Google Cloud 프로젝트의 사용자 정의 로그 버킷을 만들려면 다음 안내를 따르세요.

Google Cloud 콘솔

Google Cloud 프로젝트에서 로그 버킷을 만들려면 다음을 따르세요.

  1. Google Cloud 콘솔에서 로그 스토리지 페이지로 이동합니다.

    로그 스토리지로 이동

    검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.

  2. 로그 버킷 만들기를 클릭합니다.

  3. 버킷의 이름설명을 입력하세요.

  4. 선택사항: 로그 분석을 사용하도록 버킷을 업그레이드합니다.

    1. 로그 애널리틱스를 사용하도록 업그레이드를 선택합니다.

      로그 분석을 사용하도록 버킷을 업그레이드하는 경우 SQL 쿼리를 사용하여 로그 애널리틱스 페이지에서 로그를 쿼리할 수 있습니다. 로그 탐색기를 사용하여 계속 로그를 볼 수도 있습니다.

      일부 리전에서는 로그 분석이 지원되지 않습니다. 자세한 내용은 지원되는 리전을 참조하세요.

    2. 선택사항: BigQuery에서 로그를 보려면 이 버킷에 연결되는 새 BigQuery 데이터 세트 만들기를 선택하고 고유한 데이터 세트 이름을 입력합니다.

      이 옵션을 선택하면 BigQuery가 로그 버킷에 저장된 데이터를 읽을 수 있습니다. 이제 로그 데이터에 조인할 수 있는 BigQuery 인터페이스에서 쿼리할 수 있으며 Looker Studio 및 Looker와 같은 다른 도구의 데이터에 액세스할 수도 있습니다.

  5. 선택사항: 로그의 스토리지 리전을 선택하려면 로그 버킷 리전 선택 메뉴를 클릭하고 리전을 선택합니다. 리전을 선택하지 않으면 global 리전이 사용되며 이는 로그가 모든 리전에 물리적으로 위치할 수 있다는 뜻입니다.

  6. 선택사항: 버킷의 로그에 대해 커스텀 보관 기간을 설정하려면 다음을 클릭합니다.

    보관 기간 필드에 Cloud Logging에서 로그를 보관할 일수(1~3650일)를 입력합니다. 보관 기간을 지정하지 않으면 기본값은 30 days입니다.

    또한 생성 후 커스텀 보관을 적용하기 위해 버킷을 업데이트할 수 있습니다.

  7. 버킷 만들기를 클릭합니다.

    로그 버킷이 생성되면 Logging에서 버킷을 업그레이드하고 데이터 세트 옵션이 생성된 경우 데이터 세트 링크를 만듭니다.

    이 단계를 완료하는 데 다소 시간이 걸릴 수 있습니다.

gcloud

로그 버킷만 만들려면 gcloud logging buckets create 명령어를 실행합니다. 로그 애널리틱스를 사용하도록 로그 버킷을 업그레이드하려면 --enable-analytics--async 플래그를 포함하고 LOCATION 변수를 로그 애널리틱스가 지원되는 리전으로 설정해야 합니다.

gcloud logging buckets create BUCKET_ID --location=LOCATION --enable-analytics --async OPTIONAL_FLAGS

--async 플래그는 명령어를 강제로 비동기화합니다. 비동기 메서드는 Operation 객체를 반환하며 메서드의 진행률에 대한 정보를 포함합니다. 메서드가 완료되면 Operation 객체에 상태가 포함됩니다. 자세한 내용은 비동기 API 메서드를 참조하세요.

로그 애널리틱스를 사용하도록 로그 버킷을 업그레이드하지 않으려면 --enable-analytics--async 플래그를 생략합니다. LOCATION 변수를 지원되는 리전으로 설정할 수 있습니다.

예를 들어 asia-east2 리전에 BUCKET_ID my-bucket으로 버킷을 만들려는 경우 명령어는 다음과 같습니다.

gcloud logging buckets create my-bucket --location asia-east2 --description "My first bucket"

예를 들어 us 위치에 BUCKET_ID my-upgraded-bucket으로 버킷을 만든 다음 로그 분석을 사용하도록 로드 버킷을 업그레이드하는 경우 명령어는 다음과 같습니다.

gcloud logging buckets create my-upgraded-bucket --location us \
      --description "My first upgraded bucket" \
      --enable-analytics --retention-days=45

API

버킷을 만들려면 projects.locations.buckets.create 또는 projects.locations.buckets.createAsync 메서드를 사용합니다. 메서드의 인수를 다음과 같이 준비하세요.

  1. parent 매개변수를 버킷을 만들 리소스 projects/PROJECT_ID/locations/LOCATION으로 설정합니다.

    LOCATION 변수는 로그를 저장할 리전을 나타냅니다. 일부 리전에서는 로그 분석이 지원되지 않습니다. 자세한 내용은 지원되는 리전을 참조하세요.

    예를 들어 asia-east2 리전에서 my-project 프로젝트에 대해 버킷을 만들려는 경우 parent 매개변수는 projects/my-project/locations/asia-east2와 같습니다.

  2. bucketId 매개변수를 설정합니다. 예를 들면 my-bucket입니다.

  3. 다음 중 하나를 수행합니다.

    • 로그 버킷을 만든 후 로그 분석을 사용하도록 로그 버킷을 업그레이드하려면 다음 안내를 따르세요.

      1. LogBucket.analyticsEnabled 불리언을 true로 설정합니다.

      2. 비동기 메서드 projects.locations.buckets.createAsync를 호출하여 버킷을 만듭니다.

        비동기 메서드에 대한 응답은 Operation 객체입니다. 이 객체에는 메서드의 진행률에 대한 정보가 포함됩니다. 메서드가 완료되면 Operation 객체에 상태가 포함됩니다. 자세한 내용은 비동기 API 메서드를 참조하세요.

        createAsync 메서드가 완료되는 데 몇 분 정도 걸립니다. 이 메서드는 analyticsEnabled 불리언이 true로 설정되어 있고 업그레이드된 버킷에 대해 리전이 지원되지 않는 경우 오류 메시지를 생성하거나 실패하지 않습니다. 예를 들어 위치를 asia-east2로 설정하면 로그 버킷이 생성되지만 로그 분석을 사용하도록 업그레이드되지 않습니다.

    • 그렇지 않으면 동기 메서드 projects.locations.buckets.create를 호출하여 버킷을 만듭니다.

버킷을 만든 후 싱크를 만들어 로그 항목을 버킷으로 라우팅하고 로그 보기를 구성하여 새 버킷의 로그에 액세스할 수 있는 사용자와 액세스 가능한 로그를 제어합니다. 또한 커스텀 보관제한된 필드를 구성하도록 버킷을 업데이트할 수 있습니다.

로그 버킷에 저장된 로그 볼륨 추적

Google Cloud 콘솔의 로그 스토리지 페이지는 로그 버킷에 저장된 로그 데이터의 볼륨을 추적합니다.

Google Cloud 콘솔에서 로그 스토리지 페이지로 이동합니다.

로그 스토리지로 이동

검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.

로그 스토리지 페이지에는 Google Cloud 프로젝트의 통계 요약이 표시됩니다.

통계 요약은 선택된 프로젝트의 로그 버킷에 저장된 로그 데이터의 양을 보고합니다.

다음과 같은 통계가 보고됩니다.

  • 이번달 수집: Google Cloud 프로젝트에서 이번달의 첫째 날부터 로그 버킷에 저장한 로그 데이터의 양입니다.

  • 지난달 수집: Google Cloud 프로젝트에서 지난달 로그 버킷에 저장한 로그 데이터의 양입니다.

  • 월말 기준 예상 수집: 현재 사용량을 기준으로 이번 달 말까지 Google Cloud 프로젝트에서 로그 버킷에 저장할 예상 로그 데이터의 양입니다.

  • 이번 달 청구 가능한 스토리지: 청구 대상으로 30일 이상 보관된 로그 데이터 양입니다.

이전 통계에는 _Required 버킷의 로그가 포함되지 않습니다. 해당 버킷의 로그는 제외하거나 사용 중지할 수 없습니다.

Google Cloud 콘솔의 로그 라우터 페이지에서는 로그 버킷에 로그 저장이나 월별 할당량을 초과하는 스토리지 요금을 최소화하는 데 사용할 수 있는 도구를 제공합니다. 다음을 수행하면 됩니다.

  • 버킷 수준에서 로그가 저장되지 않도록 사용 중지합니다.
  • 특정 로그 항목이 로그 버킷에 저장되지 않도록 제외합니다.

자세한 내용은 싱크 관리를 참조하세요.

버킷 관리

이 섹션에서는 Google Cloud CLI Google Cloud 콘솔을 사용하여 로그 버킷을 관리하는 방법을 설명합니다.

버킷 업데이트

설명 또는 보관 기간과 같은 버킷 속성을 업데이트하려면 다음을 수행합니다.

Google Cloud 콘솔

버킷 속성을 업데이트하려면 다음을 수행합니다.

  1. Google Cloud 콘솔에서 로그 스토리지 페이지로 이동합니다.

    로그 스토리지로 이동

    검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.

  2. 업데이트할 버킷에서 더보기를 클릭합니다.

  3. 버킷 수정을 선택합니다.

  4. 필요에 따라 버킷을 수정합니다.

  5. 버킷 업데이트를 클릭합니다.

gcloud

버킷 속성을 업데이트하려면 gcloud logging buckets update 명령어를 실행합니다.

gcloud logging buckets update BUCKET_ID --location=LOCATION UPDATED_ATTRIBUTES

예를 들면 다음과 같습니다.

gcloud logging buckets update my-bucket --location=global --description "Updated description"

API

버킷 속성을 업데이트하려면 Logging API에서 projects.locations.buckets.patch를 사용합니다.

로그 분석을 사용하도록 버킷을 업그레이드

로그 분석을 사용하도록 기존 버킷을 업그레이드하려면 다음 제한사항이 적용됩니다.

  • 로그 버킷은 Google Cloud 프로젝트 수준에서 생성되었습니다.
  • 로그 버킷이 _Required 버킷이 아니면 잠금 해제됩니다.
  • 버킷에 대기 중인 업데이트가 없습니다.
  • 일부 리전에서는 로그 애널리틱스가 지원되지 않습니다. 자세한 내용은 지원되는 리전을 참조하세요.

Google Cloud 콘솔

로그 애널리틱스를 사용하도록 기존 버킷을 업그레이드하려면 다음을 수행합니다.

  1. Google Cloud 콘솔에서 로그 스토리지 페이지로 이동합니다.

    로그 스토리지로 이동

    검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.

  2. 업그레이드할 버킷을 찾습니다.

  3. 로그 애널리틱스 사용 가능 열에 업그레이드가 표시되면 로그 애널리틱스를 사용하도록 로그 버킷을 업그레이드할 수 있습니다. 업그레이드를 클릭합니다.

    대화상자가 열립니다. 확인을 클릭합니다.

gcloud

로그 분석을 사용하도록 로그 버킷을 업그레이드하려면 gcloud logging buckets update 명령어를 실행합니다. --enable-analytics 플래그를 설정해야 하며 --async 플래그도 포함하는 것이 좋습니다.

gcloud logging buckets update BUCKET_ID --location=LOCATION --enable-analytics --async

--async 플래그는 명령어를 강제로 비동기화합니다. 비동기 메서드는 Operation 객체를 반환하며 메서드의 진행률에 대한 정보를 포함합니다. 메서드가 완료되면 Operation 객체에 상태가 포함됩니다. 자세한 내용은 비동기 API 메서드를 참조하세요.

API

로그 애널리틱스를 사용하도록 로그 버킷을 업그레이드하려면 Cloud Logging API의 projects.locations.buckets.updateAsync 메서드를 사용합니다.

메서드의 인수를 다음과 같이 준비하세요.

  1. LogBucket.analyticsEnabled 불리언을 true로 설정합니다.
  2. 명령어의 쿼리 매개변수에는 updateMask=analyticsEnabled를 사용합니다.

비동기 메서드에 대한 응답은 Operation 객체입니다. 이 객체에는 메서드의 진행률에 대한 정보가 포함됩니다. 메서드가 완료되면 Operation 객체에 상태가 포함됩니다. 자세한 내용은 비동기 API 메서드를 참조하세요.

updateAsync를 완료하는 데 몇 분 정도 걸릴 수 있습니다.

BigQuery의 기능을 사용하여 로그 데이터를 분석하려면 로그 애널리틱스를 사용하도록 로그 버킷을 업그레이드한 다음 연결된 데이터 세트를 만듭니다. 이 구성을 사용하면 Logging은 로그 데이터를 저장하지만 BigQuery는 로그 데이터를 읽을 수 있습니다.

Google Cloud 콘솔

기존 로그 버킷의 BigQuery 데이터 세트 링크를 만들려면 다음을 수행합니다.

  1. 이 문서의 시작하기 전에 섹션을 검토합니다.

  2. Google Cloud 콘솔에서 로그 스토리지 페이지로 이동합니다.

    로그 스토리지로 이동

    검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.

  3. 로그 버킷을 찾아 로그 애널리틱스 사용 가능 열에 열기가 표시되는지 확인합니다.

    이 열에 업그레이드가 표시되면 로그 버킷이 로그 애널리틱스를 사용하도록 업그레이드되지 않은 것입니다. 로그 애널리틱스를 구성합니다.

    1. 업그레이드를 클릭합니다.
    2. 대화상자에서 확인을 클릭합니다.

    업그레이드가 완료되면 다음 단계로 진행합니다.

  4. 로그 버킷에서 더보기를 클릭한 다음 버킷 수정을 수정합니다.

    로그 버킷 수정 대화상자가 열립니다.

  5. 이 버킷에 연결되는 새 BigQuery 데이터 세트 만들기를 선택하고 새 데이터 세트의 이름을 입력합니다.

    데이터 세트 이름은 Google Cloud 프로젝트마다 고유해야 합니다. 기존 데이터 세트의 이름을 입력하면 Dataset name must be unique in the selected region. 오류가 표시됩니다.

  6. 완료를 클릭한 다음 버킷 업데이트를 클릭합니다.

    Logging이 로그 스토리지 페이지에 연결된 데이터 세트 이름을 표시한 후 BigQuery가 데이터 세트를 인식하는 데 몇 분 정도 걸릴 수 있습니다.

gcloud

로그 분석을 사용하도록 업그레이드된 로그 버킷의 연결된 데이터 세트를 만들려면 gcloud logging links create 명령어를 실행합니다.

gcloud logging links create LINK_ID --bucket=BUCKET_ID --location=LOCATION

LINK_ID 필드는 Google Cloud 프로젝트에 고유해야 합니다.

links create 명령어는 비동기식입니다. 비동기 메서드는 Operation 객체를 반환하며 메서드의 진행률에 대한 정보를 포함합니다. 메서드가 완료되면 Operation 객체에 상태가 포함됩니다. 자세한 내용은 비동기 API 메서드를 참조하세요.

links create 명령어가 완료되는 데 몇 분 정도 걸립니다.

예를 들어 다음 명령어는 이름이 my-bucket인 버킷에 대해 연결된 데이터 세트를 만듭니다.

gcloud logging links create mylink --bucket=my-bucket --location=global

데이터 세트 이름은 Google Cloud 프로젝트마다 고유해야 합니다. 기존 데이터 세트와 이름이 같은 데이터 세트를 만들려고 하면 다음 오류가 표시됩니다.

BigQuery dataset with name "my-bucket" already exists.

로그 분석을 사용하도록 업그레이드되지 않은 로그 버킷에 연결된 데이터 세트를 만들려고 하면 다음 오류가 보고됩니다.

A link can only be created for an analytics-enabled bucket.

API

로그 분석을 사용하여 업그레이드된 기존 로그 버킷에 연결된 BigQuery 데이터 세트를 만들려면 Cloud Logging API의 비동기 projects.locations.buckets.links.create 메서드를 호출합니다.

메서드의 인수를 다음과 같이 준비하세요.

  1. create 명령어에 대해 요청 본문을 구성합니다. 요청 본문은 Link 객체로 형식이 지정됩니다.
  2. 명령어의 쿼리 매개변수에는 linkId=LINK_ID를 사용합니다. 사용자가 제공하는 LINK_ID가 데이터 세트의 이름으로 사용되므로, LINK_ID는 출력 전용 DATASET_ID와 동일한 값을 공유합니다.

비동기 메서드에 대한 응답은 Operation 객체입니다. 이 객체에는 메서드의 진행률에 대한 정보가 포함됩니다. 메서드가 완료되면 Operation 객체에 상태가 포함됩니다. 자세한 내용은 비동기 API 메서드를 참조하세요.

links.create 메서드가 완료되는 데 몇 분 정도 걸립니다.

데이터 세트 이름은 Google Cloud 프로젝트마다 고유해야 합니다. 기존 데이터 세트와 이름이 같은 데이터 세트를 만들려고 하면 다음 오류가 표시됩니다.

BigQuery dataset with name "my-bucket" already exists.

로그 분석을 사용하도록 업그레이드되지 않은 로그 버킷에 연결된 데이터 세트를 만들려고 하면 다음 오류가 보고됩니다.

A link can only be created for an analytics-enabled bucket.

버킷 잠그기

업데이트되지 않도록 버킷을 잠글 때 버킷의 보관 정책도 잠깁니다. 보관 정책이 잠긴 후에는 버킷의 모든 로그 항목이 버킷의 보관 기간을 충족할 때까지 버킷을 삭제할 수 없습니다.

누구도 로그 버킷을 업데이트하거나 삭제하지 못하도록 방지하려면 버킷을 잠급니다. 버킷을 잠그려면 다음을 수행합니다.

Google Cloud 콘솔

Google Cloud 콘솔은 로그 버킷 잠금을 지원하지 않습니다.

gcloud

버킷을 잠그려면 --locked 플래그로 gcloud logging buckets update 명령어를 실행합니다.

gcloud logging buckets update BUCKET_ID --location=LOCATION --locked

예를 들면 다음과 같습니다.

gcloud logging buckets update my-bucket --location=global --locked

API

버킷 속성을 잠그려면 Logging API에서 projects.locations.buckets.patch를 사용합니다. locked 매개변수를 true로 설정합니다.

버킷 나열

Google Cloud 프로젝트와 연결된 로그 버킷을 나열하고 보관 설정과 같은 세부정보를 보려면 다음을 수행합니다.

Google Cloud 콘솔

Google Cloud 콘솔에서 로그 스토리지 페이지로 이동합니다.

로그 스토리지로 이동

검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.

로그 버킷이라는 테이블에 현재 Google Cloud 프로젝트와 연결된 버킷이 나열됩니다.

테이블에는 각 로그 버킷의 다음 속성이 나열됩니다.

  • 이름: 로그 버킷의 이름입니다.
  • 설명: 버킷에 대한 설명입니다.
  • 보관 기간: Cloud Logging에서 버킷 데이터를 저장하는 기간(일)입니다.
  • 리전: 버킷 데이터가 저장되는 지리적 위치입니다.
  • 상태: 버킷이 잠금 상태인지 또는 잠금 해제되었는지 여부입니다.

버킷이 Cloud Logging에 의해 삭제 대기 중인 경우 해당 테이블 항목이 경고 기호로 주석 처리됩니다.

gcloud

gcloud logging buckets list 명령어를 실행합니다.

gcloud logging buckets list

로그 버킷의 다음 속성이 표시됩니다.

  • LOCATION: 버킷 데이터가 저장되는 리전입니다.
  • BUCKET_ID: 로그 버킷의 이름입니다.
  • RETENTION_DAYS: Cloud Logging에서 버킷의 데이터를 저장할 기간(일)입니다.
  • LIFECYCLE_STATE: 버킷이 Cloud Logging의 삭제 대기 중인지 여부를 나타냅니다.
  • LOCKED: 버킷이 잠금 상태인지 또는 잠금 해제되었는지 여부입니다.
  • CREATE_TIME: 버킷이 생성된 시간을 나타내는 타임스탬프입니다.
  • UPDATE_TIME: 버킷이 마지막으로 수정된 시간을 나타내는 타임스탬프입니다.

버킷 하나에 대한 속성도 볼 수 있습니다. 예를 들어 global 리전의 _Default 로그 버킷에 대한 세부정보를 보려면 gcloud logging buckets describe 명령어를 실행합니다.

gcloud logging buckets describe _Default --location=global

API

Google Cloud 프로젝트와 연결된 로그 버킷을 나열하려면 Logging API에서 projects.locations.buckets.list를 사용합니다.

버킷 세부정보 보기

단일 로그 버킷의 세부정보를 보려면 다음을 수행합니다.

Google Cloud 콘솔

Google Cloud 콘솔에서 로그 스토리지 페이지로 이동합니다.

로그 스토리지로 이동

검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.

로그 버킷에서 추가 질문을 클릭한 후 버킷 세부정보 보기를 선택합니다.

대화상자에 다음과 같은 로그 버킷 속성이 나열됩니다.

  • 이름: 로그 버킷의 이름입니다.
  • 설명: 로그 버킷에 대한 설명입니다.
  • 보관 기간: Cloud Logging에서 버킷 데이터를 저장하는 기간(일)입니다.
  • 리전: 버킷 데이터가 저장되는 지리적 위치입니다.
  • 로그 애널리틱스: 로그 애널리틱스를 사용하도록 버킷이 업그레이드되었는지 여부를 나타냅니다.
  • BigQuery 분석: BigQuery 데이터 세트가 버킷에 연결되어 있는지 여부를 나타냅니다.
  • BigQuery 데이터 세트: BigQuery Studio 페이지에서 열리는 BigQuery 데이터 세트 링크를 제공합니다. BigQuery 연결이 사용 설정된 날짜도 표시됩니다.

gcloud

gcloud logging buckets describe 명령어를 실행합니다.

예를 들어 다음 명령어는 _Default 버킷의 세부정보를 보고합니다.

gcloud logging buckets describe _Default --location=global

로그 버킷의 다음 속성이 표시됩니다.

  • createTime: 버킷이 생성된 시간을 나타내는 타임스탬프입니다.
  • description: 로그 버킷에 대한 설명입니다.
  • lifecycleState: 버킷이 Cloud Logging의 삭제 대기 중인지 여부를 나타냅니다.
  • name: 로그 버킷의 이름입니다.
  • retentionDays: Cloud Logging에서 버킷의 데이터를 저장할 기간(일)입니다.
  • updateTime: 버킷이 마지막으로 수정된 시간을 나타내는 타임스탬프입니다.

API

단일 로그 버킷의 세부정보를 보려면 Logging API에서 projects.locations.buckets.get을 사용합니다.

버킷 삭제

로그 버킷을 삭제하려면 다음을 수행합니다.

Google Cloud 콘솔

로그 버킷을 삭제하려면 다음을 수행합니다.

  1. Google Cloud 콘솔에서 로그 스토리지 페이지로 이동합니다.

    로그 스토리지로 이동

    검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.

  2. 삭제할 버킷을 찾고 더보기를 클릭합니다.

  3. BigQuery의 연결된 데이터 세트 열에 링크가 표시되면 연결된 BigQuery 데이터 세트를 삭제합니다.

    1. 버킷 수정을 클릭합니다.

    2. 이 버킷에 연결되는 새 BigQuery 데이터 세트 만들기를 선택 취소하고 완료를 클릭한 다음 버킷 업데이트를 클릭합니다.

      로그 저장소 페이지로 돌아가면 삭제할 버킷의 더보기를 클릭한 후 다음 단계를 진행합니다.

  4. 버킷 삭제를 선택합니다.

  5. 확인 패널에서 삭제를 클릭합니다.

  6. 로그 스토리지 페이지의 버킷에는 삭제 보류 중인 표시가 있습니다. 모든 로그가 포함된 버킷은 7일 후에 삭제됩니다.

gcloud

로그 버킷을 삭제하려면 gcloud logging buckets delete 명령어를 실행합니다.

gcloud logging buckets delete BUCKET_ID --location=LOCATION

버킷에 연결된 BigQuery 데이터 세트가 있으면 로그 버킷을 삭제할 수 없습니다.

API

버킷을 삭제하려면 Logging API에서 projects.locations.buckets.delete를 사용합니다.

버킷에 연결된 BigQuery 데이터 세트가 있는 경우 로그 버킷을 삭제하면 오류가 발생합니다. 로그 버킷을 삭제하기 전에 연결된 데이터 세트를 삭제해야 합니다.

삭제된 버킷은 7일 동안 대기 상태로 유지되며 이 기간 동안에는 Logging이 계속 버킷으로 로그를 라우팅합니다. 삭제된 버킷으로의 로그 라우팅을 중지하려면 해당 버킷이 대상인 로그 싱크를 삭제하거나 싱크의 필터를 수정하여 삭제된 버킷으로의 로그 라우팅을 중지할 수 있습니다.

대기 중 상태인 삭제된 버킷과 동일한 이름을 사용하는 새 로그 버킷을 만들 수 없습니다.

삭제된 버킷 복원하기

삭제 대기 중인 로그 버킷을 복원하거나 삭제 취소할 수 있습니다. 로그 버킷을 복원하려면 다음을 수행합니다.

Google Cloud 콘솔

삭제 대기 중인 로그 버킷을 복원하려면 다음을 수행합니다.

  1. Google Cloud 콘솔에서 로그 스토리지 페이지로 이동합니다.

    로그 스토리지로 이동

    검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.

  2. 복원할 버킷에 대해 더보기를 클릭한 후 삭제된 버킷 복원을 선택합니다.

  3. 확인 패널에서 복원을 클릭합니다.

  4. 로그 스토리지 페이지에서 로그 버킷의 삭제 대기 표시가 사라집니다.

gcloud

삭제 대기 중인 로그 버킷을 복원하려면 gcloud logging buckets undelete 명령어를 실행합니다.

gcloud logging buckets undelete BUCKET_ID --location=LOCATION

API

삭제 대기 중인 버킷을 복원하려면 Logging API에서 projects.locations.buckets.undelete를 사용합니다.

로그 버킷에 저장된 월별 로그 바이트에 대한 알림

알림 정책을 만들려면 Google Cloud 콘솔의 로그 스토리지 페이지에서 사용량 알림 만들기를 클릭합니다. 이 버튼은 Monitoring에서 알림 정책 만들기 페이지를 열고 측정항목 유형 필드를 logging.googleapis.com/billing/bytes_ingested로 채웁니다.

로그 버킷에 기록되는 로그 바이트 수가 Cloud Logging의 사용자 정의 한도를 초과할 때 트리거되는 알림 정책을 만들려면 다음 설정을 사용하세요.

새 조건
필드

리소스 및 측정항목 리소스 메뉴에서 전역을 선택합니다.
측정항목 카테고리 메뉴에서 로그 기반 측정항목을 선택합니다.
측정항목 메뉴에서 수집된 월별 로그 바이트를 선택합니다.
필터 없음
시계열
시계열 집계
sum
순환 기간 60 m
순환 윈도우 함수 max
알림 트리거 구성
필드

조건 유형 Threshold
알림 트리거 Any time series violates
기준 위치 Above threshold
기준 값 허용 가능한 값을 결정합니다.
재테스트 범위 허용 가능한 최솟값은 30분입니다.

알림 정책에 대한 자세한 내용은 알림 개요를 참조하세요.

버킷에 쓰기

로그를 로그 버킷에 직접 쓰지 않습니다. 대신 Google Cloud 리소스(Google Cloud 프로젝트, 폴더 또는 조직)에 로그를 작성합니다. 그러면 상위 리소스의 싱크가 로그 버킷이 포함된 대상으로 로그를 라우팅합니다. 싱크는 로그가 싱크의 필터와 일치하고 싱크에 로그를 로그 버킷으로 라우팅할 수 있는 권한이 있으면 로그를 로그 버킷 대상으로 라우팅합니다.

버킷에서 읽기

각 로그 버킷에는 로그 뷰 집합이 있습니다. 로그 버킷에서 로그를 읽으려면 로그 버킷의 로그 뷰에 대한 액세스 권한이 필요합니다. 로그 뷰를 사용하면 로그 버킷에 저장된 로그의 하위 집합에 대해서만 사용자에게 액세스 권한을 부여할 수 있습니다. 로그 뷰를 구성하는 방법과 특정 로그 뷰에 대한 액세스 권한을 부여하는 방법에 대한 자세한 내용은 로그 버킷에서 로그 뷰 구성을 참조하세요.

로그 버킷에서 로그를 읽으려면 다음을 수행합니다.

Google Cloud 콘솔

  1. Google Cloud 콘솔에서 로그 탐색기 페이지로 이동합니다.

    로그 탐색기로 이동

    검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.

  2. 로그 탐색기에 표시되는 로그를 맞춤설정하려면 범위 상세검색을 클릭한 후 옵션을 선택합니다.

    • 현재 프로젝트에서 생성되었거나 현재 프로젝트로 직접 라우팅된 모든 로그를 보려면 현재 프로젝트별 범위를 선택합니다.

    • 현재 프로젝트의 로그 버킷에 저장된 특정 로그를 보려면 스토리지별 범위를 선택한 다음 로그 뷰를 하나 이상 선택합니다.

    • 다른 프로젝트에 있는 로그 버킷에 저장된 특정 로그를 보려면 스토리지별 범위를 선택하고 프로젝트와 로그 뷰 선택기에서 프로젝트 가져오기를 클릭한 다음 로그 뷰를 하나 이상 선택합니다.

  3. 적용을 클릭합니다. 쿼리 결과 창이 선택된 옵션과 일치하는 로그로 새로고침됩니다.

로그 탐색기에 표시되는 로그를 맞춤설정하는 방법에 대한 자세한 내용은 로그 탐색기 개요: 범위 상세검색을 참조하세요.

gcloud

로그 버킷에서 로그를 읽으려면 gcloud logging read 명령어를 사용하고 LOG_FILTER를 추가하여 데이터를 선택합니다.

gcloud logging read LOG_FILTER --bucket=BUCKET_ID --location=LOCATION --view=VIEW_ID

API

로그 버킷에서 로그를 읽으려면 entries.list 메서드를 사용합니다. resourceNames를 설정해서 적절한 버킷 및 로그 보기를 지정하고 filter를 설정해서 데이터를 선택합니다.

필터링 구문에 대한 자세한 내용은 Logging 쿼리 언어를 참조하세요.

커스텀 보관 구성

로그 버킷을 만들 때 Cloud Logging에서 버킷 로그를 저장하는 기간을 맞춤설정할 수 있습니다. 사용자 정의 로그 버킷 및 _Default 로그 버킷에 대해 보관 기간을 구성할 수 있습니다.

버킷 보관을 줄이면 만료된 로그가 삭제되지 않는 7일 유예 기간이 적용됩니다. 이렇게 만료된 로그는 쿼리하거나 볼 수 없지만, 7일 동안 버킷 보관을 연장해서 전체 액세스를 복원할 수 있습니다. 유예 기간 동안 저장된 로그는 보관 비용에 포함됩니다.

로그 버킷의 보관 기간을 업데이트하려면 다음을 수행합니다.

Google Cloud 콘솔

로그 버킷의 보관 기간을 업데이트하려면 다음을 수행합니다.

  1. Google Cloud 콘솔에서 로그 스토리지 페이지로 이동합니다.

    로그 스토리지로 이동

    검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.

  2. 업데이트할 버킷에 대해 더보기를 클릭한 후 버킷 수정을 선택합니다.

  3. 보관 필드에 Cloud Logging에서 로그를 보관할 일수(1~3650일)를 입력합니다.

  4. 버킷 업데이트를 클릭합니다. 새 보관 기간이 로그 버킷 목록에 표시됩니다.

gcloud

로그 버킷의 보관 기간을 업데이트하려면 RETENTION_DAYS의 값을 설정한 후 gcloud logging buckets update 명령어를 실행합니다.

gcloud logging buckets update BUCKET_ID  --location=LOCATION --retention-days=RETENTION_DAYS

예를 들어 global 위치에 있는 _Default 버킷의 로그를 1년 동안 보관하려면 다음과 같은 명령어가 사용됩니다.

gcloud logging buckets update _Default --location=global --retention-days=365

버킷의 보관 기간을 연장하면 보관 규칙이 소급 적용되지 않고 향후에만 적용됩니다. 적용 가능한 보관 기간이 종료된 후에는 로그를 복구할 수 없습니다.

비동기 API 메서드

projects.locations.buckets.createAsync와 같은 비동기 메서드의 응답은 Operation 객체입니다.

비동기 API 메서드를 호출하는 애플리케이션은 Operation.done 필드의 값이 true일 때까지 operation.get 엔드포인트를 폴링해야 합니다.

  • donefalse이면 작업이 진행 중인 것입니다.

    상태 정보를 새로고침하려면 GET 요청을 operation.get 엔드포인트에 보냅니다.

  • donetrue이면 작업이 완료되고 error 또는 response 필드가 설정됩니다.

    • error: 설정된 경우 비동기 작업이 실패합니다. 이 필드의 값은 gRPC 오류 코드 및 오류 메시지를 포함하는 Status 객체입니다.
    • response: 설정된 경우 비동기 작업이 성공적으로 완료되고 값에 결과가 반영됩니다.

Google Cloud CLI를 사용하여 비동기 명령어를 폴링하려면 다음 명령어를 실행합니다.

gcloud logging operations describe OPERATION_ID --location=LOCATION --project=PROJECT_ID

자세한 내용은 gcloud logging operations describe를 참조하세요.

일반적인 문제 해결

로그 버킷을 사용할 때 문제가 발생하면 다음 문제 해결 단계 및 일반적인 질문에 대한 답변을 참조하세요.

이 버킷을 삭제할 수 없는 이유는 무엇인가요?

버킷을 삭제하려는 경우 다음을 수행합니다.

  • 버킷을 삭제할 수 있는 올바른 권한이 있는지 확인합니다. 필요한 권한 목록은 IAM으로 액세스 제어를 참조하세요.

  • 버킷 속성을 나열하여 버킷이 잠겨 있는지 확인합니다. 버킷이 잠겨 있으면 버킷의 보관 기간을 확인합니다. 버킷의 모든 로그가 버킷의 보관 기간을 이행할 때까지는 잠긴 버킷을 삭제할 수 없습니다.

  • 로그 버킷에 연결된 BigQuery 데이터 세트가 없는지 확인합니다. 연결된 데이터 세트가 있는 로그 버킷은 삭제할 수 없습니다.

    연결된 데이터 세트가 있는 로그 버킷의 delete 명령어에 대한 응답으로 다음 오류가 표시됩니다.

    FAILED_PRECONDITION: This bucket is used for advanced analytics and has an active link. The link must be deleted first before deleting the bucket
    

    로그 버킷과 연결된 링크를 나열하려면 gcloud logging links list 명령어를 실행하거나 projects.locations.buckets.links.list API 메서드를 실행합니다.

로그를 버킷으로 라우팅하는 서비스 계정은 무엇인가요?

서비스 계정에 로그를 버킷으로 라우팅할 수 있는 IAM 권한이 있는지 확인하려면 다음을 수행합니다.

  1. Google Cloud 콘솔에서 IAM 페이지로 이동합니다.

    IAM으로 이동합니다.

    검색창을 사용하여 이 페이지를 찾은 경우 부제목이 IAM 및 관리자인 결과를 선택합니다.

  2. 권한 탭에서 역할을 기준으로 봅니다. Google Cloud 프로젝트와 연결된 모든 IAM 역할과 주 구성원이 있는 테이블이 표시됩니다.

  3. 테이블의 필터 텍스트 상자로그 버킷 작성자를 입력합니다.

    로그 버킷 작성자 역할이 있는 주 구성원이 표시됩니다. 주 구성원이 서비스 계정이면 ID에는 gserviceaccount.com 문자열이 포함됩니다.

  4. 선택사항: 로그를 Google Cloud 프로젝트로 라우팅하지 못하도록 서비스 계정을 삭제하려면 서비스 계정의 체크박스를 선택하고 삭제를 클릭합니다.

_Default 싱크에서 제외해도 Google Cloud 프로젝트 로그가 표시되는 이유는 무엇인가요?

중앙화된 Google Cloud 프로젝트에 있는 로그 버킷의 로그가 표시되어, 조직 전체에서 로그를 집계할 수 있습니다.

로그 탐색기를 사용하여 이러한 로그에 액세스하고 _Default 싱크에서 제외된 로그를 보는 경우 보기 범위가 Google Cloud 프로젝트 수준으로 지정될 수 있습니다.

이 문제를 해결하려면 범위 상세검색 패널에서 스토리지별 범위를 선택한 후 Google Cloud 프로젝트의 _Default 버킷을 선택합니다. 제외된 로그가 더 이상 표시되지 않아야 합니다.

다음 단계

로그 버킷 API 메서드에 대한 자세한 내용은 LogBucket 참조 문서를 참조하세요.

로그 버킷의 일반적인 사용 사례 해결에 대한 자세한 내용은 다음 문서를 참조하세요.