インスタンスを復元する コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。
このページでは、バックアップからインスタンスを復元する方法について説明します。
復元オペレーションの詳細、ベスト プラクティス、要件については、インスタンスの復元の概要 をご覧ください。
オンデマンド バックアップまたは自動バックアップから復元する オンデマンド バックアップまたは自動バックアップは、次のような場合に使用できます。
同じプロジェクト内の別のインスタンスに復元する バックアップを取得した同じインスタンスに復元する 別のプロジェクトまたはリージョンの別のインスタンスに復元する ポイントインタイム リカバリ(PITR) が有効になっている場合は、インスタンスのログ保持設定に基づいて、インスタンスを特定の時点に復元できます。
注: ポイントインタイム リカバリは、同じプロジェクトとリージョン内の新しいインスタンスでのみサポートされます。 別のインスタンスに復元する バックアップから別のインスタンスにデータを復元すると、ターゲット インスタンス上のデータが、バックアップを作成したときのソース インスタンスの状態に更新されます。詳細については、復元の実行についての全般的なヒント と別のインスタンスへの復元のヒントと要件 をご覧ください。
プロジェクトのバックアップのリストが必要だが、停止が原因でインスタンスの概要ページに表示できない場合は、backupRuns.list
API でワイルドカード(-
)を使用できます。ワイルドカード オプションでプロジェクト内のすべてのインスタンスのバックアップのリストを取得します。詳細については、停止時にバックアップを表示する をご覧ください。
警告: 復元プロセスでは、インスタンスに現在あるデータ(以前のポイントインタイム リカバリ(PITR)ログなど)がすべて上書きされます。インスタンスの以前のオンデマンド バックアップと自動バックアップは保持されます。 コンソール Google Cloud コンソールで、Cloud SQL の [インスタンス ] ページに移動します。
Cloud SQL の [インスタンス] に移動
ターゲット インスタンスにリードレプリカがある場合は、その他の操作メニュー を使用して削除します。 インスタンスの [概要 ] ページを開くには、インスタンス名をクリックします。 SQL ナビゲーション メニューから [バックアップ ] を選択します。 復元するバックアップを見つけて、[復元 ] をクリックします。 [バックアップからのインスタンスの復元 ] ページの [バックアップの詳細を確認 ] で、正しいバックアップを選択していることを確認します。 [復元先の選択 ] で、[既存のインスタンスを上書きする ] を選択します。 [上書きされるインスタンス ] メニューから、復元に使用するインスタンスを選択します。選択したインスタンスとそのすべてのデータが上書きされます。 選択を確定するには、上書きするインスタンスの名前を [移行先インスタンス ID ] フィールドに入力します。 復元プロセスを開始するには、[復元 ] をクリックします。 復元オペレーションのステータスを確認するには、インスタンスの [オペレーション ] ページに移動します。 復元オペレーションが完了したら、この手順で削除したレプリカを再作成します。 gcloud ターゲット インスタンスにリードレプリカがあるかどうかを確認するには、gcloud sql instances describe
コマンドを使用します。
gcloud sql instances describe TARGET_INSTANCE_NAME replicaNames
列にリストされているインスタンスをメモします。
すべてのレプリカを削除するには、gcloud sql instances delete
コマンドを使用します。
gcloud sql instances delete REPLICA_NAME レプリカごとに繰り返します。
ソース インスタンスのバックアップを一覧表示するには、gcloud sql backups list
コマンドを使用します。
gcloud sql backups list \ --instance SOURCE_INSTANCE_NAME 使用するバックアップを見つけ、その ID
値を記録します。注: ステータスが SUCCESSFUL
のバックアップを選択します。 バックアップからターゲット インスタンスを復元するには、gcloud sql backups restore
コマンドを使用します。
gcloud sql backups restore BACKUP_ID \ --restore-instance= TARGET_INSTANCE_NAME \ --backup-instance= SOURCE_INSTANCE_NAME 復元オペレーションが完了したら、この手順で削除したレプリカを再作成します。 REST v1 インスタンスにリードレプリカがあるかどうかを確認し、これらのレプリカの ID を取得するには、ターゲット インスタンスのすべてのレプリカを一覧表示します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID INSTANCE_ID : インスタンス ID HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "replicaNames": [ "REPLICA_NAME " ] } すべてのレプリカを削除します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID REPLICA_ID : レプリカ ID HTTP メソッドと URL:
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID " PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "DELETE_BACKUP", "name": "OPERATION_ID ", "targetId": "REPLICA_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " } レプリカごとに繰り返します。
使用するバックアップの ID を取得するには、ソース インスタンスのバックアップを一覧表示します。
リクエストのデータを使用する前に、次のように置き換えます。
project-id : プロジェクト ID instance-id : インスタンス ID HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/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://sqladmin.googleapis.com/v1/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://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns/backup-id ", "location": "us" } または
インスタンスが停止しているリージョンにある場合は、プロジェクト内のすべてのバックアップを一覧表示します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID INSTANCE_ID : インスタンス ID。プロジェクト内のすべてのバックアップのリストの場合は -
。 HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/-/backupRuns リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/-/backupRuns" PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/-/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://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_ID ", "location": "us" "backupKind": "SNAPSHOT" } 復元が必要なインスタンスのバックアップを見つけます。
バックアップからターゲット インスタンスを復元します。 リクエストのデータを使用する前に、次のように置き換えます。
project-id : プロジェクト ID target-instance-id : ターゲット インスタンス ID source-instance-id : ソース インスタンス ID backup-id バックアップ ID HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id /instances/target-instance-id /restoreBackup リクエストの本文(JSON):
{ "restoreBackupContext": { "backupRunId": backup-id , "instanceId": "source-instance-id " } } リクエストを送信するには、次のいずれかのオプションを展開します。
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://sqladmin.googleapis.com/v1/projects/project-id /instances/target-instance-id /restoreBackup" 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://sqladmin.googleapis.com/v1/projects/project-id /instances/target-instance-id /restoreBackup" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_BACKUP", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ", "targetProject": "project-id " } 復元オペレーションが完了したら、この手順で削除したレプリカを再作成します。 REST v1beta4 インスタンスにリードレプリカがあるかどうかを確認し、これらのレプリカの ID を取得するには、ターゲット インスタンスのすべてのレプリカを一覧表示します。 リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID INSTANCE_ID : インスタンス ID HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "replicaNames": [ "REPLICA_NAME " ] } すべてのレプリカを削除します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID REPLICA_ID : レプリカ ID HTTP メソッドと URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID " PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "DELETE_BACKUP", "name": "OPERATION_ID ", "targetId": "REPLICA_ID ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " } レプリカごとに繰り返します。
使用するバックアップの ID を取得するには、ソース インスタンスのバックアップを一覧表示します。 リクエストのデータを使用する前に、次のように置き換えます。
project-id : プロジェクト ID instance-id : インスタンス ID HTTP メソッドと URL:
GET https://sqladmin.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://sqladmin.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://sqladmin.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://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns/backup-id ", "location": "us" } バックアップからターゲット インスタンスを復元します。
リクエストのデータを使用する前に、次のように置き換えます。
project-id : プロジェクト ID target-instance-id : ターゲット インスタンス ID source-instance-id : ソース インスタンス ID backup-id バックアップ ID HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/target-instance-id /restoreBackup リクエストの本文(JSON):
{ "restoreBackupContext": { "backupRunId": backup-id , "instanceId": "source-instance-id " } } リクエストを送信するには、次のいずれかのオプションを展開します。
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://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/target-instance-id /restoreBackup" 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://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/target-instance-id /restoreBackup" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_BACKUP", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ", "targetProject": "project-id " } 復元オペレーションが完了したら、この手順で削除したレプリカを再作成します。 同じインスタンスに復元する バックアップから同じインスタンスにデータを復元すると、そのインスタンス上のデータが、バックアップを作成したときの状態に戻ります。インスタンスの復元については、復元の実行についての全般的なヒント をご覧ください。
警告: 復元プロセスでは、インスタンスに現在あるデータ(以前のポイントインタイム リカバリ(PITR)ログなど)がすべて上書きされます。インスタンスの以前のオンデマンド バックアップと自動バックアップは保持されます。 コンソール Google Cloud コンソールで、Cloud SQL の [インスタンス ] ページに移動します。
Cloud SQL の [インスタンス] に移動
ターゲット インスタンスにリードレプリカがある場合は、その他の操作メニュー を使用して削除します。 インスタンスの [概要 ] ページを開くには、インスタンス名をクリックします。 SQL ナビゲーション メニューから [バックアップ ] を選択します。 使用するバックアップを見つけて、[復元 ] をクリックします。 [バックアップからのインスタンスの復元 ] ページの [バックアップの詳細を確認 ] で、正しいバックアップを選択していることを確認します。 [復元先の選択 ] で、[ソース インスタンスを上書きする ] を選択します。移行元インスタンスの名前が括弧で囲まれて指定されていることを確認します。
選択を確定するには、[移行先インスタンス ID ] フィールドにインスタンス名を入力します。 復元プロセスを開始するには、[復元 ] をクリックします。 復元オペレーションのステータスを確認するには、インスタンスの [オペレーション ] ページに移動します。 復元オペレーションが完了したら、この手順で削除したレプリカを再作成します。 gcloud インスタンスにリードレプリカがあるかどうかを確認するには、gcloud sql instances describe
コマンドを使用します。
gcloud sql instances describe INSTANCE_NAME replicaNames
列にリストされているインスタンスをメモします。
すべてのレプリカを削除するには、gcloud sql instances delete
コマンドを使用します。
gcloud sql instances delete REPLICA_NAME レプリカごとに繰り返します。
インスタンスのバックアップを一覧表示するには、gcloud sql backups list
コマンドを使用します。
gcloud sql backups list --instance INSTANCE_NAME 使用するバックアップを見つけ、その ID
値を記録します。注: ステータスが SUCCESSFUL
のバックアップを選択します。 指定したバックアップからインスタンスを復元するには、gcloud sql backups restore
コマンドを使用します。
gcloud sql backups restore BACKUP_ID \ --restore-instance= INSTANCE_NAME 復元オペレーションが完了したら、この手順で削除したレプリカを再作成します。 REST v1 使用するバックアップの ID を取得するには、インスタンスのバックアップを一覧表示します。
リクエストのデータを使用する前に、次のように置き換えます。
project-id : プロジェクト ID instance-id : インスタンス ID HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/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://sqladmin.googleapis.com/v1/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://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns/backup-id ", "location": "us" } 指定したバックアップからインスタンスを復元します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID INSTANCE_ID : インスタンス ID BACKUP_ID バックアップ ID HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup リクエストの本文(JSON):
{ "restoreBackupContext": { "backupRunId": "BACKUP_ID ", } } リクエストを送信するには、次のいずれかのオプションを展開します。
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://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup" 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://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_BACKUP", "name": "OPERATION_ID ", "targetId": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " } 復元オペレーションが完了したら、この手順で削除したレプリカを再作成します。 REST v1beta4 使用するバックアップの ID を取得するには、インスタンスのバックアップを一覧表示します。
リクエストのデータを使用する前に、次のように置き換えます。
project-id : プロジェクト ID instance-id : インスタンス ID HTTP メソッドと URL:
GET https://sqladmin.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://sqladmin.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://sqladmin.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://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns/backup-id ", "location": "us" } 指定したバックアップからインスタンスを復元します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID INSTANCE_ID : インスタンス ID BACKUP_RUN_ID : Cloud SQL がバックアップからインスタンスを復元した日時スタンプ HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup リクエストの本文(JSON):
{ "restoreBackupContext": { "backupRunId": "BACKUP_RUN_ID ", } } リクエストを送信するには、次のいずれかのオプションを展開します。
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://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup" 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://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_BACKUP", "name": "OPERATION_ID ", "targetId": "TARGET_INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " } 復元オペレーションが完了したら、この手順で削除したレプリカを再作成します。 別のプロジェクトのインスタンスに復元する project
パラメータを使用して、バックアップが実行されたプロジェクトとは別のプロジェクトのインスタンスにデータを復元できます。project
パラメータを使用するときに、データを復元するプロジェクトのインスタンスで restoreBackup
を呼び出します。バックアップから別のインスタンスに復元すると、ターゲット インスタンス上のデータが、バックアップを作成したときのソース インスタンスの状態に更新されます。
権限 別のプロジェクトに復元するユーザーは、ターゲット プロジェクトに対する cloudsql.instances.restoreBackup
権限と、ソース インスタンスに対する cloudsql.backupRuns.get
権限を持っている必要があります。これらの権限は、Cloud SQL Admin
ロールに含まれています。
警告: 復元プロセスでは、インスタンスに現在あるデータ(以前のポイントインタイム リカバリ(PITR)ログなど)がすべて上書きされます。インスタンスの以前のオンデマンド バックアップと自動バックアップは保持されます。 別のプロジェクトのインスタンスにデータを復元するには:
gcloud インスタンスのバックアップを一覧表示します。
gcloud sql backups list --instance INSTANCE_NAME
INSTANCE_NAME は、インスタンス名で置き換えます。
使用するバックアップを見つけ、その ID
値を記録します。 注: SUCCESSFUL
とマークされたバックアップを選択します。 別のプロジェクトのインスタンスにデータを復元します。
gcloud sql backups restore BACKUP_ID \ --restore-instance= TARGET_INSTANCE_NAME \ --backup-instance= SOURCE_INSTANCE_NAME \ --backup-project= SOURCE_INSTANCE_PROJECT
次のように置き換えます。
BACKUP_ID : バックアップの ID。この ID は、この手順の前に取得しました。 TARGET_INSTANCE_NAME : データを復元する宛先プロジェクト内のインスタンス。 SOURCE_INSTANCE_NAME : 宛先プロジェクトのインスタンスに復元するデータを含む、ソース プロジェクト内のインスタンス。 SOURCE_INSTANCE_PROJECT : ソース インスタンスを含むプロジェクト。 REST v1 backupId
を取得するには、以下を実行します。
リクエストのデータを使用する前に、次のように置き換えます。
project-id : プロジェクト ID instance-id : インスタンス ID HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/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://sqladmin.googleapis.com/v1/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://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns/backup-id ", "location": "us" } バックアップを別のプロジェクトのインスタンスに復元します。
リクエストのデータを使用する前に、次のように置き換えます。
source-project-id : ソース プロジェクト ID target-project-id : ターゲット プロジェクト ID target-instance-id : ターゲット インスタンス ID source-instance-id : ソース インスタンス ID backup-id バックアップ ID HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/v1/projects/target-project-id /instances/target-instance-id /restoreBackup リクエストの本文(JSON):
{ "restoreBackupContext": { "backupRunId": backup-id , "project": "source-project-id ", "instanceId": "source-instance-id " } } リクエストを送信するには、次のいずれかのオプションを展開します。
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://sqladmin.googleapis.com/v1/projects/target-project-id /instances/target-instance-id /restoreBackup" 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://sqladmin.googleapis.com/v1/projects/target-project-id /instances/target-instance-id /restoreBackup" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/target-project-id /instances/target-instance-id ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_VOLUME", "name": "operation-id ", "targetId": "target-instance-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/target-project-id /operations/operation-id ", "targetProject": "target-project-id " } project
プロパティについて詳しくは、restoreBackup をご覧ください。 REST v1beta4 backupId
を取得するには、以下を実行します。 リクエストのデータを使用する前に、次のように置き換えます。
project-id : プロジェクト ID instance-id : インスタンス ID HTTP メソッドと URL:
GET https://sqladmin.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://sqladmin.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://sqladmin.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://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns/backup-id ", "location": "us" } バックアップを別のプロジェクトのインスタンスに復元します。
リクエストのデータを使用する前に、次のように置き換えます。
source-project-id : ソース プロジェクト ID target-project-id : ターゲット プロジェクト ID target-instance-id : ターゲット インスタンス ID source-instance-id : ソース インスタンス ID backup-id バックアップ ID HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /instances/target-instance-id /restoreBackup リクエストの本文(JSON):
{ "restoreBackupContext": { "backupRunId": backup-id , "project": "source-project-id ", "instanceId": "source-instance-id " } } リクエストを送信するには、次のいずれかのオプションを展開します。
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://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /instances/target-instance-id /restoreBackup" 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://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /instances/target-instance-id /restoreBackup" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /instances/target-instance-id ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_VOLUME", "name": "operation-id ", "targetId": "target-instance-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /operations/operation-id ", "targetProject": "target-project-id " } project
プロパティについて詳しくは、restoreBackup をご覧ください。 最終バックアップから復元する 最終バックアップは、次のような場合に使用できます。
最終バックアップを新しいインスタンスに復元する 別のプロジェクトまたはリージョンの新しいインスタンスに復元する 削除されたインスタンスの最終バックアップを使用してインスタンスを復元するため、このバックアップを使用して、削除されたインスタンスの構成でインスタンスを作成し、データを復元することもできます。
新しいインスタンスに復元する 最終バックアップからインスタンスを作成すると、Cloud SQL は最終バックアップが取得されたインスタンスの構成設定を使用します。インスタンスの作成後、Cloud SQL は最終バックアップを取得した時点の状態にデータを復元します。
コンソール
Google Cloud コンソールで、Cloud SQL の [バックアップ ] ページに移動します。
Cloud SQL の [バックアップ] に移動
このページには、 Google Cloud プロジェクトに関連付けられているすべてのバックアップ(最終バックアップを含む)が一覧表示されます。
新しいインスタンスに復元するデータを含む最終バックアップをクリックします。 [最終バックアップ ] ダイアログで、[復元 ] をクリックします。 [バックアップからのインスタンスの復元 ] ページの [バックアップの詳細を確認 ] で、正しいバックアップを選択していることを確認します。 [復元先の選択 ] で、[新しいインスタンスに復元する ] を選択します。 [リージョン ] メニューから、新しいインスタンスのリージョンを選択します。 [インスタンス ID ] フィールドに、新しいインスタンスの ID を入力します。 復元プロセスを開始するには、[復元 ] をクリックします。 復元オペレーションのステータスを確認するには、インスタンスの [オペレーション ] ページに移動します。 gcloud ソース インスタンスの最終バックアップを一覧表示するには、gcloud sql backups list
コマンドを使用します。
gcloud sql backups list \ --filter= 'type:FINAL instance: SOURCE_INSTANCE_NAME ' 使用するバックアップを見つけ、その NAME
値を記録します。 指定した最終バックアップから新しいインスタンスを復元するには、gcloud sql backups restore
コマンドを使用します。
gcloud sql backups restore BACKUP_NAME \ --restore-instance= TARGET_INSTANCE_NAME REST v1 使用するバックアップの ID を取得するには、ソース インスタンスの最終バックアップを一覧表示します。 リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID INSTANCE_ID : インスタンス ID HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID ' リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '" PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "name": "projects/PROJECT_ID /backups/BACKUP_ID ", "kind": "sql#backup", "state": "SUCCESSFUL", "backupInterval": { "startTime": "2020-01-21T11:25:33.858Z", "endTime": "2020-01-21T11:26:18.663Z", } "type": "FINAL", "instance": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ", "location": "us" "description": "This is a final backup.", "backupKind": "SNAPSHOT", "dataDiskSizeGB": "10", "expiryTime": "2020-01-30T11:26:18.663Z", "backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ", "satisfies_pzs": false, "satisfies_pzi": false } 指定した最終バックアップから新しいインスタンスを復元します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID TARGET_INSTANCE_ID : ターゲット インスタンス ID BACKUP_ID バックアップ ID 注: restore_instance_settings: {}
行のコードにより、Cloud SQL はバックアップから新しいインスタンスにデータを復元できます。 HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup リクエストの本文(JSON):
{ backup: projects/PROJECT_ID /backups/BACKUP_ID restore_instance_settings: {} } リクエストを送信するには、次のいずれかのオプションを展開します。
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://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" 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://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_BACKUP", "name": "OPERATION_ID ", "targetId": "TARGET_INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " } REST v1beta4 使用するバックアップの ID を取得するには、ソース インスタンスの最終バックアップを一覧表示します。 リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID INSTANCE_ID : インスタンス ID HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID ' リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '" PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "name": "projects/PROJECT_ID /backups/BACKUP_ID ", "kind": "sql#backup", "state": "SUCCESSFUL", "backupInterval": { "startTime": "2020-01-21T11:25:33.858Z", "endTime": "2020-01-21T11:26:18.663Z", } "type": "FINAL", "instance": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ", "location": "us" "description": "This is a final backup.", "backupKind": "SNAPSHOT", "dataDiskSizeGB": "10", "expiryTime": "2020-01-30T11:26:18.663Z", "backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ", "satisfies_pzs": false, "satisfies_pzi": false } 指定した最終バックアップから新しいインスタンスを復元します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID TARGET_INSTANCE_ID : ターゲット インスタンス ID BACKUP_ID バックアップ ID 注: restore_instance_settings: {}
行のコードにより、Cloud SQL はバックアップから新しいインスタンスにデータを復元できます。 HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup リクエストの本文(JSON):
{ backup: projects/PROJECT_ID /backups/BACKUP_ID restore_instance_settings: {} } リクエストを送信するには、次のいずれかのオプションを展開します。
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://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" 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://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_BACKUP", "name": "OPERATION_ID ", "targetId": "TARGET_INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " } 既存のインスタンスに復元する 最終バックアップから既存のインスタンスにデータを復元すると、ターゲット インスタンス上のデータが、バックアップを作成したときのソース インスタンスの状態に更新されます。詳細については、復元の実行についての全般的なヒント と別のインスタンスへの復元のヒントと要件 をご覧ください。
プロジェクトのバックアップのリストが必要なときに、停止が原因でインスタンスの概要ページに表示できない場合は、backupRuns.list
API を使用します。
警告: 復元プロセスでは、インスタンスに現在あるデータ(以前のポイントインタイム リカバリ(PITR)ログなど)がすべて上書きされます。インスタンスの以前のオンデマンド バックアップと自動バックアップは保持されます。 コンソール Google Cloud コンソールで、Cloud SQL の [インスタンス ] ページに移動します。
Cloud SQL の [インスタンス] に移動
ターゲット インスタンスにリードレプリカがある場合は、その他の操作メニュー を使用して削除します。
Google Cloud コンソールで、Cloud SQL の [バックアップ ] ページに移動します。
Cloud SQL の [バックアップ] に移動
このページには、 Google Cloud プロジェクトに関連付けられているすべてのバックアップ(最終バックアップを含む)が一覧表示されます。
別のインスタンスに復元するデータを含む最終バックアップをクリックします。 [最終バックアップ ] ダイアログで、[復元 ] をクリックします。 [バックアップからのインスタンスの復元 ] ページの [バックアップの詳細を確認 ] で、正しいバックアップを選択していることを確認します。 [復元先の選択 ] で、[既存のインスタンスを上書きする ] を選択します。 [上書きされるインスタンス ] メニューから、復元に使用するインスタンスを選択します。選択したインスタンスとそのすべてのデータが上書きされます。
注: 選択できるのは、最終バックアップの作成 に使用したインスタンス(ソース インスタンス)と同じデータベース タイプのインスタンスのみです。また、選択したインスタンスのバージョンは、移行元のインスタンスと同じかそれ以降である必要があります。 選択を確定するには、上書きするインスタンスの名前を [移行先インスタンス ID ] フィールドに入力します。 復元プロセスを開始するには、[復元 ] をクリックします。 復元オペレーションのステータスを確認するには、インスタンスの [オペレーション ] ページに移動します。 復元オペレーションが完了したら、この手順で削除したレプリカを再作成します。 gcloud ターゲット インスタンスにリードレプリカがあるかどうかを確認するには、gcloud sql instances describe
コマンドを使用します。
gcloud sql instances describe TARGET_INSTANCE_NAME replicaNames
列にリストされているインスタンスをメモします。
すべてのレプリカを削除するには、gcloud sql instances delete
コマンドを使用します。
gcloud sql instances delete REPLICA_NAME レプリカごとに繰り返します。
ソース インスタンスの最終バックアップを一覧表示するには、gcloud sql backups list
コマンドを使用します。
gcloud sql backups list \ --filter= 'type:FINAL instance: SOURCE_INSTANCE_NAME ' 使用するバックアップを見つけ、その NAME
値を記録します。注: ステータスが SUCCESSFUL
のバックアップを選択します。 バックアップからターゲット インスタンスを復元するには、gcloud sql backups restore
コマンドを使用します。
gcloud sql backups restore BACKUP_NAME \ --restore-instance= TARGET_INSTANCE_NAME 復元オペレーションが完了したら、この手順で削除したレプリカを再作成します。 REST v1 インスタンスにリードレプリカがあるかどうかを確認し、これらのレプリカの ID を取得するには、ターゲット インスタンスのすべてのレプリカを一覧表示します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID INSTANCE_ID : インスタンス ID HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "replicaNames": [ "REPLICA_NAME " ] } すべてのレプリカを削除します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID REPLICA_ID : レプリカ ID HTTP メソッドと URL:
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID " PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "DELETE_BACKUP", "name": "OPERATION_ID ", "targetId": "REPLICA_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " } レプリカごとに繰り返します。
使用する最終バックアップの ID を取得するには、ソース インスタンスのバックアップを一覧表示します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID INSTANCE_ID : インスタンス ID HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID ' リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '" PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "name": "projects/PROJECT_ID /backups/BACKUP_ID ", "kind": "sql#backup", "state": "SUCCESSFUL", "backupInterval": { "startTime": "2020-01-21T11:25:33.858Z", "endTime": "2020-01-21T11:26:18.663Z", } "type": "FINAL", "instance": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ", "location": "us" "description": "This is a final backup.", "backupKind": "SNAPSHOT", "dataDiskSizeGB": "10", "expiryTime": "2020-01-30T11:26:18.663Z", "backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ", "satisfies_pzs": false, "satisfies_pzi": false } 復元が必要なインスタンスのバックアップを見つけます。
バックアップからターゲット インスタンスを復元します。 リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID TARGET_INSTANCE_ID : ターゲット インスタンス ID BACKUP_ID : バックアップ ID HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup リクエストの本文(JSON):
{ backup: projects/PROJECT_ID /backups/BACKUP_ID } リクエストを送信するには、次のいずれかのオプションを展開します。
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://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" 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://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_BACKUP", "name": "OPERATION_ID ", "targetId": "TARGET_INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " } 復元オペレーションが完了したら、この手順で削除したレプリカを再作成します。 REST v1beta4 インスタンスにリードレプリカがあるかどうかを確認し、これらのレプリカの ID を取得するには、ターゲット インスタンスのすべてのレプリカを一覧表示します。 リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID INSTANCE_ID : インスタンス ID HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "replicaNames": [ "REPLICA_NAME " ] } すべてのレプリカを削除します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID REPLICA_ID : レプリカ ID HTTP メソッドと URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID " PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "DELETE_BACKUP", "name": "OPERATION_ID ", "targetId": "REPLICA_ID ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " } レプリカごとに繰り返します。
使用する最終バックアップの ID を取得するには、ソース インスタンスのバックアップを一覧表示します。 リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID INSTANCE_ID : インスタンス ID HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID ' リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '" PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "name": "projects/PROJECT_ID /backups/BACKUP_ID ", "kind": "sql#backup", "state": "SUCCESSFUL", "backupInterval": { "startTime": "2020-01-21T11:25:33.858Z", "endTime": "2020-01-21T11:26:18.663Z", } "type": "FINAL", "instance": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ", "location": "us" "description": "This is a final backup.", "backupKind": "SNAPSHOT", "dataDiskSizeGB": "10", "expiryTime": "2020-01-30T11:26:18.663Z", "backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ", "satisfies_pzs": false, "satisfies_pzi": false } 復元が必要なインスタンスのバックアップを見つけます。 バックアップからターゲット インスタンスを復元します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID TARGET_INSTANCE_ID : ターゲット インスタンス ID BACKUP_ID : バックアップ ID HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup リクエストの本文(JSON):
{ backup: projects/PROJECT_ID /backups/BACKUP_ID } リクエストを送信するには、次のいずれかのオプションを展開します。
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://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" 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://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_BACKUP", "name": "OPERATION_ID ", "targetId": "TARGET_INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " } 復元オペレーションが完了したら、この手順で削除したレプリカを再作成します。 別のプロジェクトのインスタンスに復元する 別のプロジェクトのインスタンスにデータを復元するユーザーには、cloudsql.instances.restoreBackup
権限、ターゲット プロジェクトに対する cloudsql.instances.create
権限、ソース インスタンスに対する cloudsql.backupRuns.get
権限が必要です。これらの権限は、Cloud SQL Admin
ロールに含まれています。
警告: 復元プロセスでは、インスタンスに現在あるデータ(以前のポイントインタイム リカバリ(PITR)ログなど)がすべて上書きされます。インスタンスの以前のオンデマンド バックアップと自動バックアップは保持されます。 別のプロジェクトのインスタンスにデータを復元するには:
REST v1 最終バックアップの backupId
を取得するには、以下を実行します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID INSTANCE_ID : インスタンス ID HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID ' リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '" PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "name": "projects/PROJECT_ID /backups/BACKUP_ID ", "kind": "sql#backup", "state": "SUCCESSFUL", "backupInterval": { "startTime": "2020-01-21T11:25:33.858Z", "endTime": "2020-01-21T11:26:18.663Z", } "type": "FINAL", "instance": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ", "location": "us" "description": "This is a final backup.", "backupKind": "SNAPSHOT", "dataDiskSizeGB": "10", "expiryTime": "2020-01-30T11:26:18.663Z", "backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ", "satisfies_pzs": false, "satisfies_pzi": false } バックアップを別のプロジェクトのインスタンスに復元します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID TARGET_INSTANCE_ID : ターゲット インスタンス ID BACKUP_ID : バックアップ ID HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup リクエストの本文(JSON):
{ backup: projects/PROJECT_ID /backups/BACKUP_ID } リクエストを送信するには、次のいずれかのオプションを展開します。
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://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" 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://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_BACKUP", "name": "OPERATION_ID ", "targetId": "TARGET_INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " } project
プロパティについて詳しくは、restoreBackup をご覧ください。 REST v1beta4 最終バックアップの backupId
を取得するには、以下を実行します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID INSTANCE_ID : インスタンス ID HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID ' リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '" PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "name": "projects/PROJECT_ID /backups/BACKUP_ID ", "kind": "sql#backup", "state": "SUCCESSFUL", "backupInterval": { "startTime": "2020-01-21T11:25:33.858Z", "endTime": "2020-01-21T11:26:18.663Z", } "type": "FINAL", "instance": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ", "location": "us" "description": "This is a final backup.", "backupKind": "SNAPSHOT", "dataDiskSizeGB": "10", "expiryTime": "2020-01-30T11:26:18.663Z", "backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ", "satisfies_pzs": false, "satisfies_pzi": false } バックアップを別のプロジェクトのインスタンスに復元します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID TARGET_INSTANCE_ID : ターゲット インスタンス ID BACKUP_ID : バックアップ ID HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup リクエストの本文(JSON):
{ backup: projects/PROJECT_ID /backups/BACKUP_ID } リクエストを送信するには、次のいずれかのオプションを展開します。
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://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" 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://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_BACKUP", "name": "OPERATION_ID ", "targetId": "TARGET_INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " } project
プロパティについて詳しくは、restoreBackup をご覧ください。 別のリージョンの新しいインスタンスに復元する 別のリージョンの新しいインスタンスにデータを復元するユーザーには、ターゲット プロジェクトに対する cloudsql.instances.restoreBackup
権限と、ソース インスタンスに対する cloudsql.backupRuns.get
権限が必要です。これらの権限は、Cloud SQL Admin
ロールに含まれています。
また、別のリージョンにインスタンスを作成するには、そのリージョンの組織のポリシー の条件を満たす必要があります。
別のリージョンの新しいインスタンスにデータを復元するには:
gcloud ソース インスタンスの最終バックアップを一覧表示するには、gcloud sql backups list
コマンドを使用します。
gcloud sql backups list \ --filter= 'type:FINAL instance: SOURCE_INSTANCE_NAME ' 使用するバックアップを見つけ、その NAME
値を記録します。 最終バックアップを使用して、別のリージョンの新しいインスタンスにデータを復元するには、gcloud sql backups restore
コマンドを使用します。
gcloud sql backups restore BACKUP_NAME \ --restore-instance= TARGET_INSTANCE_NAME \ --region= TARGET_REGION REST v1 最終バックアップの backupId
を取得するには、以下を実行します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID INSTANCE_ID : インスタンス ID HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID ' リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '" PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "name": "projects/PROJECT_ID /backups/BACKUP_ID ", "kind": "sql#backup", "state": "SUCCESSFUL", "backupInterval": { "startTime": "2020-01-21T11:25:33.858Z", "endTime": "2020-01-21T11:26:18.663Z", } "type": "FINAL", "instance": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ", "location": "us" "description": "This is a final backup.", "backupKind": "SNAPSHOT", "dataDiskSizeGB": "10", "expiryTime": "2020-01-30T11:26:18.663Z", "backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ", "satisfies_pzs": false, "satisfies_pzi": false } バックアップを別のリージョンの新しいインスタンスに復元します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID TARGET_INSTANCE_ID : ターゲット インスタンス ID BACKUP_ID : バックアップ ID REGION : ターゲット インスタンスのリージョン(例: us-central1
) HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup リクエストの本文(JSON):
{ backup: projects/PROJECT_ID /backups/BACKUP_ID restore_instance_settings: { region: REGION } } リクエストを送信するには、次のいずれかのオプションを展開します。
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://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" 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://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_BACKUP", "name": "OPERATION_ID ", "targetId": "TARGET_INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " } project
プロパティについて詳しくは、restoreBackup をご覧ください。 REST v1beta4 最終バックアップの backupId
を取得するには、以下を実行します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID INSTANCE_ID : インスタンス ID HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID ' リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '" PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "name": "projects/PROJECT_ID /backups/BACKUP_ID ", "kind": "sql#backup", "state": "SUCCESSFUL", "backupInterval": { "startTime": "2020-01-21T11:25:33.858Z", "endTime": "2020-01-21T11:26:18.663Z", } "type": "FINAL", "instance": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ", "location": "us" "description": "This is a final backup.", "backupKind": "SNAPSHOT", "dataDiskSizeGB": "10", "expiryTime": "2020-01-30T11:26:18.663Z", "backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ", "satisfies_pzs": false, "satisfies_pzi": false } バックアップを別のリージョンの新しいインスタンスに復元します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID TARGET_INSTANCE_ID : ターゲット インスタンス ID BACKUP_ID : バックアップ ID REGION : ターゲット インスタンスのリージョン(例: us-central1
) HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup リクエストの本文(JSON):
{ backup: projects/PROJECT_ID /backups/BACKUP_ID restore_instance_settings: { region: REGION } } リクエストを送信するには、次のいずれかのオプションを展開します。
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://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" 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://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_BACKUP", "name": "OPERATION_ID ", "targetId": "TARGET_INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " } project
プロパティについて詳しくは、restoreBackup をご覧ください。 保持されたバックアップから復元する 保持されたバックアップ は、次のような場合に使用できます。
保持されたバックアップを新しいインスタンスに復元する 保持されたバックアップを既存のインスタンスに復元する 別のプロジェクトまたはリージョンの新しいインスタンスまたは既存のインスタンスに復元する 削除されたインスタンスの保持されたバックアップを使用してインスタンスを復元するため、このバックアップを使用して、削除されたインスタンスの構成でインスタンスを作成し、データを復元することもできます。
注: 最終バックアップから作成するインスタンスの IP アドレスは、最終バックアップが取得されたインスタンスの IP アドレスとは異なります。インスタンスの復元については、復元の実行についての全般的なヒント をご覧ください。 保持されたバックアップを新しいインスタンスとして復元する 保持されたバックアップから新しいインスタンスを作成すると、Cloud SQL は保持されたバックアップが取得されたインスタンスの構成設定を使用します。
保持されたバックアップから新しいインスタンスにデータを復元するには、cloudsql.instances.create
権限が必要です。
コンソール
Google Cloud コンソールで、Cloud SQL の [バックアップ ] ページに移動します。
Cloud SQL の [バックアップ] に移動
復元するバックアップを含む削除されたインスタンスの名前をクリックします。
復元するバックアップの名前を見つけて、[復元 ] をクリックします。
[バックアップからのインスタンスの復元 ] ページの [バックアップの詳細を確認 ] で、正しいバックアップを選択していることを確認します。
[復元先の選択 ] で、[新しいインスタンスに復元する ] を選択します。
[リージョン ] メニューから、新しいインスタンスのリージョンを選択します。
[インスタンス ID ] フィールドに、新しいインスタンスの ID を入力します。
[復元 ] をクリックします。
Cloud SQL はバックアップを新しいインスタンスに復元します。復元オペレーションのステータスを確認するには、インスタンスの [オペレーション ] ページに移動します。
gcloud gcloud sql backups list
を使用して、新しいインスタンスに保存するバックアップを見つけます。
gcloud sql backups list --project=PROJECT_ID
次のように置き換えます。
PROJECT_ID
: 実際の Google Cloud プロジェクト ID。 使用するバックアップを見つけ、その BACKUP_NAME
値を記録します。
新しいインスタンスに復元するには、gcloud sql backups restore
コマンドを使用します。
gcloud sql backups restore BACKUP_NAME --restore-instance=TARGET_INSTANCE_NAME
次のように置き換えます。
REST v1 指定した保持されたバックアップから新しいインスタンスを復元する
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID TARGET_INSTANCE_ID : ターゲット インスタンス ID BACKUP_ID バックアップ ID 注: restore_instance_settings: {}
行のコードにより、Cloud SQL はバックアップから新しいインスタンスにデータを復元できます。 HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup リクエストの本文(JSON):
{ backup: projects/PROJECT_ID /backups/BACKUP_ID restore_instance_settings: {} } リクエストを送信するには、次のいずれかのオプションを展開します。
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://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" 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://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_BACKUP", "name": "OPERATION_ID ", "targetId": "TARGET_INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " }
REST v1beta4 指定した保持されたバックアップから新しいインスタンスを復元する
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID TARGET_INSTANCE_ID : ターゲット インスタンス ID BACKUP_ID バックアップ ID 注: restore_instance_settings: {}
行のコードにより、Cloud SQL はバックアップから新しいインスタンスにデータを復元できます。 HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup リクエストの本文(JSON):
{ backup: projects/PROJECT_ID /backups/BACKUP_ID restore_instance_settings: {} } リクエストを送信するには、次のいずれかのオプションを展開します。
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://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" 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://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_BACKUP", "name": "OPERATION_ID ", "targetId": "TARGET_INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " }
保持されたバックアップを既存のインスタンスに復元する 保持されたバックアップから既存のインスタンスにデータを復元すると、ターゲット インスタンス上のデータが、バックアップを作成したときのソース インスタンスの状態に更新されます。
警告: 復元プロセスでは、インスタンスに現在あるデータ(以前のポイントインタイム リカバリ(PITR)ログなど)がすべて上書きされます。インスタンスの以前のオンデマンド バックアップと自動バックアップは保持されます。 コンソール
Google Cloud コンソールで、Cloud SQL の [インスタンス ] ページに移動します。
Cloud SQL の [インスタンス] に移動
ターゲット インスタンスにリードレプリカがある場合は、その他の操作メニュー を使用して削除します。保持されたバックアップを既存のインスタンスに復元する前に、すべてのレプリカを削除する必要があります。
Google Cloud コンソールで、Cloud SQL の [バックアップ ] ページに移動します。
Cloud SQL の [バックアップ] に移動
復元するバックアップを含む削除されたインスタンスの名前をクリックします。
復元するバックアップの名前を見つけて、[復元 ] をクリックします。
[バックアップからのインスタンスの復元 ] ページの [バックアップの詳細を確認 ] で、正しいバックアップを選択していることを確認します。
[復元先の選択 ] で、[既存のインスタンスを上書きする ] を選択します。
[上書きされるインスタンス ] メニューから、復元に使用するインスタンスを選択します。選択したインスタンスとそのすべてのデータが上書きされます。
選択を確定するには、上書きするインスタンスの名前を [移行先インスタンス ID ] フィールドに入力します。
[復元 ] をクリックします。
Cloud SQL はバックアップを新しいインスタンスに復元します。復元オペレーションのステータスを確認するには、インスタンスの [オペレーション ] ページに移動します。
復元オペレーションが完了したら、レプリカを作成できます。
gcloud gcloud sql instances describe
コマンドを使用して、ターゲット インスタンスにリードレプリカがあるかどうかを確認します。
gcloud sql instance describe TARGET_INSTANCE_NAME
次のように置き換えます。
TARGET_INSTANCE_NAME
: バックアップを復元するターゲット インスタンスの名前。 gcloud sql instances delete
コマンドを使用して、ターゲット インスタンスのすべてのレプリカを削除します。
gcloud sql instance delete REPLICA_NAME
次のように置き換えます。
REPLICA_NAME
: 削除するターゲット インスタンスのレプリカの名前。 既存のインスタンスに復元する前に、すべてのレプリカを削除する必要があります。
gcloud sql backups list
を使用して、新しいインスタンスに保存するバックアップを見つけます。
gcloud sql backups list --project=PROJECT_ID
次のように置き換えます。
PROJECT_ID
: 実際の Google Cloud プロジェクト ID。 使用するバックアップを見つけ、その BACKUP_NAME
値を記録します。
新しいインスタンスに復元するには、gcloud sql backups restore
コマンドを使用します。
gcloud sql backups restore BACKUP_NAME --restore-instance=TARGET_INSTANCE_NAME
次のように置き換えます。
復元オペレーションが完了したら、削除されたレプリカを再作成します。
REST v1 インスタンスにリードレプリカがあるかどうかを確認し、これらのレプリカの ID を取得するには、ターゲット インスタンスのすべてのレプリカを一覧表示します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID INSTANCE_ID : インスタンス ID HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "replicaNames": [ "REPLICA_NAME " ] }
ターゲット インスタンスのすべてのレプリカを削除します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID REPLICA_ID : レプリカ ID HTTP メソッドと URL:
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID " PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "DELETE_BACKUP", "name": "OPERATION_ID ", "targetId": "REPLICA_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " }
復元する保持されたバックアップの ID を取得します。
リクエストのデータを使用する前に、次のように置き換えます。
HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups" PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "name": "projects/PROJECT_ID /backups/BACKUP_ID ", "kind": "sql#backup", "state": "SUCCESSFUL", "backupInterval": { "startTime": "2020-01-21T11:25:33.858Z", "endTime": "2020-01-21T11:26:18.663Z", } "type": "FINAL", "instance": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ", "location": "us" "description": "This is a final backup.", "backupKind": "SNAPSHOT", "dataDiskSizeGB": "10", "expiryTime": "2020-01-30T11:26:18.663Z", "backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ", "satisfies_pzs": false, "satisfies_pzi": false }
保持されたバックアップからターゲット インスタンスを復元します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID TARGET_INSTANCE_ID : ターゲット インスタンス ID BACKUP_ID : バックアップ ID HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup リクエストの本文(JSON):
{ backup: projects/PROJECT_ID /backups/BACKUP_ID } リクエストを送信するには、次のいずれかのオプションを展開します。
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://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" 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://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_BACKUP", "name": "OPERATION_ID ", "targetId": "TARGET_INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " }
REST v1beta4 インスタンスにリードレプリカがあるかどうかを確認し、これらのレプリカの ID を取得するには、ターゲット インスタンスのすべてのレプリカを一覧表示します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID INSTANCE_ID : インスタンス ID HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "replicaNames": [ "REPLICA_NAME " ] }
ターゲット インスタンスのすべてのレプリカを削除します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID REPLICA_ID : レプリカ ID HTTP メソッドと URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID " PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "DELETE_BACKUP", "name": "OPERATION_ID ", "targetId": "REPLICA_ID ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " }
復元する保持されたバックアップの ID を取得します。
リクエストのデータを使用する前に、次のように置き換えます。
HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups" PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "name": "projects/PROJECT_ID /backups/BACKUP_ID ", "kind": "sql#backup", "state": "SUCCESSFUL", "backupInterval": { "startTime": "2020-01-21T11:25:33.858Z", "endTime": "2020-01-21T11:26:18.663Z", } "type": "FINAL", "instance": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ", "location": "us" "description": "This is a final backup.", "backupKind": "SNAPSHOT", "dataDiskSizeGB": "10", "expiryTime": "2020-01-30T11:26:18.663Z", "backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ", "satisfies_pzs": false, "satisfies_pzi": false }
保持されたバックアップからターゲット インスタンスを復元します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID TARGET_INSTANCE_ID : ターゲット インスタンス ID BACKUP_ID : バックアップ ID HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup リクエストの本文(JSON):
{ backup: projects/PROJECT_ID /backups/BACKUP_ID } リクエストを送信するには、次のいずれかのオプションを展開します。
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://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" 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://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_BACKUP", "name": "OPERATION_ID ", "targetId": "TARGET_INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " }
別のプロジェクトのインスタンスに復元する 別のプロジェクトの保持されたバックアップを使用してインスタンスを復元するには、次の権限が必要です。
別のプロジェクトに復元できるのは、gcloud CLI または Cloud SQL API を使用した場合のみです。
gcloud gcloud sql backups list
を使用して、新しいインスタンスに保存するバックアップを見つけます。
gcloud sql backups list --project=PROJECT_ID
次のように置き換えます。
PROJECT_ID
: 実際の Google Cloud プロジェクト ID。 使用するバックアップを見つけ、その BACKUP_NAME
値を記録します。
新しいインスタンスに復元するには、gcloud sql backups restore
コマンドを使用します。
gcloud sql backups restore BACKUP_ID --restore-instance=TARGET_INSTANCE_NAME
次のように置き換えます。
REST v1 保持されたバックアップの backupID
を取得するには、以下を実行します。
リクエストのデータを使用する前に、次のように置き換えます。
HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups" PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "name": "projects/PROJECT_ID /backups/BACKUP_ID ", "kind": "sql#backup", "state": "SUCCESSFUL", "backupInterval": { "startTime": "2020-01-21T11:25:33.858Z", "endTime": "2020-01-21T11:26:18.663Z", } "type": "FINAL", "instance": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ", "location": "us" "description": "This is a final backup.", "backupKind": "SNAPSHOT", "dataDiskSizeGB": "10", "expiryTime": "2020-01-30T11:26:18.663Z", "backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ", "satisfies_pzs": false, "satisfies_pzi": false }
別のプロジェクトに復元する
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID TARGET_INSTANCE_ID : ターゲット インスタンス ID BACKUP_ID : バックアップ ID HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup リクエストの本文(JSON):
{ backup: projects/PROJECT_ID /backups/BACKUP_ID } リクエストを送信するには、次のいずれかのオプションを展開します。
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://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" 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://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_BACKUP", "name": "OPERATION_ID ", "targetId": "TARGET_INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " }
REST v1beta4 保持されたバックアップの backupID
を取得するには、以下を実行します。
リクエストのデータを使用する前に、次のように置き換えます。
HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups" PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "name": "projects/PROJECT_ID /backups/BACKUP_ID ", "kind": "sql#backup", "state": "SUCCESSFUL", "backupInterval": { "startTime": "2020-01-21T11:25:33.858Z", "endTime": "2020-01-21T11:26:18.663Z", } "type": "FINAL", "instance": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ", "location": "us" "description": "This is a final backup.", "backupKind": "SNAPSHOT", "dataDiskSizeGB": "10", "expiryTime": "2020-01-30T11:26:18.663Z", "backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ", "satisfies_pzs": false, "satisfies_pzi": false }
別のプロジェクトに復元する
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID TARGET_INSTANCE_ID : ターゲット インスタンス ID BACKUP_ID : バックアップ ID HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup リクエストの本文(JSON):
{ backup: projects/PROJECT_ID /backups/BACKUP_ID } リクエストを送信するには、次のいずれかのオプションを展開します。
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://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" 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://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_BACKUP", "name": "OPERATION_ID ", "targetId": "TARGET_INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " }
別のリージョンのインスタンスに復元する 別のリージョンの保持されたバックアップを使用してインスタンスを復元するには、次の権限が必要です。
別のリージョンに復元できるのは、gcloud CLI または Cloud SQL API を使用した場合のみです。ターゲット リージョンは、リージョンの組織のポリシー を満たしている必要があります。
gcloud gcloud sql backups list
を使用して、新しいインスタンスに保存するバックアップを見つけます。
gcloud sql backups list --project=PROJECT_ID
次のように置き換えます。
PROJECT_ID
: 実際の Google Cloud プロジェクト ID。 使用するバックアップを見つけ、その NAME
値を記録します。
新しいインスタンスに復元するには、gcloud sql backups restore
コマンドを使用します。
gcloud sql backups restore BACKUP_ID -- restore - instance = TARGET_INSTANCE_NAME -- region = TARGET_REGION
次のように置き換えます。
BACKUP_ID
: 復元する保持されたバックアップの名前。
TARGET_INSTANCE_NAME
: バックアップを復元するターゲット プロジェクトにある新しいインスタンスの名前。
TARGET_REGION
: バックアップを復元する新しいリージョン。
REST v1 保持されたバックアップの backupID
を取得するには、以下を実行します。
リクエストのデータを使用する前に、次のように置き換えます。
HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups" PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "name": "projects/PROJECT_ID /backups/BACKUP_ID ", "kind": "sql#backup", "state": "SUCCESSFUL", "backupInterval": { "startTime": "2020-01-21T11:25:33.858Z", "endTime": "2020-01-21T11:26:18.663Z", } "type": "FINAL", "instance": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ", "location": "us" "description": "This is a final backup.", "backupKind": "SNAPSHOT", "dataDiskSizeGB": "10", "expiryTime": "2020-01-30T11:26:18.663Z", "backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ", "satisfies_pzs": false, "satisfies_pzi": false }
別のプロジェクトに復元する
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID TARGET_INSTANCE_ID : ターゲット インスタンス ID BACKUP_ID : バックアップ ID REGION : ターゲット インスタンスのリージョン(例: us-central1
) HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup リクエストの本文(JSON):
{ backup: projects/PROJECT_ID /backups/BACKUP_ID restore_instance_settings: { region: REGION } } リクエストを送信するには、次のいずれかのオプションを展開します。
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://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" 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://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_BACKUP", "name": "OPERATION_ID ", "targetId": "TARGET_INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " }
REST v1beta4 保持されたバックアップの backupID
を取得するには、以下を実行します。
リクエストのデータを使用する前に、次のように置き換えます。
HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell) 次のコマンドを実行します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups" PowerShell(Windows) 次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "name": "projects/PROJECT_ID /backups/BACKUP_ID ", "kind": "sql#backup", "state": "SUCCESSFUL", "backupInterval": { "startTime": "2020-01-21T11:25:33.858Z", "endTime": "2020-01-21T11:26:18.663Z", } "type": "FINAL", "instance": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ", "location": "us" "description": "This is a final backup.", "backupKind": "SNAPSHOT", "dataDiskSizeGB": "10", "expiryTime": "2020-01-30T11:26:18.663Z", "backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ", "satisfies_pzs": false, "satisfies_pzi": false }
別のプロジェクトに復元する
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID : プロジェクト ID TARGET_INSTANCE_ID : ターゲット インスタンス ID BACKUP_ID : バックアップ ID REGION : ターゲット インスタンスのリージョン(例: us-central1
) HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup リクエストの本文(JSON):
{ backup: projects/PROJECT_ID /backups/BACKUP_ID restore_instance_settings: { region: REGION } } リクエストを送信するには、次のいずれかのオプションを展開します。
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://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" 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://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content 次のような JSON レスポンスが返されます。
レスポンス
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_BACKUP", "name": "OPERATION_ID ", "targetId": "TARGET_INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " }
ポイントインタイム リカバリを実行する ポイントインタイム リカバリを実行するには、ポイントインタイム リカバリ をご覧ください。
次のステップ