로그 버킷 관리

이 페이지에서는 로그 버킷을 만들고 관리하는 방법을 설명합니다.

시작하기 전에

로그 버킷을 시작하려면 다음 단계를 따르세요.

  • 로그 버킷에 익숙해져야 합니다.
  • Google Cloud 프로젝트에 대한 결제를 사용 설정했는지 확인합니다.
  • 사용자 및 Cloud 프로젝트 구성원에게 Cloud 프로젝트 로그 버킷을 만들고 관리할 수 있는 올바른 역할 또는 권한이 있는지 확인합니다. 자세한 내용은 이 페이지의 액세스 제어를 참조하세요.

버킷 관리

이 섹션에서는 gcloud 명령줄 도구 또는 Google Cloud Console을 사용하여 로그 버킷을 관리하는 방법을 설명합니다.

로그 버킷 만들기

사용자 정의 로그 버킷을 만들려면 logging.buckets.create 권한이 필요합니다. 이 권한은 Logging 구성 작성자 역할의 일부로 제공됩니다.

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

Cloud 프로젝트의 사용자 정의 로그 버킷을 만들려면 다음 단계를 완료하세요.

gcloud

Cloud 프로젝트에서 로그 버킷을 만들려면 gcloud logging buckets create 명령어를 실행합니다.

gcloud logging buckets create BUCKET_ID --location=LOCATION OPTIONAL_FLAGS

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

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

Console

Cloud 프로젝트에서 로그 버킷을 만들려면 다음 단계를 완료하세요.

  1. Logging 메뉴에서 로그 스토리지를 선택합니다.

    로그 스토리지로 이동

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

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

  4. (선택사항) 버킷 리전을 설정하려면 로그 버킷 리전 선택 드롭다운 메뉴를 클릭하고 버킷을 만들 리전을 선택합니다. 리전을 선택하지 않으면 이 값은 global로 설정됩니다. 즉, 로그를 모든 리전에 물리적으로 저장할 수 있습니다.

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

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

    나중에 커스텀 보관을 구성할 수도 있습니다.

  6. 버킷 만들기를 클릭합니다. 새 버킷이 로그 버킷 목록에 나타납니다.

버킷을 만든 후 로그 보기를 구성하여 새 버킷의 로그에 액세스할 수 있는 사용자와 액세스할 수 있는 로그를 제어할 수 있습니다.

로그 버킷 업데이트

로그 버킷을 업데이트하려면 logging.buckets.update 권한이 필요합니다. 이 권한은 Logging 구성 작성자 역할의 일부로 제공됩니다. 또한 더 제한적인 권한으로 커스텀 역할을 만들 수 있습니다. Logging 액세스 제어의 전체 목록은 액세스 제어를 참조하세요.

버킷의 속성을 업데이트하려면 다음 단계를 완료합니다.

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"

Console

버킷의 속성을 업데이트하려면 다음 단계를 완료하세요.

  1. Logging 메뉴에서 로그 스토리지를 선택합니다.

    로그 스토리지로 이동

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

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

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

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

로그 버킷 잠금

업데이트 시 버킷을 잠그면 버킷의 보관 정책도 잠깁니다. 보관 정책이 잠긴 후에는 버킷의 모든 로그가 버킷의 보관 기간을 완료할 때까지 버킷을 삭제할 수 없습니다.

업데이트 시 로그 버킷을 잠그려면 logging.buckets.update 권한이 필요합니다. 이 권한은 Logging 구성 작성자 역할의 일부로 제공됩니다. 또한 더 제한적인 권한으로 커스텀 역할을 만들 수 있습니다. Logging 액세스 제어의 전체 목록은 액세스 제어를 참조하세요.

모든 사용자가 로그 버킷을 업데이트하거나 삭제하지 못하게 하려면 버킷을 잠급니다. 버킷을 잠그려면 다음을 수행합니다.

gcloud

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

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

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

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

Console

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

로그 버킷 나열

로그 버킷 세부정보를 나열하려면 logging.buckets.list 권한이 필요합니다. 이 권한은 Logging 구성 작성자 역할의 일부로 제공됩니다. 또한 더 제한적인 권한으로 커스텀 역할을 만들 수 있습니다. Logging 액세스 제어의 전체 목록은 액세스 제어를 참조하세요.

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

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: 버킷이 마지막으로 수정된 시간을 나타내는 타임스탬프입니다.

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

gcloud logging buckets describe _Default --location=global

Console

로그 스토리지 페이지로 이동합니다.

로그 스토리지로 이동

현재 Cloud 프로젝트와 연결된 버킷을 나열하는 로그 버킷 테이블이 표시됩니다.

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

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

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

로그 버킷 세부정보 보기

