자동 백업의 감사 로그 보기

이 페이지에서는 Cloud SQL 인스턴스의 자동 백업에 대해 감사 로그를 보는 방법을 설명합니다.

감사 로그를 사용하여 다음을 수행할 수 있습니다.

  • 감사 로그를 확인하여 백업이 완료되었는지 확인합니다.
  • 백업 상태를 알려주는 로그 기반 알림을 구성합니다.

감사 로그 보기

Google Cloud console, gcloud CLI 또는 API를 사용하여 감사 로그를 보고 백업 기간 내에 백업이 성공적으로 완료되었는지 확인할 수 있습니다.

콘솔

  1. Google Cloud Console에서 Logging을 선택한 후 로그 탐색기를 선택합니다.

    로그 탐색기로 이동

  2. Cloud SQL 인스턴스의 자동 백업에 대해 감사 로그를 필터링하려면 다음 쿼리를 실행합니다.

    logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event"
    protoPayload.methodName="cloudsql.instances.automatedBackup"
    resource.type="cloudsql_database"

    PROJECT_ID를 Google Cloud 프로젝트의 ID로 바꿉니다.

    첫 번째 표현식은 시스템 이벤트 감사 로그를 필터링합니다. 두 번째 표현식은 자동 백업의 감사 로그를 필터링합니다. 마지막 표현식은 Cloud SQL 인스턴스의 감사 로그를 필터링합니다.

    Google Cloud console을 사용하여 감사 로그를 쿼리하는 방법에 대한 자세한 내용은 로그 보기를 참조하세요.

  3. 백업 기간에 생성된 백업의 상태를 확인합니다. windowStatus 필드에 이 상태가 표시됩니다. 이 필드를 보려면 다음 단계를 수행합니다.

    1. 감사 로그를 클릭합니다.
    2. metadata 필드를 클릭합니다.

gcloud

  1. Cloud SQL 인스턴스의 자동 백업에 대해 감사 로그를 필터링하려면 다음 쿼리를 실행합니다.

    gcloud logging read \
    "logName=projects/PROJECT_NAME/logs/cloudaudit.googleapis.com%2Fsystem_event
    AND protoPayload.methodName=cloudsql.instances.automatedBackup AND
    resource.type=cloudsql_database" \ 
        --project=PROJECT_NAME

    PROJECT_NAME을 Google Cloud 프로젝트의 이름으로 바꿉니다.

    첫 번째 표현식은 시스템 이벤트 감사 로그를 필터링합니다. 두 번째 표현식은 자동 백업의 감사 로그를 필터링합니다. 마지막 표현식은 Cloud SQL 인스턴스의 감사 로그를 필터링합니다.

    gcloud를 사용하여 감사 로그를 쿼리하는 방법에 대한 자세한 내용은 로그 보기를 참조하세요.

  2. 백업 기간에 생성된 백업의 상태를 확인합니다. windowStatus 필드에 이 상태가 표시됩니다.

API

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: Google Cloud 프로젝트의 ID입니다.

요청 JSON 본문의 첫 번째 표현식은 시스템 이벤트 감사 로그를 필터링합니다. 두 번째 표현식은 자동 백업의 감사 로그를 필터링합니다. 마지막 표현식은 Cloud SQL 인스턴스의 감사 로그를 필터링합니다.

API를 사용하여 감사 로그를 쿼리하는 방법에 관해 자세히 알아보려면 로그 보기를 참조하세요.

HTTP 메서드 및 URL:

POST https://logging.googleapis.com/v2/entries:list

JSON 요청 본문:

{
     "resourceNames": [
     "projects/PROJECT_ID"
      ],
     "pageSize": 5,
     "filter": "logName=projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event AND protoPayload.methodName = cloudsql.instances.automatedBackup AND resource.type=cloudsql_database",
     "orderBy": "timestamp desc"
} 

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

insertId 필드의 LOG_ENTRY_UNIQUE_IDENTIFIER에 대한 자세한 내용은 LogEntry를 참조하세요.

백업 기간에 생성된 백업의 상태를 확인합니다. windowStatus 필드에 이 상태가 표시됩니다.

자동 백업 상태

  • STATUS_SUCCEEDED: 자동 백업이 완료되었습니다.
  • STATUS_ATTEMPT_FAILED: Cloud SQL에서 백업을 만들려고 시도했지만 백업이 시작되지 않았거나 실패했습니다. 이러한 상태가 발생하는 이유는 다음과 같습니다.

    • 다른 백업이 인스턴스에서 실행 중입니다.
    • 백업 위치가 조직 정책에 의해 제한되었습니다.
    • 인스턴스 백업이 완료되었지만 오류가 발생했습니다.
    • Cloud SQL이 백업을 만들려고 할 때 인스턴스가 실행되고 있지 않았습니다.
  • STATUS_FAILED: 인스턴스의 자동 백업이 완료되지 않았거나 백업 기간 내에 완료될 수 없습니다.

    예를 들어 자동 백업을 사용 설정하고 백업 기간을 오전 1시에서 오전 5시 사이로 예약한 경우 이 시간 동안 EXPORT 작업이 다수 있으면 백업이 실패할 수 있습니다. 또한 장시간 실행되는 EXPORT 작업과 너무 많이 충돌해도 자동 백업이 실패할 수 있습니다.

    백업 기간 동안 Cloud SQL에서 백업을 여러 번 만들려고 시도하지만 STATUS_ATTEMPT_FAILED에 나열된 이유로 백업을 만들 수 없으면 Cloud SQL이 windowStatus 필드가 STATUS_FAILED로 설정된 또 다른 감사 로그를 생성합니다.

  • STATUS_SKIPPED: 마지막으로 백업한 이후에 Cloud SQL 인스턴스 실행이 중지되었습니다. 따라서 새로운 자동 백업이 생성되지 않았습니다.

로그 기반 알림 구성

백업 상태를 알려주는 로그 기반 알림을 구성할 수 있습니다.

  • 백업이 STATUS_SUCCEEDED 상태이면 추적 용도의 알림을 받을 수 있습니다.
  • 백업이 STATUS_FAILED 또는 STATUS_ATTEMPT_FAILED 상태이면 로그 항목에 표시되는 메시지를 기반으로 시정 조치를 취하라는 알림을 받을 수 있습니다. 예약된 다음 백업 기간 전에 주문형 백업을 수행할 수도 있습니다.
  • 백업이 STATUS_SKIPPED 상태인 경우 Cloud SQL 인스턴스를 다시 시작하라는 알림을 받을 수 있습니다.

다음 단계