最終バックアップを管理する

このページでは、Cloud SQL インスタンスの最終バックアップを管理する方法について説明します。インスタンスを削除する前に、インスタンスの最終的なバックアップを作成できます。その後、最後のバックアップを新しいインスタンスまたは既存のインスタンスに復元できます。これにより、誤って削除したインスタンスを再作成したり、障害復旧シナリオでこれらのインスタンスを使用したりできます。

インスタンスに関連付けられている自動バックアップやオンデマンド バックアップとは異なり、最終バックアップはインスタンスを削除する前に作成できます。Cloud SQL は、このバックアップをインスタンスの存続期間を超えて保存します。

既存の gcloud CLI コマンドを使用して、最終バックアップを一覧表示、記述、更新、削除できます。カスタムロールを使用している場合は、ロールに次の権限を追加します。

  • cloudsql.backupRuns.list
  • cloudsql.backupRuns.get
  • cloudsql.backupRuns.update
  • cloudsql.backupRuns.delete

これらの権限の詳細については、必要な権限をご覧ください。また、バックアップの仕組みについて詳しくは、Cloud SQL バックアップについてをご覧ください。

必要な権限

Google Cloud コンソール

Google Cloud プロジェクトで最終バックアップを管理するには、次の権限が必要です。

タスク 必要な権限
最終バックアップを一覧表示する cloudsql.backupRuns.list
最終バックアップを記述する cloudsql.backupRuns.get
最終バックアップを更新する cloudsql.backupRuns.update
最終バックアップを削除する cloudsql.backupRuns.delete

gcloud CLI

Google Cloud プロジェクトで最終バックアップを管理するには、次の権限が必要です。

アクション コマンド 必要な権限
最終バックアップを一覧表示する gcloud sql backups list cloudsql.backupRuns.list
最終バックアップを記述する gcloud sql backups describe cloudsql.backupRuns.get
最終バックアップを更新する gcloud sql backups patch cloudsql.backupRuns.update
最終バックアップを削除する gcloud sql backups delete cloudsql.backupRuns.delete

REST

Google Cloud プロジェクトで最終バックアップを管理するには、次の権限が必要です。

アクション メソッド 必要な権限
最終バックアップを一覧表示する backups.list cloudsql.backupRuns.list
最終バックアップを記述する backups.describe cloudsql.backupRuns.get
最終バックアップを更新する backups.patch cloudsql.backupRuns.update
最終バックアップを削除する backups.delete cloudsql.backupRuns.delete

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

最終バックアップのリストとバックアップの詳細は、Google Cloud コンソール、gcloud CLI、または Cloud SQL API を使用して確認できます。

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

Console

  1. Google Cloud コンソールで、[Cloud SQL のバックアップ] ページに移動します。

    [Cloud SQL バックアップ] に移動

    このページには、Google Cloud プロジェクトに関連付けられているすべてのバックアップ(最終バックアップを含む)が一覧表示されます。

  2. 最終バックアップの詳細を表示するには、バックアップをクリックします。[最終バックアップ] ダイアログが表示されます。このダイアログには、次の情報が表示されます。

    • 最終バックアップの作成に使用されたインスタンスが削除された日時
    • 削除されたインスタンスの名前とバージョン
    • Cloud SQL が最終バックアップを保持する期間の日時スタンプ
    • 最終バックアップの説明

gcloud

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

    gcloud sql backups list \
    --filter="type=FINAL"
  2. 最終バックアップの詳細を表示するには、gcloud sql backups describe コマンドを使用します。

    gcloud sql backups describe \
    BACKUP_NAME

    BACKUP_NAME は、gcloud sql backups list コマンドを実行した出力から取得します。BACKUP_NAME の形式は projects/PROJECT_ID/backups/BACKUP_ID です。

REST v1

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

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

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

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

HTTP メソッドと URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups?filter=type=FINAL

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

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

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

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

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

  • PROJECT_ID: プロジェクト ID。
  • BACKUP_ID: バックアップ ID。この ID は、前の呼び出しの実行の出力から取得します。

HTTP メソッドと URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID

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

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

REST v1beta4

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

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

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

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

HTTP メソッドと URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups?filter=type=FINAL

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

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

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

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

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

  • PROJECT_ID: プロジェクト ID。
  • BACKUP_ID: バックアップ ID。この ID は、前の呼び出しの実行の出力から取得します。

HTTP メソッドと URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID

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

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

最終バックアップを更新する

インスタンスのCloud SQL が最終バックアップを保持する期間とバックアップの説明は、Google Cloud コンソール、gcloud CLI、または Cloud SQL API を使用して更新できます。

