オンデマンド バックアップと自動バックアップの作成と管理

このページでは、自動バックアップのスケジュールと無効化、オンデマンド バックアップの作成と管理、Cloud SQL インスタンスのバックアップの表示について説明します。

バックアップの詳細については、バックアップの概要をご覧ください。

オンデマンド バックアップを作成する

オンデマンド バックアップを作成するには:

Console

  1. Google Cloud Console で、Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンス名をクリックして [概要] ページを開きます。
  3. SQL ナビゲーション メニューから [バックアップ] を選択します。
  4. [バックアップを作成] をクリックします。
  5. [バックアップを作成] ページで、必要に応じて説明を追加し、[作成] をクリックします。

gcloud

バックアップを作成します。

gcloud sql backups create \
--async \
--instance=INSTANCE_NAME

--description パラメータを使用してバックアップの説明を入力できます。

カスタム ロケーションにバックアップを作成するには:

gcloud sql backups create \
--async \
--instance=INSTANCE_NAME \
--location=BACKUP_LOCATION

REST v1

リクエストのデータを使用する前に、次のように置き換えます。

  • project-id: プロジェクト ID
  • instance-id: インスタンス ID

HTTP メソッドと URL:

POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/backupRuns

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

REST v1beta4

リクエストのデータを使用する前に、次のように置き換えます。

  • project-id: プロジェクト ID
  • instance-id: インスタンス ID

HTTP メソッドと URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

自動バックアップのスケジュール

インスタンスの自動バックアップをスケジュールするには:

Console

  1. Google Cloud Console で、Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンス名をクリックして [概要] ページを開きます。
  3. SQL ナビゲーション メニューから [バックアップ] を選択します。
  4. [設定] の横にある [編集] をクリックします。
  5. データを自動的にバックアップする時間枠を選択します。
  6. [保存] をクリックします。

gcloud

  1. インスタンスを編集してバックアップ開始時間を指定します。
    gcloud sql instances patch INSTANCE_NAME --backup-start-time=HH:MM
    backup-start-time パラメータは UTC±00 タイムゾーンの 24 時間形式で指定し、4 時間のバックアップ時間枠の開始時刻を指定します。バックアップはバックアップ時間枠の任意の時刻に開始できます。
  2. 変更を確定します。
    gcloud sql instances describe INSTANCE_NAME
    backupConfiguration セクションで、enabled: true と指定した時刻が表示されていることを確認します。

REST v1

リクエストのデータを使用する前に、次のように置き換えます。

  • project-id: プロジェクト ID
  • instance-id: インスタンス ID(プライマリまたはレプリカ)
  • start-time: 「HH:MM」形式の時刻
  • enabled: プライマリ インスタンスの場合は true に設定します。レプリカ インスタンスの場合は false に設定します。

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

JSON 本文のリクエスト:

