このページでは、バックアップからインスタンスを復元する方法について説明します。
復元オペレーションの詳細、ベスト プラクティス、要件については、インスタンスの復元の概要 をご覧ください。
オンデマンド バックアップまたは自動バックアップから復元する 
オンデマンド バックアップまたは自動バックアップは、次のような場合に使用できます。
同じプロジェクト内の別のインスタンスに復元する 
バックアップを取得した同じインスタンスに復元する 
別のプロジェクトまたはリージョンの別のインスタンスに復元する 
 
ポイントインタイム リカバリ(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": "user@example.com",
  "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": "user@example.com",
  "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": "user@example.com",
  "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": "user@example.com",
  "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": "user@example.com",
  "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": "user@example.com",
  "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": "user@example.com",
  "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": "user@example.com",
  "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": "user@example.com",
  "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": "user@example.com",
  "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": "user@example.com",
  "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": "user@example.com",
  "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": "user@example.com",
  "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": "user@example.com",
  "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": "user@example.com",
  "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": "user@example.com",
  "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": "user@example.com",
  "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": "user@example.com",
  "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": "user@example.com",
  "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": "user@example.com",
  "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": "user@example.com",
  "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": "user@example.com",
  "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": "user@example.com",
  "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": "user@example.com",
  "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_NAME 
--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": "user@example.com",
  "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": "user@example.com",
  "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_NAME  
-- restore - instance = TARGET_INSTANCE_NAME  
-- region = TARGET_REGION  
 
次のように置き換えます。
BACKUP_NAME : 復元する保持しているバックアップの名前。
 
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": "user@example.com",
  "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": "user@example.com",
  "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 "
}
  
 
 
 
Backup Vault のバックアップから復元する 
  
Cloud SQL インスタンスで拡張バックアップ の使用が有効になっている場合は、Backup Vault のバックアップからインスタンスを復元できます。インスタンスは次のような方法で復元できます。
新しいインスタンスに復元する 
既存のインスタンスに復元する 
別のプロジェクトの新しいインスタンスまたは既存のインスタンスに復元する 
 
Backup Vault から新しいインスタンスにバックアップを復元する 
バックアップから新しいインスタンスにデータを復元すると、ターゲット インスタンス上のデータが、バックアップを作成したときのソース インスタンスの状態に更新されます。
 コンソール 
 Google Cloud コンソールで、Cloud SQL の [バックアップ ] ページに移動します。
Cloud SQL の [バックアップ] に移動 
 
[バックアップ ティア ] プルダウンで [拡張ティア ] を選択し、使用するバックアップを含む Backup Vault  を選択します。
選択したインスタンスの Backup Vault で使用可能なすべてのバックアップが表示されます。
 
復元するバックアップの名前を見つけて、[復元 ] をクリックします。
 
[バックアップからのインスタンスの復元 ] ページの [バックアップの詳細を確認 ] で、正しいバックアップを選択していることを確認します。
 
[復元先の選択 ] で、[新しいインスタンスに復元する ] を選択し、次の項目を更新します。
[プロジェクト ] で、新しいインスタンスのプロジェクトを選択します。プロジェクトは Backup Vault と同じリージョンに存在し、プロジェクトにアクセスできる必要があります。
 
[リージョン ] で、リージョンを確認します。リージョンは、新しいインスタンスのリージョンと一致している必要があります。
 
[インスタンス ID ] ボックスに、新しいインスタンスの名前を入力します。この名前は永続的に使用され変更できません。
 
  
[復元 ] をクリックします。
Cloud SQL はバックアップを新しいインスタンスに復元します。復元オペレーションのステータスを確認するには、インスタンスの [オペレーション ] ページに移動します。
新しいインスタンスのデフォルトは、標準バックアップ オプションになっています。拡張バックアップに変更するには、拡張バックアップを有効にする をご覧ください。
復元オペレーションが完了したら、レプリカを作成できます。
 
  
gcloud 新しいインスタンスに復元するには、gcloud sql backups restore  コマンドを使用します。
gcloud sql backups restore BACKUP_ID 
--restore-instance=TARGET_INSTANCE_NAME 
 
次のように置き換えます。
 
 
Backup Vault から既存のインスタンスにバックアップを復元する 
保持されているバックアップから既存のインスタンスにデータを復元すると、ターゲット インスタンス上のデータが、バックアップを作成したときのソース インスタンスの状態に更新されます。
警告:  復元プロセスでは、インスタンスに現在あるデータ(以前のポイントインタイム リカバリ(PITR)ログなど)がすべて上書きされます。インスタンスの以前のオンデマンド バックアップと自動バックアップは保持されます。
 コンソール 
 Google Cloud コンソールで、Cloud SQL の [インスタンス ] ページに移動します。
