標準バックアップを管理する

このページでは、標準バックアップ オプションを使用するインスタンスのバックアップを管理する方法について説明します。これには、自動バックアップのスケジュールと無効化、オンデマンド バックアップの作成と管理、Cloud SQL インスタンスのバックアップの表示が含まれます。インスタンスで拡張バックアップを使用している場合は、拡張バックアップを管理するをご覧ください。

バックアップの仕組みについて詳しくは、Cloud SQL バックアップの概要をご覧ください。Cloud SQL インスタンスで使用可能なバックアップ オプションの詳細については、バックアップ オプションを選択するをご覧ください。

オンデマンド バックアップの作成

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

コンソール

  1. Google Cloud コンソールで、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 レスポンスが返されます。

自動バックアップを構成する

自動バックアップは、インスタンスの実行中にスケジュールされた頻度で実行されます。自動バックアップの保持期間を設定することもできます。自動バックアップの仕組みについて詳しくは、自動バックアップをご覧ください。

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

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

コンソール

  1. Google Cloud コンソールで、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 と指定した時刻が表示されていることを確認します。

Terraform

データベースのバックアップを作成するには、Terraform リソースを使用します。

resource "google_sql_database_instance" "instance" {
  name             = "postgres-instance-backup"
  region           = "us-central1"
  database_version = "POSTGRES_14"
  settings {
    tier = "db-custom-2-7680"
    backup_configuration {
      enabled    = true
      start_time = "20:55"
    }
  }
  # set `deletion_protection` to true, will ensure that one cannot accidentally delete this instance by
  # use of Terraform whereas `deletion_protection_enabled` flag protects this instance at the GCP level.
  deletion_protection = false
}

変更を適用する

Google Cloud プロジェクトで Terraform 構成を適用するには、次のセクションの手順を完了します。

Cloud Shell を準備する

  1. Cloud Shell を起動します。
  2. Terraform 構成を適用するデフォルトの Google Cloud プロジェクトを設定します。

    このコマンドは、プロジェクトごとに 1 回だけ実行する必要があります。これは任意のディレクトリで実行できます。

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Terraform 構成ファイルに明示的な値を設定すると、環境変数がオーバーライドされます。

ディレクトリを準備する

Terraform 構成ファイルには独自のディレクトリ(ルート モジュールとも呼ばれます)が必要です。

  1. Cloud Shell で、ディレクトリを作成し、そのディレクトリ内に新しいファイルを作成します。ファイルの拡張子は .tf にする必要があります(例: main.tf)。このチュートリアルでは、このファイルを main.tf とします。
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. チュートリアルを使用している場合は、各セクションまたはステップのサンプルコードをコピーできます。

    新しく作成した main.tf にサンプルコードをコピーします。

    必要に応じて、GitHub からコードをコピーします。Terraform スニペットがエンドツーエンドのソリューションの一部である場合は、この方法をおすすめします。

  3. 環境に適用するサンプル パラメータを確認し、変更します。
  4. 変更を保存します。
  5. Terraform を初期化します。これは、ディレクトリごとに 1 回だけ行います。
    terraform init

    最新バージョンの Google プロバイダを使用する場合は、-upgrade オプションを使用します。

    terraform init -upgrade

変更を適用する

  1. 構成を確認して、Terraform が作成または更新するリソースが想定どおりであることを確認します。
    terraform plan

    必要に応じて構成を修正します。

  2. 次のコマンドを実行します。プロンプトで「yes」と入力して、Terraform 構成を適用します。
    terraform apply

    Terraform に「Apply complete!」というメッセージが表示されるまで待ちます。

  3. Google Cloud プロジェクトを開いて結果を表示します。 Google Cloud コンソールの UI でリソースに移動して、Terraform によって作成または更新されたことを確認します。

変更を削除する