Console

  1. Google Cloud コンソールで、[Cloud SQL のバックアップ] ページに移動します。

    [Cloud SQL バックアップ] に移動

    このページには、Google Cloud プロジェクトに関連付けられているすべてのバックアップ(最終バックアップを含む)が一覧表示されます。

  2. 最終バックアップを更新するには、バックアップをクリックします。[最終バックアップ] ダイアログが表示されます。
  3. Cloud SQL が最終バックアップを保持する時間を更新するには、次の操作を行います。
    1. [バックアップの保持期限] フィールドの横にある [保持期間を編集] アイコンをクリックします。
    2. [バックアップを保持する期間] フィールドの横にある [日付を選択] アイコンをクリックします。
    3. カレンダーで、Cloud SQL が最終バックアップを保持する期間を示す新しい日付を選択します。
    4. [更新] をクリックします。[Cloud SQL バックアップ] ページに戻ります。
  4. 最終バックアップの説明を更新するには、次の操作を行います。
    1. 最終バックアップをクリックします。
    2. [説明] フィールドの横にある [説明を編集] アイコンをクリックします。
    3. [Describe this backup] フィールドに、最終バックアップの更新された説明を入力します。
    4. [更新] をクリックします。[Cloud SQL バックアップ] ページに戻ります。

gcloud

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

    gcloud sql backups list \
    --filter="type=FINAL"
  2. 最終バックアップの説明と保持期間を更新するには、gcloud sql backups patch コマンドを使用します。

    gcloud sql backups patch \
    BACKUP_NAME  \
    --description=DESCRIPTION /
    --expiry-time=DATE-AND-TIME-STAMP | --ttl-days=NUMBER-OF-DAYS

    BACKUP_NAME は、gcloud sql backups list コマンドを実行した出力から取得します。BACKUP_NAME の形式は projects/PROJECT_ID/backups/BACKUP_ID です。

    --expiry-time フラグと --ttl-days フラグの場合は、次のガイドラインに従ってください。

    • --expiry-time フラグには、Cloud SQL が最終バックアップを自動的に削除する日時スタンプを指定します。
    • --ttl-days フラグには、最終バックアップの保持期間(1 ~ 365 日)を指定します。これは有効期間(TTL)と呼ばれます。保持期間は現在の日時から開始され、Cloud SQL で許可される最大保持期間は 1 年(365 日)です。

REST v1

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

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

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

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

HTTP メソッドと URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups?filter=type=FINAL

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

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

保持期間を更新する

最終バックアップの保持期間は、次のいずれかの方法で更新できます。

  • 保持日数: Cloud SQL がバックアップを保持する日数を変更します。
  • 有効期限: Cloud SQL がバックアップを自動的に削除する日時スタンプを更新します。
保持期間を更新する

この例では、Cloud SQL が最終バックアップを保持する日数を更新します。この呼び出しのパラメータの完全なリストについては、backupRuns.update ページをご覧ください。

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

  • PROJECT_ID: プロジェクト ID。
  • BACKUP_ID: バックアップ ID。この ID は、前の呼び出しの実行の出力から取得します。
  • TTL_DAYS: 最終バックアップの保持期間(1 ~ 365 日)。これは有効期間(TTL)と呼ばれます。保持期間は現在の日時から開始され、Cloud SQL で許可される最大保持期間は 1 年(365 日)です。

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID?update_mask=ttl_days

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

{
        "backup": {
            expiration: {
            "ttl_days": TTL_DAYS,
            }
         },
}

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

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

有効期限を更新する

この例では、Cloud SQL がバックアップを削除する日時スタンプを更新します。この呼び出しのパラメータの完全なリストについては、backupRuns.update ページをご覧ください。

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

  • PROJECT_ID: プロジェクト ID。
  • BACKUP_ID: バックアップ ID。この ID は、前の呼び出しの実行の出力から取得します。
  • DATE_AND_TIME_STAMP: Cloud SQL が最終バックアップを自動的に削除した日時スタンプ。

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID?update_mask=expiry_time

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

{
        "backup": {
            expiration: {
            "expiry_time": DATE_AND_TIME_STAMP,
            }
         },
}

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

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

説明を更新する

この例では、最終バックアップの説明を更新します。この呼び出しのパラメータの完全なリストについては、backupRuns.update ページをご覧ください。

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

  • PROJECT_ID: プロジェクト ID。
  • BACKUP_ID: バックアップ ID。この ID は、前の呼び出しの実行の出力から取得します。
  • DESCRIPTION: 最終バックアップの更新された説明。

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID?update_mask=description

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