로그 버킷의 세부정보를 보려면 logging.buckets.get 권한이 필요합니다. 이 권한은 Logging 구성 작성자 역할의 일부로 제공됩니다. 또한 더 제한적인 권한으로 커스텀 역할을 만들 수 있습니다. Logging 액세스 제어의 전체 목록은 액세스 제어를 참조하세요.

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

gcloud

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

gcloud logging buckets describe _Default --location=global

다음과 같은 로그 버킷 속성이 표시됩니다.

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

Console

로그 스토리지 페이지로 이동합니다.

로그 스토리지로 이동

로그 버킷에서 더보기 > 버킷 세부정보 보기를 클릭합니다.

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

  • 이름: 버킷을 만들 때 버킷에 제공된 이름입니다.
  • 설명: 버킷을 만들 때 버킷에 제공된 설명입니다.
  • 보관 기간: Cloud Logging에서 버킷 데이터를 저장하는 기간(일)입니다.
  • 리전: 버킷 데이터가 저장되는 지리적 위치입니다.

로그 버킷 삭제

로그 버킷을 삭제하려면 logging.buckets.delete 권한이 필요합니다. 이 권한은 Logging 구성 작성자 역할의 일부로 제공됩니다. 또한 더 제한적인 권한으로 커스텀 역할을 만들 수 있습니다. Logging 액세스 제어의 전체 목록은 액세스 제어를 참조하세요.

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

gcloud

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

gcloud logging buckets delete BUCKET_ID --location=LOCATION

Console

로그 버킷을 삭제하려면 다음 단계를 완료하세요.

  1. Logging 메뉴에서 로그 스토리지를 선택합니다.

    로그 스토리지로 이동

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

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

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

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

삭제된 로그 버킷 복원

로그 버킷을 복원하려면 logging.buckets.undelete 권한이 필요합니다. 이 권한은 Logging 구성 작성자 역할의 일부로 제공됩니다. 또한 더 제한적인 권한으로 커스텀 역할을 만들 수 있습니다. Logging 액세스 제어의 전체 목록은 액세스 제어를 참조하세요.

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

gcloud

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

gcloud logging buckets undelete BUCKET_ID --location=LOCATION

Console

삭제 대기 중인 로그 버킷을 복원하려면 다음 단계를 완료합니다.

  1. Logging 메뉴에서 로그 스토리지를 선택합니다.

    로그 스토리지로 이동

  2. 복원하려는 버킷의 더보기 를 클릭합니다.

  3. 삭제된 버킷 복원을 선택합니다.

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

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

로그 버킷에 쓰기

Cloud 프로젝트, 폴더 또는 조직에 로그 항목을 쓰려면 logging.logEntries.create 권한이 필요합니다. 이 권한은 로그 작성자Logging 관리자 역할의 일부로 제공됩니다. Logging 액세스 제어의 전체 목록은 액세스 제어를 참조하세요.

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

로그 싱크가 동일한 Cloud 프로젝트의 로그 버킷으로 로그를 라우팅하는 경우에는 로그 싱크에 권한이 필요하지 않습니다.

로그 싱크가 다른 Cloud 프로젝트의 로그 버킷으로 로그를 라우팅하는 경우 로그 싱크에 logging.buckets.write 권한을 부여해야 합니다. 로그 버킷이 포함된 Cloud 프로젝트에서 이 권한을 부여하려면 로그 버킷 작성자 역할을 사용합니다. 특정 로그 버킷과 일치하는 IAM 조건을 사용하여 로그 싱크의 서비스 계정에 이 역할을 부여해야 합니다.

서비스 계정에 다른 Cloud 프로젝트의 로그 버킷에 쓸 수 있는 권한을 부여하는 방법은 대상 권한을 참조하세요.

로그 버킷에서 읽기

로그 버킷에서 로그를 읽으려면 logging.views.listLogs 권한이 필요합니다. 이 권한은 로그 뷰 접근자 역할의 일부로 제공됩니다. Logging 액세스 제어의 전체 목록은 액세스 제어를 참조하세요.

각 로그 버킷에는 일련의 로그 뷰가 있습니다. 로그 버킷의 로그를 읽으려면 로그 버킷의 로그 뷰에 대한 액세스 권한이 필요합니다. 로그 뷰에 대한 자세한 내용은 로그 뷰 관리를 참조하세요.

IAM 조건을 사용하여 이러한 권한을 설정하는 것이 좋습니다. IAM 조건을 사용하여 로그 뷰에 사용자를 추가하는 방법에 대한 자세한 내용은 로그 뷰에 사용자 추가를 참조하세요.

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

gcloud

로그 버킷에서 로그를 읽으려면 gcloud logging read 명령어를 실행합니다.

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

Console

로그 버킷에서 로그를 읽는 방법은 범위 상세검색을 참조하세요.

커스텀 보관 구성

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

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

gcloud