変更を削除するには、次の手順を行います。

  1. 削除の保護を無効にするには、Terraform 構成ファイルで deletion_protection 引数を false に設定します。
    deletion_protection =  "false"
  2. 次のコマンドを実行します。プロンプトで「yes」と入力して、更新された Terraform 構成を適用します。
    terraform apply
  1. 次のコマンドを実行します。プロンプトで「yes」と入力して、以前に Terraform 構成で適用されたリソースを削除します。

    terraform destroy

REST v1

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

  • PROJECT_ID: インスタンスが含まれている Google Cloud プロジェクトの ID またはプロジェクト番号
  • INSTANCE_NAME: 高可用性構成を行うプライマリまたはリードレプリカ インスタンスの名前
  • START_TIME: 時刻(時と分)

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

リクエストの本文(JSON):

{
  "settings":
  {
    "backupConfiguration":
    {
      "startTime": "START_TIME",
      "enabled": true,
      "binaryLogEnabled": true
    }
  }
}

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

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

REST v1beta4

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

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

  • PROJECT_ID: インスタンスが含まれている Google Cloud プロジェクトの ID またはプロジェクト番号
  • INSTANCE_NAME: 高可用性構成を行うプライマリまたはリードレプリカ インスタンスの名前
  • START_TIME: 時刻(時と分)

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

リクエストの本文(JSON):

{
  "settings":
  {
    "backupConfiguration":
    {
      "startTime": "START_TIME",
      "enabled": true,
      "pointInTimeRecoveryEnabled": true
    }
  }
}

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

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

自動バックアップの保持期間を設定する

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

コンソール

  1. Google Cloud コンソールで、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

Terraform

データベース インスタンスのために保持する自動バックアップの数を指定するには、Terraform リソースを使用します。

resource "google_sql_database_instance" "default" {
  name             = "postgres-instance-backup-retention"
  region           = "us-central1"
  database_version = "POSTGRES_14"
  settings {
    tier = "db-custom-2-7680"
    backup_configuration {
      enabled = true
      backup_retention_settings {
        retained_backups = 365
        retention_unit   = "COUNT"
      }
    }
  }
}

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 レスポンスが返されます。

自動バックアップを無効にする

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

コンソール

  1. Google Cloud コンソールで、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 レスポンスが返されます。

バックアップを削除する

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

バックアップを削除しても、バックアップと同じサイズが解放されるとは限りません。これは、バックアップは増分で行われるため、新しいバックアップの整合性を維持する目的で、削除された古いバックアップの内容の一部が新しいバックアップに転送されるためです。

コンソール

  1. Google Cloud コンソールで、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 レスポンスが返されます。

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

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

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

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

コンソール

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

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

  2. インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
  3. SQL ナビゲーション メニューから [バックアップ] を選択します。
  4. [設定] の横にある [編集] をクリックします。
  5. [自動バックアップ] セクションで、[詳細オプション] を開きます。
  6. [マルチリージョン(デフォルト)] または [リージョン] をクリックします。
  7. [ロケーション] プルダウン メニューからロケーションを選択します。
  8. [保存] をクリックします。

gcloud

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

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

Terraform

データベース インスタンスのバックアップのカスタム ロケーションを指定するには、Terraform リソースを使用します。

resource "google_sql_database_instance" "default" {
  name             = "postgres-instance-with-backup-location"
  region           = "us-central1"
  database_version = "POSTGRES_14"
  settings {
    tier = "db-custom-2-7680"
    backup_configuration {
      enabled  = true
      location = "us-central1"
    }
  }
}

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 レスポンスが返されます。

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

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

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

コンソール

  1. Google Cloud コンソールで、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 でワイルドカード(-)を使用すると、そのインスタンスのバックアップのみを表示できます。ワイルドカードを使用すると、プロジェクト内のすべてのバックアップが返されます。別のインスタンスへの復元をご覧ください。

インスタンスに対して顧客管理の暗号鍵(CMEK)が有効になっているリージョンでサービスが停止している場合、そのインスタンスのバックアップを別のリージョンに復元することはできません。これは、インスタンスで CMEK が有効になっている場合、Cloud SQL が暗号化にリージョンの Cloud KMS 鍵を使用するためです。CMEK インスタンスのバックアップを復元するには、Cloud SQL に CMEK 鍵へのアクセス権が必要です。リージョンが停止した場合、そのリージョンの Cloud KMS 鍵にはアクセスできません。

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/v1/projects/PROJECT_ID/instances/-/backupRuns

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

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

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

