このページでは、自動バックアップのスケジュールと無効化、オンデマンド バックアップの作成と管理、Cloud SQL インスタンスのバックアップの表示について説明します。
バックアップの詳細については、バックアップの概要をご覧ください。
オンデマンド バックアップを作成する
オンデマンド バックアップを作成するには:
Console
- Google Cloud Console の [Cloud SQL インスタンス] ページに移動します。
[Cloud SQL インスタンス] ページに移動
- インスタンスをクリックして [概要] ページを開きます。
- [バックアップ] タブを選択します。
- [バックアップを作成] をクリックします。
- [バックアップを作成] ページで、必要に応じて説明を追加し、[作成] をクリックします。
gcloud
バックアップを作成します。
gcloud sql backups create --async --instance [INSTANCE_NAME]
--description
パラメータを使用してバックアップの説明を入力できます。
REST v1beta4
後述のリクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
POST https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer "$(gcloud auth print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns
PowerShell(Windows)
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{
"kind": "sql#operation",
"targetLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "BACKUP_VOLUME",
"name": "operation-id",
"targetId": "instance-id",
"selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
"targetProject": "project-id"
}
自動バックアップのスケジュール
インスタンスの自動バックアップをスケジュールするには:
Console
- Google Cloud Console の [Cloud SQL インスタンス] ページに移動します。
[Cloud SQL インスタンス] ページに移動
- インスタンスをクリックして [概要] ページを開きます。
- [バックアップ] タブを選択します。
- [自動バックアップを管理] をクリックします。
- バックアップの時間を選択します。
- [保存] をクリックします。
gcloud
- インスタンスを編集してバックアップ開始時間を指定します。
gcloud sql instances patch [INSTANCE_NAME] --backup-start-time [HH:MM]
backup-start-time パラメータは、UTC±00 タイムゾーンの 24 時間形式で指定されます。また、4 時間のバックアップ時間枠の開始時刻が指定されます。バックアップはバックアップ時間枠の任意の時刻に開始できます。
- 変更を確定します。
gcloud sql instances describe [INSTANCE_NAME]
backupConfiguration
の下に、enabled: true
と指定した時刻が表示されていることを確認します。
REST v1beta4
backupConfiguration
オブジェクト内で binaryLogEnabled
を true
に設定することにより、バイナリ ロギングを同時に有効にすることができます。
後述のリクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID(プライマリまたはレプリカ)
- start-time: 「HH:MM」形式の時刻
- enabled: プライマリ インスタンスの場合は true に設定します。レプリカ インスタンスの場合は false に設定します。
HTTP メソッドと URL:
PATCH https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
JSON 本文のリクエスト:
{
"settings":
{
"backupConfiguration":
{
"startTime": "start-time",
"enabled": enabled,
"binaryLogEnabled": true
}
}
}
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X PATCH \
-H "Authorization: Bearer "$(gcloud auth print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{
"kind": "sql#operation",
"targetLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "operation-id",
"targetId": "instance-id",
"selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
"targetProject": "project-id"
}
バックアップのカスタム ロケーションの設定
規制で義務付けられている場合にのみ、カスタム バックアップ ロケーションを使用してください。規制で必要とされない場合は、デフォルトのマルチリージョン バックアップ ロケーションを使用します。
自動バックアップを有効にする必要があります。
カスタム ロケーションは、オンデマンド バックアップと自動バックアップに使用できます。有効なロケーションの値の一覧については、インスタンスのロケーションをご覧ください。
カスタム ロケーションでインスタンスを更新するには:
REST v1beta4
backupRuns location
パラメータを使用します。
後述のリクエストのデータを使用する前に、次のように置き換えます。
- region: プロジェクトのリージョン
- path: バックアップのロケーション
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
POST https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns
JSON 本文のリクエスト:
リクエストを送信するには、次のいずれかのオプションを展開します。
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://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns
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://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{
"kind": "sql#operation",
"targetLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "operation-id",
"targetId": "instance-id",
"selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
"targetProject": "project-id"
}
自動バックアップのカスタム ロケーションの設定
現時点では、バックアップのカスタム ロケーションを設定する場合にのみ API を使用できます。
有効なリージョンの値の一覧については、インスタンスのロケーションをご覧ください。
既存のインスタンスの自動バックアップ用にカスタム ロケーションを設定するには:
REST v1beta4
インスタンス settings.backupConfiguration.location
パラメータを使用します。
後述のリクエストのデータを使用する前に、次のように置き換えます。
- region: プロジェクトのリージョン
- backup-region: バックアップのリージョン
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
PATCH https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
JSON 本文のリクエスト:
{
"region": "region"
"settings":
{
"backupConfiguration":
{
"location": "backup-region",
"enabled": true,
}
}
}
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X PATCH \
-H "Authorization: Bearer "$(gcloud auth print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{
"kind": "sql#operation",
"targetLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "operation-id",
"targetId": "instance-id",
"selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
"targetProject": "project-id"
}
このタスクで
基礎となる REST API リクエストがどのように作成されるかについては、
API Explorer の Instances: patch ページをご覧ください。
バックアップの表示
Cloud Console では、スキップされたバックアップまたは失敗したバックアップはバックアップ履歴に表示されません。スキップされたバックアップを表示するには、gcloud コマンドライン ツールまたは API を使用します。
Console
- Google Cloud Console の [Cloud SQL インスタンス] ページに移動します。
[Cloud SQL インスタンス] ページに移動
- インスタンスをクリックして [概要] ページを開きます。
- [バックアップ] タブを選択して、最近のバックアップ、および作成日時とバックアップの種類を表示します。
gcloud
- インスタンスのバックアップを一覧表示します。
gcloud sql backups list --instance [INSTANCE_NAME]
標準リスト パラメータを使用して、結果のフィルタリングや制御を行うことができます。完全なリストについては、gcloud sql backups list コマンドのリファレンス ページをご覧ください。
- 特定のバックアップの詳細を一覧表示するには、
backups list
コマンドの出力の ID
を使用します。
gcloud sql backups describe [BACKUP_ID] --instance [INSTANCE_NAME]
REST v1beta4
BackupRuns:list ページの API Explorer を使用して REST API リクエストを送信することもできます。
後述のリクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
GET https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer "$(gcloud auth print-access-token) \
https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns
PowerShell(Windows)
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{
"kind": "sql#backupRun",
"status": "SUCCESSFUL",
"enqueuedTime": "2020-01-21T11:25:33.818Z",
"id": "backup-id",
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
"type": "AUTOMATED",
"windowStartTime": "2020-01-21T10:00:00.479Z",
"instance": "instance-id",
"selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns/backup-id",
"location": "us"
}
バックアップのロケーションの表示
インスタンスに対して実行されたバックアップのロケーションを確認するには、次のように backupRuns
を使用します。
REST v1beta4
後述のリクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
GET https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer "$(gcloud auth print-access-token) \
https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns
PowerShell(Windows)
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
前の例では:
REGION
は元のインスタンスのリージョンです。
BACKUP_REGION
は Cloud SQL にバックアップを保存するリージョンです。
自動バックアップ保持の設定
保持する自動バックアップの数を設定するには、次のようにします。
REST
後述のリクエストのデータを使用する前に、次のように置き換えます。
- unit: 省略可: 保持単位には整数または文字列を指定できます。現在サポートされている(およびデフォルト)値は、1 または "COUNT" です。
- num-to-retain: 保持する自動バックアップの数(1~365)
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
PATCH https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
JSON 本文のリクエスト:
{
"settings":
{
"backupConfiguration":
{
"backupRetentionSettings":
{
"retentionUnit": unit,
"retainedBackups": "num-to-retain"
}
}
}
}
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X PATCH \
-H "Authorization: Bearer "$(gcloud auth print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{
"kind": "sql#operation",
"targetLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "operation-id",
"targetId": "instance-id",
"selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
"targetProject": "project-id"
}
バックアップの削除
自動バックアップやオンデマンド バックアップは削除できます。
MySQL インスタンスでは、バックアップを削除しても、バックアップと同じサイズが解放されるとは限りません。これは、バックアップは増分で行われるため、新しいバックアップの整合性を維持する目的で、削除された古いバックアップの内容の一部が新しいバックアップに転送されることがあるためです。
Console
- Google Cloud Console の [Cloud SQL インスタンス] ページに移動します。
[Cloud SQL インスタンス] ページに移動
- インスタンスをクリックして [概要] ページを開きます。
- [バックアップ] タブを選択します。
- 削除するバックアップのその他の操作アイコン(
)をクリックします。
- [削除] を選択します。
- [バックアップを削除] ウィンドウで、フィールドに「
Delete
」と入力して [削除] をクリックします。
gcloud
Cloud SQL インスタンスのバックアップを削除します。
gcloud beta sql backups delete [BACKUP_ID] --instance [INSTANCE_NAME]
パラメータの完全なリストについては、gcloud beta sql backups delete コマンドのリファレンス ページをご覧ください。
REST v1beta4
- バックアップを一覧表示して、削除するバックアップの ID を取得します。
後述のリクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
GET https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer "$(gcloud auth print-access-token) \
https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns
PowerShell(Windows)
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{
"kind": "sql#backupRun",
"status": "SUCCESSFUL",
"enqueuedTime": "2020-01-21T11:25:33.818Z",
"id": "backup-id",
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
"type": "AUTOMATED",
"windowStartTime": "2020-01-21T10:00:00.479Z",
"instance": "instance-id",
"selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns/backup-id",
"location": "us"
}
-
バックアップを削除します。
後述のリクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
- backup-id: バックアップ ID
HTTP メソッドと URL:
DELETE https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns/backup-id
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X DELETE \
-H "Authorization: Bearer "$(gcloud auth print-access-token) \
https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns/backup-id
PowerShell(Windows)
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns/backup-id" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{
"kind": "sql#operation",
"targetLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_BACKUP",
"name": "operation-id",
"targetId": "instance-id",
"selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
"targetProject": "project-id"
}
自動バックアップの無効化
インスタンスの自動バックアップを無効にするには:
Console
- Google Cloud Console の [Cloud SQL インスタンス] ページに移動します。
[Cloud SQL インスタンス] ページに移動
- インスタンスをクリックして [概要] ページを開きます。
- [バックアップ] タブを選択します。
- [自動バックアップを管理] をクリックします。
- [バックアップを自動化する] のチェックボックスをオフにします。
- [保存して再起動] をクリックします。
gcloud
インスタンスを編集してバックアップを無効にします。
gcloud sql instances patch [INSTANCE_NAME] --no-backup
REST v1beta4
後述のリクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
PATCH https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
JSON 本文のリクエスト:
{
"settings":
{
"backupConfiguration":
{
"enabled": false,
"binaryLogEnabled": false
}
}
}
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X PATCH \
-H "Authorization: Bearer "$(gcloud auth print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{
"kind": "sql#operation",
"targetLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "operation-id",
"targetId": "instance-id",
"selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
"targetProject": "project-id"
}
ポイントインタイム リカバリ
ポイントインタイム リカバリの詳細を学ぶ。
次のステップ