Cloud SQL の [インスタンス] に移動 
 
ターゲット インスタンスにリードレプリカがある場合は、その他の操作メニュー   を使用して削除します。保持されたバックアップを既存のインスタンスに復元する前に、すべてのレプリカを削除する必要があります。
 
 Google Cloud コンソールで、Cloud SQL の [バックアップ ] ページに移動します。
Cloud SQL の [バックアップ] に移動 
 
[バックアップ ティア ] プルダウンで [拡張ティア ] を選択し、使用するバックアップを含む Backup Vault  を選択します。
選択したインスタンスの Backup Vault で使用可能なすべてのバックアップが表示されます。
 
復元するバックアップの名前を見つけて、[復元 ] をクリックします。
 
[バックアップからのインスタンスの復元 ] ページの [バックアップの詳細を確認 ] で、正しいバックアップを選択していることを確認します。
 
[復元先の選択 ] で、[既存のインスタンスを上書きする ] を選択します。
 
[上書きされるインスタンス ] メニューから、復元に使用するインスタンスを選択します。選択したインスタンスとそのすべてのデータが上書きされます。
 
選択を確定するには、上書きするインスタンスの名前を [移行先インスタンス ID ] フィールドに入力します。
 
[復元 ] をクリックします。
Cloud SQL はバックアップを既存のインスタンスに復元します。復元オペレーションのステータスを確認するには、インスタンスの [オペレーション ] ページに移動します。
復元オペレーションが完了したら、レプリカを作成できます。
 
  
gcloud Backup Vault から既存のインスタンスにバックアップを復元するには、次の操作を行います。
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 : ターゲット インスタンスのレプリカの名前。 
 
既存のインスタンスに復元する前に、すべてのレプリカを削除する必要があります。
 
インスタンスの Backup Vault 内のすべてのバックアップを表示する を参照して、使用するバックアップを見つけます。復元にはバックアップのフルパス アドレスが必要です。
 
既存のインスタンスに復元するには、gcloud sql backups restore  コマンドを使用します。
gcloud sql backups restore BACKUP_ID 
--restore-instance=TARGET_INSTANCE_NAME 
 
次のように置き換えます。
復元オペレーションが完了したら、削除されたレプリカを再作成します。
 
  
 
Backup Vault から別のプロジェクトの新規または既存のインスタンスにバックアップを復元する 
バックアップから別のプロジェクトの新しいインスタンスまたは既存のインスタンスにデータを復元すると、ターゲット インスタンス上のデータが、バックアップを作成したときのソース インスタンスの状態に更新されます。別のプロジェクトのインスタンスへの復元は、gcloud CLI  または Cloud SQL API を使用した場合のみ可能です。
警告:  復元プロセスでは、インスタンスに現在あるデータ(以前のポイントインタイム リカバリ(PITR)ログなど)がすべて上書きされます。インスタンスの以前のオンデマンド バックアップと自動バックアップは保持されます。 
gcloud Backup Vault から既存のインスタンスにバックアップを復元するには、次の操作を行います。
既存のインスタンスに復元する場合は、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 : ターゲット インスタンスのレプリカの名前。 
 
既存のインスタンスに復元する前に、すべてのレプリカを削除する必要があります。
 
インスタンスの Backup Vault 内のすべてのバックアップを表示する を参照して、復元するバックアップを見つけます。復元にはバックアップのフルパス アドレスが必要です。
 
新しいプロジェクトの新しいインスタンスまたは既存のインスタンスに復元するには、gcloud sql backups restore  コマンドを使用します。
gcloud sql backups restore BACKUP_ID 
--restore-instance=TARGET_INSTANCE_NAME 
--backup-instance=SOURCE_INSTANCE_NAME 
--backup-project=SOURCE_INSTANCE_PROJECT 
 
次のように置き換えます。
BACKUP_ID : Backup Vault のバックアップの ID。このフィールドにはバックアップのフルパスを入力する必要があります。
 
TARGET_INSTANCE_NAME : データを復元する宛先プロジェクト内のインスタンス。
 
SOURCE_INSTANCE_NAME : データが存在するソース プロジェクトのインスタンス名。
 
SOURCE_INSTANCE_PROJECT : ソース インスタンスを含むプロジェクト。
 
  
  
 
ポイントインタイム リカバリを実行する 
ポイントインタイム リカバリを実行するには、ポイントインタイム リカバリ をご覧ください。
次のステップ