REST v1beta4

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

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

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

    HTTP メソッドと URL:

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

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

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

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

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

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

コンソール

  1. Google Cloud コンソールで、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 でバックアップを保存するロケーションです。

バックアップ サイズを表示する

Cloud SQL インスタンスのバックアップのサイズは、gcloud CLI または API を使用して確認できます。

gcloud

  1. Google Cloud プロジェクトに関連付けられているすべてのバックアップのリストを取得するには、gcloud sql backups list コマンドを使用します。

    gcloud sql backups list
  2. バックアップのサイズを表示するには、gcloud sql backups describe コマンドを使用します。

    gcloud sql backups describe BACKUP_ID \
    --instance=INSTANCE_NAME \
    --project=PROJECT_ID

    次のように置き換えます。

    • BACKUP_ID: バックアップの ID。この ID は、gcloud sql backups list コマンドの実行結果から取得できます。
    • INSTANCE_NAME: インスタンスの名前。
    • PROJECT_ID: インスタンスが含まれている Google Cloud プロジェクトの ID またはプロジェクト番号

    出力で、maxChargeableBytes パラメータにバックアップのサイズ(バイト単位)が表示されます。

REST

バックアップのリストを取得する

この例では、 Google Cloud プロジェクトに関連付けられているすべてのバックアップのリストを取得します。この呼び出しのパラメータの完全なリストについては、backupRuns.list ページをご覧ください。

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

  • PROJECT_ID: インスタンスが含まれている Google Cloud プロジェクトの ID またはプロジェクト番号
  • INSTANCE_NAME: インスタンスの名前

HTTP メソッドと URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/backupRuns

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

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

バックアップの詳細を表示する

この例では、バックアップのサイズなど、バックアップの詳細を表示します。この呼び出しのパラメータの完全なリストについては、backupRuns.get ページをご覧ください。

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

  • PROJECT_ID: インスタンスが含まれている Google Cloud プロジェクトの ID またはプロジェクト番号
  • INSTANCE_NAME: インスタンスの名前。
  • BACKUP_ID: バックアップ ID。この ID は、前の呼び出しの実行の出力から取得します。

HTTP メソッドと URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/backupRuns/BACKUP_ID

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

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

最終バックアップを構成する

最終バックアップ インスタンスの設定を有効にして最終バックアップの保持期間を設定すると、インスタンスでバックアップを自動的に取得するように設定できます。削除前にインスタンスの最終バックアップを有効にしていない場合は、インスタンスを削除するときに最終バックアップを作成することもできます。最終バックアップの仕組みの詳細については、最終バックアップをご覧ください。

インスタンスの削除後に最終バックアップを管理するには、削除されたインスタンスのバックアップを管理するをご覧ください。

最終バックアップを有効にする

インスタンスの最終バックアップを有効にするには、次の操作を行います。

コンソール

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

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

  2. 最終バックアップを有効にするインスタンスを見つけます。インスタンスの [概要] ページを開くには、インスタンス名をクリックします。

  3. [編集] をクリックします。

  4. [インスタンスのカスタマイズ] で、[データ保護] を開きます。

  5. 最終バックアップを有効にするには、[インスタンス削除保護] の [インスタンス削除時の最終バックアップ] のチェックボックスをオンにします。

    デフォルトの保持期間は 30 日です。これを変更するには、[保持日数] ボックスに 1 ~ 365 の数値を入力します。

  6. [保存] をクリックします。

gcloud

gcloud sql instances コマンドを使用して、最終バックアップを有効にします。

  gcloud sql instances patch INSTANCE_NAME \
  --final-backup \
  --final-backup-retention-days=RETENTION_DAYS

