このページでは、Cloud SQL インスタンスの自動バックアップの監査ログを表示する方法について説明します。
監査ログを使用すると、次のことができます。
- 監査ログを表示して、バックアップが正常に完了したかどうかを確認する。
- バックアップのステータスを通知するログベースのアラートを構成する。
監査ログを表示する
Google Cloud コンソール、gcloud CLI
、または API を使用して監査ログを表示し、バックアップの時間枠内でバックアップが正常に完了したかどうかを確認できます。
Google Cloud コンソールで [Logging] を選択してから、[ログ エクスプローラ] を選択します。
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 に置き換えます。
最初の式は、システム イベント監査ログをフィルタします。2 番目の式は、自動バックアップの監査ログをフィルタします。最後の式は、Cloud SQL インスタンスの監査ログをフィルタします。
Google Cloud コンソールを使用して監査ログをクエリする方法の詳細については、ログを表示をご覧ください。
バックアップの時間枠内に作成されたバックアップのステータスを表示します。このステータスは
windowStatus
フィールドに表示されます。このフィールドの表示は、次の手順で行います。- 監査ログをクリックします。
- [
metadata
] フィールドをクリックします。
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
最初の式は、システム イベント監査ログをフィルタします。2 番目の式は、自動バックアップの監査ログをフィルタします。最後の式は、Cloud SQL インスタンスの監査ログをフィルタします。
gcloud
を使用して監査ログのクエリを行う方法については、ログを表示をご覧ください。バックアップの時間枠内に作成されたバックアップのステータスを表示します。このステータスは
windowStatus
フィールドに表示されます。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: Google Cloud プロジェクトの ID。
リクエスト JSON 本文の最初の式は System Event 監査ログをフィルタします。2 番目の式は、自動バックアップの監査ログをフィルタします。最後の式は、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" }
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://logging.googleapis.com/v2/entries:list"
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://logging.googleapis.com/v2/entries:list" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{ "entries": [ { "protoPayload": { "@type": "type.googleapis.com/google.cloud.audit.AuditLog", "status": { "message": "OK" }, "authenticationInfo": {}, "requestMetadata": { "requestAttributes": {}, "destinationAttributes": {} }, "serviceName": "cloudsql.googleapis.com", "methodName": "cloudsql.instances.automatedBackup", "resourceName": "projects/PROJECT_ID /instances/INSTANCE_NAME ", "metadata": { "windowStartTime": "2022-12-15T13:00:00Z", "message": "", "windowStatus": "STATUS_SUCCEEDED", "@type": "type.googleapis.com/speckle.AutomatedBackupEventLog", "windowEndTime": "2022-12-15T17:00:00Z", "backupCompletionTime": "2022-12-15T14:11:57.347Z", "backupStartTime": "2022-12-15T14:11:16.631Z" } }, "insertId": "LOG_ENTRY_UNIQUE_IDENTIFIER ", "resource": { "type": "cloudsql_database", "labels": { "region": "REGION_NAME ", "project_id": "PROJECT_ID ", "database_id": "DATABASE_ID " } }, "timestamp": "2022-12-15T14:11:57.391565Z", "severity": "INFO", "logName": "projects/PROJECT_ID /logs/cloudaudit.googleapis.com%2Fsystem_event", "receiveTimestamp": "2022-12-15T14:11:57.785814800Z" }, ], }
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 はSTATUS_FAILED
に設定されたwindowStatus
フィールドで別の監査ログを生成します。STATUS_SKIPPED
: 前回の正常なバックアップ以降、Cloud SQL インスタンスは実行を停止しました。そのため、新しい自動バックアップは作成されませんでした。
ログベースのアラートを構成する
バックアップのステータスを通知するログベースのアラートを構成できます。
- バックアップのステータスが
STATUS_SUCCEEDED
の場合は、トラッキングの目的で通知を受けることができます。 - バックアップのステータスが
STATUS_FAILED
またはSTATUS_ATTEMPT_FAILED
の場合、ログエントリに表示されるメッセージに基づいて是正措置を講じるように通知を受けることができます。次にスケジュールされたバックアップの時間枠の前にオンデマンド バックアップを行うこともできます。 - バックアップのステータスが
STATUS_SKIPPED
の場合、Cloud SQL インスタンスを再起動するように通知を受けることができます。
次のステップ
- データのバックアップの詳細
- バックアップの作成と管理に関する詳細について学ぶ。
- データの復元の詳細について学ぶ。
- バックアップからデータを復元する方法を確認する。
- ポイントインタイム リカバリを実行する方法を確認する。