로그 버킷 구성

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

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

이 문서에서는 고객 관리 암호화 키(CMEK)를 사용하는 로그 버킷을 만드는 방법을 설명하지 않습니다. 이 주제에 관심이 있으면 로그 스토리지에 CMEK 구성을 참조하세요.

시작하기 전에

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

버킷 만들기

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

Google Cloud 프로젝트에 사용자 정의 로그 버킷을 만들려면 다음을 수행합니다.

Google Cloud 콘솔

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

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

    로그 스토리지로 이동

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

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

  3. 버킷의 이름설명을 입력합니다.

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

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

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

gcloud

로그 버킷을 만들려면 gcloud logging buckets create 명령어를 실행합니다.

gcloud logging buckets create BUCKET_ID --location=LOCATION

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

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

REST

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

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

    LOCATION 변수는 로그를 저장할 리전을 나타냅니다.

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

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

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

버킷을 만든 후 싱크를 만들어 로그 항목을 버킷으로 라우팅하고 로그 보기를 구성하여 새 버킷의 로그에 액세스할 수 있는 사용자와 액세스 가능한 로그를 제어합니다.

버킷 관리

이 섹션에서는 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"

REST

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

버킷 잠그기

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

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

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

REST

버킷 속성을 잠그려면 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

REST

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

버킷 세부정보 보기

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

Google Cloud 콘솔

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

로그 스토리지로 이동

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

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

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

  • 이름: 로그 버킷의 이름입니다.
  • 설명: 로그 버킷에 대한 설명입니다.
  • 보관 기간: Cloud Logging에서 버킷 데이터를 저장하는 기간(일)입니다.
  • 리전: 버킷 데이터가 저장되는 지리적 위치입니다.

gcloud

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

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

gcloud logging buckets describe _Default --location=global

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

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

REST

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

버킷 삭제

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

Google Cloud 콘솔

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

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

    로그 스토리지로 이동

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

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

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

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

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

gcloud

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

gcloud logging buckets delete BUCKET_ID --location=LOCATION

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

REST

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

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

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

삭제된 버킷 복원하기

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

Google Cloud 콘솔

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

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

    로그 스토리지로 이동

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

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

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

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

gcloud

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

gcloud logging buckets undelete BUCKET_ID --location=LOCATION

REST

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

버킷에 쓰기

로그를 로그 버킷에 직접 쓰지 않습니다. 대신 로그를Trusted 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=LOG_VIEW_ID

REST

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

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

일반적인 문제 해결

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

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

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

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

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

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

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

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

    IAM으로 이동합니다.

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

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

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

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

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

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

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

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

이 문제를 해결하려면 범위 상세검색 메뉴에서 로그 뷰를 선택한 후 Google Cloud 프로젝트의 _Default 버킷과 연결된 로그 뷰를 선택합니다. 제외된 로그가 더 이상 표시되지 않아야 합니다.

다음 단계

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

조직이나 폴더를 관리하는 경우 하위 리소스의 _Default_Required 로그 버킷 위치를 지정할 수 있습니다. 로그 버킷에서 CMEK를 사용할지 여부와 _Default 로그 싱크 동작을 구성할 수도 있습니다. 자세한 내용은 조직 및 폴더의 기본 설정 구성을 참조하세요.

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