次のように置き換えます。

  • INSTANCE_NAME: Cloud SQL インスタンスの名前。
  • RETENTION_DAYS: 最終バックアップを保持する日数。1 ~ 365 日の範囲で指定できます。デフォルトは 30 日です。

REST v1

最終バックアップを有効にするには、次の操作を行います。

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

  • PROJECT_ID: プロジェクト ID
  • INSTANCE_ID: インスタンス ID
  • RETENTION_DAYS: 最終バックアップを保持する日数

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID

リクエストの本文(JSON):

{
  "settings": {
    "FinalBackupConfig": {
      "enabled": true,
      "retentionDays: RETENTION_DAYS
    }
  }
}

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta

最終バックアップを有効にするには、次の操作を行います。

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

  • PROJECT_ID: プロジェクト ID
  • INSTANCE_ID: インスタンス ID
  • RETENTION_DAYS: 最終バックアップを保持する日数

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

リクエストの本文(JSON):

{
  "settings": {
    "FinalBackupConfig": {
      "enabled": true,
      "retentionDays: RETENTION_DAYS
    }
  }
}

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

次のような 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-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

最終バックアップの保持期間を設定する

インスタンスの最終バックアップの保持期間を設定する手順は次のとおりです。

コンソール

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

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

  2. 最終バックアップを有効にするインスタンスを見つけます。インスタンスの [概要] ページを開くには、インスタンス名をクリックします。

  3. [編集] をクリックします。

  4. [インスタンスのカスタマイズ] で、[データ保護] を開きます。

  5. 最終バックアップの保持期間を変更するには、[インスタンス削除後の最終バックアップ] 設定の [保持日数] ボックスに 1 ~ 365 の数値を入力します。

    デフォルトの保持期間は 30 日です。

  6. [保存] をクリックします。

gcloud

gcloud sql instances コマンドを使用して、最終バックアップの保持日数の設定を更新します。

  gcloud sql instances patch INSTANCE_NAME \
  --final-backup-retention-days=RETENTION_DAYS

次のように置き換えます。

  • INSTANCE_NAME: Cloud SQL インスタンスの名前。
  • RETENTION_DAYS: 最終バックアップを保持する日数。1 ~ 365 日の範囲で指定できます。デフォルトは 30 日です。

REST v1

最終バックアップの保持日数の設定を更新する手順は次のとおりです。

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

  • PROJECT_ID: プロジェクト ID
  • INSTANCE_ID: インスタンス ID
  • RETENTION_DAYS: 最終バックアップを保持する日数

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID

リクエストの本文(JSON):

{
  "settings": {
    "FinalBackupConfig": {
      "retentionDays: RETENTION_DAYS
    }
  }
}

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta

最終バックアップの保持日数の設定を更新する手順は次のとおりです。

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

  • PROJECT_ID: プロジェクト ID
  • INSTANCE_ID: インスタンス ID
  • RETENTION_DAYS: 最終バックアップを保持する日数

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

リクエストの本文(JSON):

{
  "settings": {
    "FinalBackupConfig": {
      "retentionDays: RETENTION_DAYS
    }
  }
}

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

次のような 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-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

最終バックアップを無効にする

インスタンスの最終バックアップを無効にするには、次の操作を行います。

コンソール

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

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

  2. 最終バックアップを有効にするインスタンスを見つけます。インスタンスの [概要] ページを開くには、インスタンス名をクリックします。

  3. [編集] をクリックします。

  4. [インスタンスのカスタマイズ] で、[データ保護] を開きます。

  5. 最終バックアップを無効にするには、[インスタンス削除保護] の [インスタンス削除時の最終バックアップ] のチェックボックスをオフにします。

  6. [保存] をクリックします。

gcloud

gcloud sql instances コマンドを使用して、最終バックアップを無効にします。

  gcloud sql instances patch INSTANCE_NAME \
  --no-final-backup

次のように置き換えます。

  • INSTANCE_NAME: Cloud SQL インスタンスの名前。

REST v1

