このページでは、自動バックアップのスケジュールと無効化、オンデマンド バックアップの作成と管理、Cloud SQL インスタンスのバックアップの表示について説明します。
バックアップの詳細については、バックアップの概要 をご覧ください。
オンデマンド バックアップの作成
オンデマンド バックアップを作成するには:
Console
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
Cloud SQL の [インスタンス] に移動
インスタンスの [概要 ] ページを開くには、インスタンス名をクリックします。
SQL ナビゲーション メニューから [バックアップ ] を選択します。
[バックアップを作成 ] をクリックします。
[バックアップを作成 ] ページで、必要に応じて説明を追加し、[作成 ] をクリックします。
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
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d "" \ "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 POST ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns" | 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": "BACKUP_VOLUME",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
REST v1beta4
リクエストのデータを使用する前に、次のように置き換えます。
project-id : プロジェクト ID
instance-id : インスタンス ID
HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d "" \ "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 POST ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns" | 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": "BACKUP_VOLUME",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
自動バックアップのスケジュール
インスタンスの自動バックアップをスケジュールするには:
Console
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
Cloud SQL の [インスタンス] に移動
インスタンスの [概要 ] ページを開くには、インスタンス名をクリックします。
SQL ナビゲーション メニューから [バックアップ ] を選択します。
[設定 ] の横にある [編集 ] をクリックします。
データを自動的にバックアップする時間枠を選択します。
[保存 ] をクリックします。
gcloud
インスタンスを編集してバックアップ開始時間を指定します。
gcloud sql instances patch INSTANCE_NAME --backup-start-time= HH:MM
backup-start-time
パラメータは、UTC±00 タイムゾーンの 24 時間形式で、4 時間のバックアップ期間の開始時間を指定します。バックアップはバックアップ時間枠の任意の時刻に開始できます。
変更を確定します。
gcloud sql instances describe INSTANCE_NAME
backupConfiguration
セクションで、enabled: true
と指定した時刻が表示されていることを確認します。
データベースのバックアップを作成するには、Terraform リソース を使用します。
変更を適用する
Google Cloud プロジェクトで Terraform 構成を適用するには、次のセクションの手順を完了します。
Cloud Shell を準備する
Cloud Shell を起動します。
Terraform 構成を適用するデフォルトの Google Cloud プロジェクトを設定します。
このコマンドは、プロジェクトごとに 1 回だけ実行する必要があります。これは任意のディレクトリで実行できます。
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Terraform 構成ファイルに明示的な値を設定すると、環境変数がオーバーライドされます。
ディレクトリを準備する
Terraform 構成ファイルには独自のディレクトリ(ルート モジュールとも呼ばれます)が必要です。
Cloud Shell で、ディレクトリを作成し、そのディレクトリ内に新しいファイルを作成します。ファイルの拡張子は .tf
にする必要があります(例: main.tf
)。このチュートリアルでは、このファイルを main.tf
とします。
mkdir DIRECTORY && cd DIRECTORY && touch main.tf
チュートリアルを使用している場合は、各セクションまたはステップのサンプルコードをコピーできます。
新しく作成した main.tf
にサンプルコードをコピーします。
必要に応じて、GitHub からコードをコピーします。Terraform スニペットがエンドツーエンドのソリューションの一部である場合は、この方法をおすすめします。
環境に適用するサンプル パラメータを確認し、変更します。
変更を保存します。
Terraform を初期化します。これは、ディレクトリごとに 1 回だけ行う必要があります。
terraform init
必要に応じて、最新バージョンの Google プロバイダを使用する場合は、-upgrade
オプションを使用します。
terraform init -upgrade
変更を適用する
構成を確認して、Terraform が作成または更新するリソースが想定どおりであることを確認します。
terraform plan
必要に応じて構成を修正します。
次のコマンドを実行し、プロンプトで「yes
」と入力して、Terraform 構成を適用します。
terraform apply
Terraform に「Apply complete!」のメッセージが表示されるまで待ちます。
Google Cloud プロジェクトを開いて 結果を表示します。Google Cloud コンソールの UI でリソースに移動して、Terraform によって作成または更新されたことを確認します。
注: Terraform のサンプルでは通常、必要な API が Google Cloud プロジェクトで有効になっていることを前提としています。
変更を削除する
変更を削除するには、次の手順を行います。
削除の保護を無効にするには、Terraform 構成ファイルで deletion_protection
引数を false
に設定します。
deletion_protection = "false"
次のコマンドを実行し、プロンプトで「yes
」と入力して、更新された Terraform 構成を適用します。
terraform apply
以前に Terraform 構成で適用されたリソースを削除するには、次のコマンドを実行して、プロンプトに「yes
」と入力します。
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
}
}
}
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X PATCH \ -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_NAME "
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_NAME " | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_NAME ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "OPERATION_ID ",
"targetId": "INSTANCE_NAME ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
注: 自動バックアップの開始がスケジュールされている場合にオンデマンド バックアップが実行されていると、自動バックアップは後で再スケジュールされます。 バックアップのカスタム ロケーションの設定
規制で義務付けられている場合にのみ、カスタム バックアップ ロケーションを使用してください。規制で必要とされない場合は、デフォルトのマルチリージョン バックアップ ロケーションを使用します。
カスタム ロケーションは、オンデマンド バックアップと自動バックアップに使用できます。有効なロケーションの値の一覧については、インスタンスのロケーション をご覧ください。
注: バックアップを保存するロケーションを変更しても、既存のバックアップは元のロケーションに残ります。
注: バックアップは、組織のポリシーで許可されていないリージョンにある場合、失敗します。組織のポリシーやその他の制約に関係なく、インスタンスと同じリージョンで行われたバックアップは常に成功します。
カスタム ロケーションでインスタンスを更新するには:
Console
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
Cloud SQL の [インスタンス] に移動
インスタンスの [概要 ] ページを開くには、インスタンス名をクリックします。
SQL ナビゲーション メニューから [バックアップ ] を選択します。
[設定 ] の横にある [編集 ] をクリックします。
[バックアップを自動化する ] セクションで、[詳細オプション ] を開きます。
[マルチリージョン(デフォルト) ] または [リージョン ] をクリックします。
[ロケーション ] プルダウン メニューからロケーションを選択します。
[保存 ] をクリックします。
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,
}
}
}
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X PATCH \ -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 "
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id " | 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": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
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,
}
}
}
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X PATCH \ -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 "
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id " | 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": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
バックアップのリストを表示する
バックアップのリストとバックアップの詳細を表示するには、次のオプションを使用します。
Google Cloud コンソールでは、スキップされたバックアップまたは失敗したバックアップはバックアップ履歴に表示されません。スキップされたバックアップを表示するには、gcloud
または API を使用します。
Console
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
Cloud SQL の [インスタンス] に移動
インスタンスの [概要 ] ページを開くには、インスタンス名をクリックします。
SQL ナビゲーション メニューから [バックアップ ] を選択して、最近のバックアップ、および作成日時とバックアップの種類を表示します。
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
リクエストを送信するには、次のいずれかのオプションを展開します。
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"
}
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
リクエストを送信するには、次のいずれかのオプションを展開します。
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"
}
停止時にバックアップのリストを表示する
インスタンスが停止しているリージョンにある場合、backupRuns.list
API でワイルドカード(-
)を使用すると、そのインスタンスのバックアップのみを表示できます。ワイルドカードを使用すると、プロジェクト内のすべてのバックアップが返されます。別のインスタンスへの復元 をご覧ください。
インスタンスに対して顧客管理の暗号鍵(CMEK)が有効になっているリージョンでサービスが停止している場合、そのインスタンスのバックアップを別のリージョンに復元することはできません。これは、インスタンスで CMEK が有効になっている場合、Cloud SQL が暗号化にリージョンの Cloud KMS 鍵 を使用するためです。CMEK インスタンスのバックアップを復元するには、Cloud SQL に CMEK 鍵へのアクセス権が必要です。リージョンが停止した場合、そのリージョンの Cloud KMS 鍵にはアクセスできません。
gcloud
プロジェクト内のすべてのインスタンスのバックアップを一覧表示します。
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"
}
必要なインスタンスのバックアップを見つけます。このバックアップを復元するには、別のインスタンスへの復元 をご覧ください。
REST v1
プロジェクト内のすべてのバックアップを一覧表示します。
リクエストのデータを使用する前に、次のように置き換えます。
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"
}
必要なインスタンスのバックアップを見つけます。このバックアップを復元するには、別のインスタンスへの復元 をご覧ください。
REST v1beta4
プロジェクト内のすべてのバックアップを一覧表示します。
リクエストのデータを使用する前に、次のように置き換えます。
project-id : プロジェクト ID
instance-id : インスタンス ID。プロジェクト内のすべてのバックアップのリストの場合は -
。
HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/v1beta4/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/v1beta4/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/v1beta4/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/v1beta4/projects/project-id /instances/instance-id /backupRuns/backup-id ",
"location": "us"
"backupKind": "SNAPSHOT"
}
必要なインスタンスのバックアップを見つけます。このバックアップを復元するには、別のインスタンスへの復元 をご覧ください。
バックアップ ロケーションの表示
インスタンスに対して実行されたバックアップのロケーションを確認するには、次のように backupRuns
を使用します。
Console
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
Cloud SQL の [インスタンス] に移動
インスタンスの [概要 ] ページを開くには、インスタンス名をクリックします。
SQL ナビゲーション メニューから [バックアップ ] を選択します。
バックアップ リストの [ロケーション ] 列には、各バックアップのロケーションのタイプ(マルチリージョンまたはリージョン)と特定のマルチリージョンまたはリージョンが表示されます。
gcloud
リファレンス情報については、gcloud sql instances describe をご覧ください。
インスタンスのバックアップを一覧表示します。
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
リクエストのデータを使用する前に、次のように置き換えます。
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 レスポンスが返されます。
前の例:
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
リクエストを送信するには、次のいずれかのオプションを展開します。
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 レスポンスが返されます。
前の例:
REGION
は元のインスタンスのリージョンです。
BACKUP_LOCATION
は Cloud SQL でバックアップを保存するロケーションです。
バックアップ サイズを表示する
Cloud SQL インスタンスのバックアップのサイズは、gcloud CLI または API を使用して確認できます。
gcloud
Google Cloud プロジェクトに関連付けられているすべてのバックアップのリストを取得するには、gcloud sql backups list
コマンドを使用します。
gcloud sql backups list
注 : このコマンドを使用すると、バックアップに関する情報(ID など)を取得できます。バックアップのサイズを表示するには、バックアップ ID が必要です。
また、標準リスト パラメータを使用して、このコマンドの実行結果をフィルタリングして制御することもできます。完全なリストについては、gcloud sql backups list コマンドのリファレンス ページをご覧ください。
バックアップのサイズを表示するには、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
リクエストを送信するには、次のいずれかのオプションを展開します。
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_NAME /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_NAME /backupRuns" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{
"name": "projects/PROJECT_ID /instances/INSTANCE_NAME /backupRuns",
"kind": "sql#backupRun",
"enqueuedTime": "2024-04-24T22:16:02.208Z",
"id": "INSTANCE_ID ",
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
"type": "AUTOMATED",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/instances/INSTANCE_NAME /backupRuns",
"location": "us",
"description": "get a list of backups",
"instance": "INSTANCE_NAME "
}
バックアップの詳細を表示する
この例では、バックアップのサイズなど、バックアップの詳細を表示します。この呼び出しのパラメータの完全なリストについては、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
リクエストを送信するには、次のいずれかのオプションを展開します。
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_NAME /backupRuns/BACKUP_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 /instances/INSTANCE_NAME /backupRuns/BACKUP_ID " | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{
"name": "projects/PROJECT_ID /instances/INSTANCE_NAME /backupRuns/BACKUP_ID ",
"kind": "sql#backupRun",
"enqueuedTime": "2024-04-24T22:16:02.208Z",
"id": "INSTANCE_ID ",
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
"type": "AUTOMATED",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/instances/INSTANCE_NAME /backupRuns/BACKUP_ID ",
"location": "us",
"description": "view details about a backup",
"maxChargeableBytes": "BYTE_NUMBER ",
"instance": "INSTANCE_NAME "
}
自動バックアップの保持期間を設定する
保持する自動バックアップの数を設定するには:
Console
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
Cloud SQL の [インスタンス] に移動
インスタンスの [概要 ] ページを開くには、インスタンス名をクリックします。
SQL ナビゲーション メニューから [バックアップ ] を選択します。
[編集 ] をクリックします。
[バックアップを自動化する ] セクションで、[詳細オプション ] を開きます。
一度に保存するバックアップの数 を入力します。
値はデフォルト(7)以上にする必要があります。
[保存 ] をクリックします。
gcloud
インスタンスを編集して、保持する自動バックアップの数を設定します。
値はデフォルト(7)以上にする必要があります。
gcloud sql instances patch INSTANCE_NAME \
--retained-backups-count= NUM_TO_RETAIN
REST v1beta4
リクエストのデータを使用する前に、次のように置き換えます。
unit : 省略可: 保持単位には整数または文字列を指定できます。現在サポートされている(デフォルトの)値は、1 または "COUNT" です。
num-to-retain : 保持する自動バックアップの数。値はデフォルト(7)以上にする必要があります。
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 "
}
}
}
}
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X PATCH \ -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 "
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id " | 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": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
バックアップを削除する
自動バックアップやオンデマンド バックアップは削除できます。
バックアップを削除しても、バックアップと同じサイズが解放されるとは限りません。これは、バックアップは増分で行われるため、新しいバックアップの整合性を維持する目的で、削除された古いバックアップの内容の一部が新しいバックアップに転送されるためです。
Console
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
Cloud SQL の [インスタンス] に移動
インスタンスの [概要 ] ページを開くには、インスタンス名をクリックします。
SQL ナビゲーション メニューから [バックアップ ] を選択します。
削除するバックアップのその他の操作アイコン( )をクリックします。
[削除 ] を選択します。
[バックアップを削除] ウィンドウで、フィールドに「Delete
」と入力して [削除 ] をクリックします。
gcloud
Cloud SQL インスタンスのバックアップを削除します。
gcloud beta sql backups delete BACKUP_ID \
--instance INSTANCE_NAME
パラメータの完全なリストについては、gcloud beta sql backups delete コマンドのリファレンス ページをご覧ください。
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:
DELETE https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns/backup-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/instance-id /backupRuns/backup-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/instance-id /backupRuns/backup-id " | 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": "DELETE_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-id : バックアップ ID
HTTP メソッドと URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns/backup-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/instance-id /backupRuns/backup-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/instance-id /backupRuns/backup-id " | 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": "DELETE_BACKUP",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
自動バックアップを無効にする
インスタンスの自動バックアップを無効にするには:
Console
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
Cloud SQL の [インスタンス] に移動
インスタンスの [概要 ] ページを開くには、インスタンス名をクリックします。
SQL ナビゲーション メニューから [バックアップ ] を選択します。
[自動バックアップを管理 ] をクリックします。
[バックアップを自動化する ] のチェックボックスをオフにします。
[保存 ] をクリックします。
gcloud
インスタンスを編集してバックアップを無効にします。
gcloud sql instances patch INSTANCE_NAME \
--no-backup
次のステップ