{
        "backup": {
            "description": DESCRIPTION,
         },
}

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

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

REST v1beta4

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

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

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

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

HTTP メソッドと URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups?filter=type=FINAL

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

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

保持期間を更新する

最終バックアップの保持期間は、次のいずれかの方法で更新できます。

  • Retention days: Cloud SQL がバックアップを保持する日数を変更します。
  • 有効期限: Cloud SQL がバックアップを自動的に削除する日時スタンプを更新します。
保持期間を更新する

この例では、Cloud SQL が最終バックアップを保持する日数を更新します。この呼び出しのパラメータの完全なリストについては、backupRuns.update ページをご覧ください。

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

  • PROJECT_ID: プロジェクト ID。
  • BACKUP_ID: バックアップ ID。この ID は、前の呼び出しの実行の出力から取得します。
  • TTL_DAYS: 最終バックアップの保持期間(1 ~ 365 日)。これは有効期間(TTL)と呼ばれます。保持期間は現在の日時から開始され、Cloud SQL で許可される最大保持期間は 1 年(365 日)です。

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID?update_mask=ttl_days

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

{
        "backup": {
            expiration: {
            "ttl_days": TTL_DAYS,
            }
         },
}

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

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

有効期限を更新する

この例では、Cloud SQL がバックアップを削除する日時スタンプを更新します。この呼び出しのパラメータの完全なリストについては、backupRuns.update ページをご覧ください。

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

  • PROJECT_ID: プロジェクト ID。
  • BACKUP_ID: バックアップ ID。この ID は、前の呼び出しの実行の出力から取得します。
  • DATE_AND_TIME_STAMP: Cloud SQL が最終バックアップを自動的に削除した日時スタンプ。

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID?update_mask=expiry_time

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

{
        "backup": {
            expiration: {
            "expiry_time": DATE_AND_TIME_STAMP,
            }
         },
}

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

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

説明を更新する

この例では、最終バックアップの説明を更新します。この呼び出しのパラメータの完全なリストについては、backupRuns.update ページをご覧ください。

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

  • PROJECT_ID: プロジェクト ID。
  • BACKUP_ID: バックアップ ID。この ID は、前の呼び出しの実行の出力から取得します。
  • DESCRIPTION: 最終バックアップの更新された説明。

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID?update_mask=description

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

{
        "backup": {
            "description": DESCRIPTION,
         },
}

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

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

最終バックアップを削除する

最終バックアップは、Google Cloud コンソール、gcloud CLI、または Cloud SQL API を使用して削除できます。

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

Console

  1. Google Cloud コンソールで、[Cloud SQL のバックアップ] ページに移動します。

    [Cloud SQL バックアップ] に移動

    このページには、Google Cloud プロジェクトに関連付けられているすべてのバックアップ(最終バックアップを含む)が一覧表示されます。

  2. 削除する最後のバックアップのその他の操作アイコン その他アイコン をクリックし、[削除] を選択します。
  3. [最終バックアップを削除しますか?] ウィンドウで、最終バックアップの作成に使用したインスタンスの名前を入力し、[削除] をクリックします。

gcloud

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

    gcloud sql backups list \
    --filter="type=FINAL"
  2. 最終バックアップを削除するには、gcloud sql backups delete コマンドを使用します。

    gcloud sql backups delete \
    BACKUP_NAME

    BACKUP_NAME は、gcloud sql backups list コマンドを実行した出力から取得します。BACKUP_NAME の形式は projects/PROJECT_ID/backups/BACKUP_ID です。

REST v1

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

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

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

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

HTTP メソッドと URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups?filter=type=FINAL

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

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

最終バックアップを削除する

最後のバックアップを削除するには、次の例を使用します。この呼び出しのパラメータの完全なリストについては、backupRuns.delete ページをご覧ください。

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

  • PROJECT_ID: プロジェクト ID。
  • BACKUP_ID: バックアップ ID。この ID は、前の呼び出しの実行の出力から取得します。

HTTP メソッドと URL:

DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID

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

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

REST v1beta4

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

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

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

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

HTTP メソッドと URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups?filter=type=FINAL

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

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

最終バックアップを削除する

最後のバックアップを削除するには、次の例を使用します。この呼び出しのパラメータの完全なリストについては、backupRuns.delete ページをご覧ください。

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

  • PROJECT_ID: プロジェクト ID。
  • BACKUP_ID: バックアップ ID。この ID は、前の呼び出しの実行の出力から取得します。

HTTP メソッドと URL:

DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID

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

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

次のステップ