예를 들어 _Default 로그 버킷의 보관 기간을 업데이트하려면 RETENTION_DAYS의 값을 설정한 후 이 gcloud 명령줄 도구 명령어를 실행합니다.

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

예를 들어 _Default 버킷의 로그를 1년 동안 보관하려면 다음 명령어를 실행합니다.

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

콘솔

로그 버킷의 보관 기간을 업데이트하려면 다음 단계를 완료하세요.

  1. Logging 메뉴에서 로그 스토리지를 선택합니다.

    로그 스토리지로 이동

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

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

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

  5. 버킷 업데이트를 클릭합니다. 새 보관 기간이 로그 버킷 목록에 나타납니다.

액세스 제어

Identity and Access Management 역할과 권한은 Logging 데이터에 대한 액세스 권한을 제어합니다. 다음은 Cloud 프로젝트 구성원이 로그 버킷에 액세스하는 데 필요한 일반적인 역할 및 권한을 요약한 것입니다.

Cloud Logging에서는 Identity and Access Management 역할과 권한을 구성할 때 권한을 제한할 것을 권장합니다. 자세한 내용은 안전하게 IAM 사용을 참조하세요.

로그 버킷 활동 사용자 액세스 IAM 권한 IAM 역할 및 권장 액세스 제어 설정
로그 버킷 구성 관리 로그 버킷의 세부정보를 생성, 나열, 업데이트, 삭제, 삭제 취소하고 볼 수 있는 사용자 logging.buckets.{create,list,get,update,delete,undelete} 이러한 권한은 Logging 구성 작성자Logging 관리자 역할의 일부로 제공됩니다. 또한 더 제한적인 권한으로 커스텀 역할을 만들 수 있습니다.
로그 버킷에 로그 항목 쓰기 특정 로그 버킷에 로그 항목을 쓸 수 있는 사용자 logging.buckets.write

로그 싱크가 로그 항목을 동일한 Cloud 프로젝트의 로그 버킷으로 라우팅하는 경우 로그 싱크에 권한이 필요하지 않습니다.

로그 싱크가 다른 Cloud 프로젝트의 로그 버킷으로 로그를 라우팅하는 경우 로그 싱크에 logging.buckets.write 권한을 부여해야 합니다. 로그 버킷 작성자 역할을 사용하여 로그 버킷이 포함된 Cloud 프로젝트에서 이 권한을 부여합니다. 특정 로그 버킷과 일치하는 IAM 조건을 사용하여 로그 싱크의 서비스 계정에 이 역할을 부여해야 합니다.

gcloud 도구를 사용하여 로그 싱크의 IAM 조건을 설정하는 예시는 프로젝트의 로그를 다른 Cloud 프로젝트의 버킷으로 라우팅을 참조하세요.

로그 버킷에서 로그 항목 읽기 로그 뷰를 사용하여 특정 로그 버킷의 로그 항목을 볼 수 있는 사용자. logging.views.{access,listLogs,listResourceKeys,listResourceValues} 이 권한을 부여하려면 로그 뷰 접근자 역할을 사용합니다. 특정 로그 뷰와 일치하는 IAM 조건을 사용하여 이 역할을 부여해야 합니다.

로그 뷰에서 이 IAM 조건을 설정하는 방법에 대한 자세한 내용은 로그 뷰에 사용자 추가를 참조하세요.

Logging 액세스 제어의 전체 목록은 액세스 제어를 참조하세요.

문제 해결 및 일반적인 질문

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

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

먼저 버킷을 삭제할 수 있는 올바른 권한이 있는지 확인합니다.

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

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

조직 전체의 로그를 집계하는 중앙 집중식 Cloud 프로젝트의 로그 버킷에서 로그를 볼 수 있습니다.

중앙 집중식 Cloud 프로젝트에서 로그에 액세스하고 _Default 싱크에서 제외한 로그를 확인하는 경우 다음 조건 중 하나에 해당하는 로그를 볼 수 있습니다.

  • 중앙 집중식 로그 보기를 지원하지 않는 기존 로그 뷰어를 사용하여 로그를 확인합니다.

    이 문제를 해결하려면 로그 탐색기 사용으로 전환합니다.

  • 로그를 저장한 위치에 상관없이 Cloud 프로젝트에서 생성한 로그를 보여주는 범위 상세검색 패널에서 선택된 프로젝트별 범위와 함께 로그 탐색기를 사용하여 로그 보기

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

로그 버킷에 로그 기반 측정항목을 만들 수 없는 이유는 무엇인가요?

로그 기반 측정항목은 단일 Google Cloud 프로젝트에만 적용되며, 로그 버킷이나 Cloud Billing 계정 또는 조직과 같은 다른 Google Cloud 리소스의 경우 만들 수 없습니다.

다음 단계

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

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