{
  "settings":
  {
    "backupConfiguration":
    {
      "startTime": "start-time",
      "enabled": enabled,
      "binaryLogEnabled": true
    }
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

REST v1beta4

backupConfiguration オブジェクト内で pointInTimeRecoveryEnabledtrue に設定すると、pointInTimeRecovery を同時に有効にできます。

リクエストのデータを使用する前に、次のように置き換えます。

  • project-id: プロジェクト ID
  • instance-id: インスタンス ID
  • start-time「HH:MM」形式の時刻

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

JSON 本文のリクエスト:

{
  "settings":
  {
    "backupConfiguration":
    {
      "startTime": "start-time",
      "enabled": true,
      "pointInTimeRecoveryEnabled": true
    }
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

バックアップのカスタム ロケーションの設定

規制で義務付けられている場合にのみ、カスタム バックアップ ロケーションを使用してください。規制で必要とされない場合は、デフォルトのマルチリージョン バックアップ ロケーションを使用します。

カスタム ロケーションは、オンデマンド バックアップと自動バックアップに使用できます。有効なロケーションの値の一覧については、インスタンスのロケーションをご覧ください。

カスタム ロケーションでインスタンスを更新するには:

Console

  1. Google Cloud Console で、Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンス名をクリックして [概要] ページを開きます。
  3. [編集] をクリックします。
  4. [構成オプション] セクションで、[バックアップ] を開きます。
  5. [ロケーション オプション] を開きます。
  6. [マルチリージョン(デフォルト)] または [リージョン] をクリックします。
  7. [ロケーション] プルダウン メニューからロケーションを選択します。
  8. [保存] をクリックします。

gcloud

リファレンス情報については、gcloud sql instances patch をご覧ください。

gcloud sql instances patch INSTANCE_NAME \
--backup-location=BACKUP_LOCATION
  

REST v1

バックアップ ロケーションにインスタンスの settings.backupConfiguration.location パラメータを使用します。

リクエストのデータを使用する前に、次のように置き換えます。

  • region: プロジェクトのリージョン
  • backup-region: バックアップのリージョン
  • project-id: プロジェクト ID
  • instance-id: インスタンス ID

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

JSON 本文のリクエスト:

{
  "region": "region"
  "settings":
  {
    "backupConfiguration":
    {
      "location": "backup-region",
      "enabled": true,
    }
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

REST v1beta4

バックアップ ロケーションにインスタンスの settings.backupConfiguration.location パラメータを使用します。

リクエストのデータを使用する前に、次のように置き換えます。

  • region: プロジェクトのリージョン
  • backup-region: バックアップのリージョン
  • project-id: プロジェクト ID
  • instance-id: インスタンス ID

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

JSON 本文のリクエスト:

{
  "region": "region"
  "settings":
  {
    "backupConfiguration":
    {
      "location": "backup-region",
      "enabled": true,
    }
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

バックアップのリストを表示する

バックアップのリストとバックアップの詳細を表示するには、次のオプションを使用します。

Cloud Console では、スキップされたバックアップまたは失敗したバックアップはバックアップ履歴に表示されません。スキップされたバックアップを表示するには、gcloud または API を使用します。

Console

  1. Google Cloud Console で、Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンス名をクリックして [概要] ページを開きます。
  3. SQL ナビゲーション メニューから [バックアップ] を選択して、最近のバックアップ、および作成日時とバックアップの種類を表示します。

gcloud

  • インスタンスのバックアップを一覧表示します。
    gcloud sql backups list \
    --instance INSTANCE_NAME
    

    標準リスト パラメータを使用して、結果のフィルタリングや制御を行うことができます。完全なリストについては、gcloud sql backups list コマンドのリファレンス ページをご覧ください。

  • backups list コマンドの出力からバックアップの ID を指定してバックアップの詳細を表示します。
    gcloud sql backups describe BACKUP_ID \
    --instance INSTANCE_NAME
        

REST v1

BackupRuns:list ページの API Explorer を使用して REST API リクエストを送信することもできます。

リクエストのデータを使用する前に、次のように置き換えます。

  • project-id: プロジェクト ID
  • instance-id: インスタンス ID

HTTP メソッドと URL:

GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/backupRuns

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

REST v1beta4

BackupRuns:list ページの API Explorer を使用して REST API リクエストを送信することもできます。

リクエストのデータを使用する前に、次のように置き換えます。

  • project-id: プロジェクト ID
  • instance-id: インスタンス ID

HTTP メソッドと URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

停止時にバックアップのリストを表示する

インスタンスが停止しているリージョンにある場合、backupRuns.list API でワイルドカード(-)を使用すると、そのインスタンスのバックアップのみを表示できます。ワイルドカードを使用すると、プロジェクト内のすべてのバックアップが返されます。その後、停止していないリージョンの新しいインスタンスや既存のインスタンスにバックアップを復元できます。別のインスタンスへの復元をご覧ください。

gcloud

  1. プロジェクト内のすべてのインスタンスのバックアップを一覧表示します。
    gcloud sql backups list --instance -

    コマンドから次のような情報が返されます。

    {
          "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"
        }
  2. 必要なインスタンスのバックアップを見つけます。このバックアップを復元するには、別のインスタンスへの復元をご覧ください。

REST v1

  1. プロジェクト内のすべてのバックアップを一覧表示します。

    リクエストのデータを使用する前に、次のように置き換えます。

    • project-id: プロジェクト ID
    • instance-id: インスタンス ID。プロジェクト内のすべてのバックアップのリストの場合は -

    HTTP メソッドと URL:

    GET https://sqladmin.googleapis.com/v1beta4/projects/project-id/instances/-/backupRuns

    リクエストを送信するには、次のいずれかのオプションを展開します。

    次のような JSON レスポンスが返されます。

  2. 必要なインスタンスのバックアップを見つけます。このバックアップを復元するには、別のインスタンスへの復元をご覧ください。

REST v1beta4

  1. プロジェクト内のすべてのバックアップを一覧表示します。

    リクエストのデータを使用する前に、次のように置き換えます。

    • project-id: プロジェクト ID
    • instance-id: インスタンス ID。プロジェクト内のすべてのバックアップのリストの場合は -

    HTTP メソッドと URL:

    GET https://sqladmin.googleapis.com/v2/projects/project-id/instances/-/backupRuns

    リクエストを送信するには、次のいずれかのオプションを展開します。

    次のような JSON レスポンスが返されます。

  2. 必要なインスタンスのバックアップを見つけます。このバックアップを復元するには、別のインスタンスへの復元をご覧ください。

バックアップのロケーショの表示

インスタンスに対して実行されたバックアップのロケーションを確認するには、次のように backupRuns を使用します。

Console

  1. Google Cloud Console で、Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンス名をクリックして [概要] ページを開きます。
  3. SQL ナビゲーション メニューから [バックアップ] を選択します。
  4. バックアップ リストの [ロケーション] 列には、各バックアップのロケーションのタイプ(マルチリージョンまたはリージョン)と特定のマルチリージョンまたはリージョンが表示されます。

gcloud

リファレンス情報については、gcloud sql instances describe をご覧ください。

  1. インスタンスのバックアップを一覧表示します。
    gcloud sql backups list \
    --instance INSTANCE_NAME
    

    標準リスト パラメータを使用して、結果のフィルタリングや制御を行うことができます。完全なリストについては、gcloud sql backups list コマンドのリファレンス ページをご覧ください。

  2. 特定のバックアップの詳細を一覧表示するには、backups list コマンドの出力の ID を使用します。
    gcloud sql backups describe BACKUP_ID \
    --instance INSTANCE_NAME
    

REST v1

リクエストのデータを使用する前に、次のように置き換えます。

  • project-id: プロジェクト ID
  • instance-id: インスタンス ID

HTTP メソッドと URL:

GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/backupRuns

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

前の例では:
  • REGION は元のインスタンスのリージョンです。
  • BACKUP_LOCATION は Cloud SQL でバックアップを保存するロケーションです。
 

REST v1beta4

リクエストのデータを使用する前に、次のように置き換えます。

  • project-id: プロジェクト ID
  • instance-id: インスタンス ID

HTTP メソッドと URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

前の例では:
  • REGION は元のインスタンスのリージョンです。
  • BACKUP_LOCATION は Cloud SQL でバックアップを保存するロケーションです。

自動バックアップ保持の設定

保持する自動バックアップの数を設定するには:

Console

  1. Google Cloud Console で、Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンス名をクリックして [概要] ページを開きます。
  3. SQL ナビゲーション メニューから [バックアップ] を選択します。
  4. [編集] をクリックします。
  5. [バックアップを自動化する] セクションで、[詳細オプション] を開きます。
  6. 一度に保存するバックアップの数を入力します。
  7. [保存] をクリックします。

gcloud

インスタンスを編集して、保持する自動バックアップの数を設定します。値はデフォルト(7)以上にする必要があります。

gcloud sql instances patch instance-name 
--retained-backups-count=num-to-retain

REST v1beta4

リクエストのデータを使用する前に、次のように置き換えます。

  • unit: 省略可。保持単位には整数または文字列を指定できます。現在サポートされている(デフォルトの)値は、1 または "COUNT" です。
  • num-to-retain: 保持する自動バックアップの数(1~365)
  • project-id: プロジェクト ID
  • instance-id: インスタンス ID

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

JSON 本文のリクエスト:

{
  "settings":
  {
    "backupConfiguration":
    {
      "backupRetentionSettings":
      {
        "retentionUnit": unit,
        "retainedBackups": "num-to-retain"
      }
    }
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

バックアップの削除

自動バックアップやオンデマンド バックアップは削除できます。

バックアップを削除しても、バックアップと同じサイズが解放されるとは限りません。これは、バックアップが増分バックアップであるため、古いバックアップが削除された場合、新しいバックアップに不整合が発生しないよう、古いバックアップの内容の一部が新しいバックアップに転送されるためです。

Console

  1. Google Cloud Console で、Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンス名をクリックして [概要] ページを開きます。
  3. SQL ナビゲーション メニューから [バックアップ] を選択します。
  4. 削除するバックアップのその他の操作アイコン(その他アイコン)をクリックします。
  5. [削除] を選択します。
  6. [バックアップを削除] ウィンドウで、フィールドに「Delete」と入力して [削除] をクリックします。

gcloud

Cloud SQL インスタンスのバックアップを削除します。

gcloud beta sql backups delete BACKUP_ID \
--instance INSTANCE_NAME
      

パラメータの完全なリストについては、gcloud beta sql backups delete コマンドのリファレンス ページをご覧ください。

REST v1

  1. バックアップを一覧表示して、削除するバックアップの ID を取得します。

    リクエストのデータを使用する前に、次のように置き換えます。

    • project-id: プロジェクト ID
    • instance-id: インスタンス ID

    HTTP メソッドと URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/backupRuns

    リクエストを送信するには、次のいずれかのオプションを展開します。

    次のような JSON レスポンスが返されます。

  2. バックアップを削除します。

    リクエストのデータを使用する前に、次のように置き換えます。

    • project-id: プロジェクト ID
    • instance-id: インスタンス ID
    • backup-id: バックアップ ID

    HTTP メソッドと URL:

    DELETE https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/backupRuns/backup-id

    リクエストを送信するには、次のいずれかのオプションを展開します。

    次のような JSON レスポンスが返されます。

REST v1beta4

  1. バックアップを一覧表示して、削除するバックアップの ID を取得します。

    リクエストのデータを使用する前に、次のように置き換えます。

    • project-id: プロジェクト ID
    • instance-id: インスタンス ID

    HTTP メソッドと URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns

    リクエストを送信するには、次のいずれかのオプションを展開します。

    次のような JSON レスポンスが返されます。

  2. バックアップを削除します。

    リクエストのデータを使用する前に、次のように置き換えます。

    • project-id: プロジェクト ID
    • instance-id: インスタンス ID
    • backup-id: バックアップ ID

    HTTP メソッドと URL:

    DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns/backup-id

    リクエストを送信するには、次のいずれかのオプションを展開します。

    次のような JSON レスポンスが返されます。

自動バックアップの無効化

インスタンスの自動バックアップを無効にするには:

Console

  1. Google Cloud Console で、Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンス名をクリックして [概要] ページを開きます。
  3. SQL ナビゲーション メニューから [バックアップ] を選択します。
  4. [自動バックアップを管理] をクリックします。
  5. [バックアップを自動化する] のチェックボックスをオフにします。
  6. [保存] をクリックします。

gcloud

インスタンスを編集してバックアップを無効にします。

gcloud sql instances patch INSTANCE_NAME 
--no-backup

REST v1

リクエストのデータを使用する前に、次のように置き換えます。

  • project-id: プロジェクト ID
  • instance-id: インスタンス ID

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

JSON 本文のリクエスト:

{
  "settings":
  {
    "backupConfiguration":
    {
      "enabled": false
    }
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

REST v1beta4

リクエストのデータを使用する前に、次のように置き換えます。

  • project-id: プロジェクト ID
  • instance-id: インスタンス ID

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

JSON 本文のリクエスト:

{
  "settings":
  {
    "backupConfiguration":
    {
      "enabled": false,
      "pointInTimeRecoveryEnabled": false
    }
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

ポイントインタイム リカバリ

ポイントインタイム リカバリの詳細をご覧ください。

次のステップ