最終バックアップを無効にするには、次の操作を行います。

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

  • PROJECT_ID: プロジェクト ID
  • INSTANCE_ID: インスタンス ID

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID

リクエストの本文(JSON):

{
  "settings": {
    "FinalBackupConfig": {
      "enabled": false
    }
  }
}

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta

最終バックアップを無効にするには、次の操作を行います。

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

  • PROJECT_ID: プロジェクト ID
  • INSTANCE_ID: インスタンス ID

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

リクエストの本文(JSON):

{
  "settings": {
    "FinalBackupConfig": {
      "enabled": false
    }
  }s
}

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

次のような 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-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

保持されたバックアップを構成する

インスタンスを削除するときに、すべての自動バックアップとオンデマンド バックアップを自動的に保持するようにインスタンスを設定できます。これらのバックアップは、削除時のバックアップの保持期間に基づいて保持されます。最終バックアップの仕組みの詳細については、最終バックアップをご覧ください。

インスタンスの削除後に保持されたバックアップを管理するには、削除されたインスタンスのバックアップを管理するをご覧ください。

保持されているバックアップを有効にする

インスタンスの保持バックアップを有効にするには、次の操作を行います。

コンソール

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

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

  2. 保持されているバックアップを有効にするインスタンスを見つけます。インスタンスの [概要] ページを開くには、インスタンス名をクリックします。

  3. [編集] をクリックします。

  4. [インスタンスのカスタマイズ] で、[データ保護] を開きます。

  5. 保持バックアップを有効にするには、[インスタンスの削除保護] で [インスタンスの削除後もバックアップを保持する] チェックボックスをオンにします。

  6. [保存] をクリックします。

gcloud

gcloud sql instances コマンドを使用して、保持されたバックアップを有効にします。

  gcloud sql instances patch INSTANCE_NAME \
  --retain-backups-on-delete

次のように置き換えます。

  • INSTANCE_NAME: Cloud SQL インスタンスの名前。

REST v1

保持されたバックアップを有効にするには、次の操作を行います。

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

  • PROJECT_ID: プロジェクト ID
  • INSTANCE_ID: インスタンス ID

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID

リクエストの本文(JSON):

{
  "settings": {
    "retainBackupsOnDelete": true
    }
  }

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta

保持されたバックアップを有効にするには、次の操作を行います。

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

  • PROJECT_ID: プロジェクト ID
  • INSTANCE_ID: インスタンス ID

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

リクエストの本文(JSON):

{
  "settings": {
    "retainBackupsOnDelete": true
    }
  }

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

次のような 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-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

保持されているバックアップを無効にする

インスタンスの保持されているバックアップを無効にするには、次の操作を行います。

コンソール

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

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

  2. 保持されているバックアップを有効にするインスタンスを見つけます。インスタンスの [概要] ページを開くには、インスタンス名をクリックします。

  3. [編集] をクリックします。

  4. [インスタンスのカスタマイズ] で、[データ保護] を開きます。

  5. 保持バックアップを無効にするには、[インスタンスの削除保護] で [インスタンスの削除後もバックアップを保持する] のチェックボックスをオフにします。

  6. [保存] をクリックします。

gcloud

gcloud sql instances コマンドを使用して、保持されているバックアップを無効にします。

  gcloud sql instances patch INSTANCE_NAME \
  --no-retain-backups-on-delete

次のように置き換えます。

  • INSTANCE_NAME: Cloud SQL インスタンスの名前。

REST v1

保持されたバックアップを無効にするには、次の操作を行います。

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

  • PROJECT_ID: プロジェクト ID
  • INSTANCE_ID: インスタンス ID

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID

リクエストの本文(JSON):

{
  "settings": {
    "retainBackupsOnDelete": false
    }
  }

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta

保持されたバックアップを無効にするには、次の操作を行います。

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

  • PROJECT_ID: プロジェクト ID
  • INSTANCE_ID: インスタンス ID

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

リクエストの本文(JSON):

{
  "settings": {
    "retainBackupsOnDelete": true
    }
  }

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

次のような 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-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

次のステップ