このページでは、Cloud SQL インスタンスを削除する方法について説明します。
インスタンスを削除する際には、次の点に注意してください。
- レプリカがあるインスタンスは削除できません。最初にすべてのレプリカを削除する必要があります。
- 削除したインスタンスがサイズ「不明」、ステータス「削除しています」で依然としてプロジェクトに表示される場合がありますが、これは正常な動作であり、インスタンスはすぐに表示されなくなります。
- インスタンスと関連する基盤となるリソースが完全に削除されるまでに最長で 4 日かかることがあります。ただし、リードレプリカは通常数分以内に削除されます。
- 削除したインスタンス名は、すぐに再利用して新しいインスタンスを作成できます。
- インスタンスで削除保護が有効になっている場合は、インスタンスを削除する前に無効にする必要があります。
- 不測の事態に備えて、削除したインスタンスを復元するための最終バックアップを取得します。
必要な権限
デフォルトでは、Cloud SQL Admin(roles/cloudsql.admin)ロールか、Owner(roles/owner)ロールを持つユーザーまたはサービス アカウントにのみ、Cloud SQL インスタンス(cloudsql.instances.delete)の削除権限があります。
また、cloudsql.instances.delete 権限を持つユーザーまたはサービス アカウントの IAM カスタムロールを定義することもできます。この権限は、IAM カスタムロールでサポートされています。
インスタンスの削除
Cloud SQL のインスタンスは、 Google Cloud コンソール、gcloud CLI、API を使って削除できます。削除する前にインスタンスのバックアップを保存する場合は、保持されたバックアップを管理するをご覧ください。
コンソール
-
Google Cloud コンソールで、Cloud SQL の [インスタンス] ページに移動します。
- インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
- [削除] をクリックします。
- [インスタンスの削除] ダイアログで、次の操作を行います。
- テキスト フィールドに、表示されたインスタンス ID を入力します。
インスタンスの最終バックアップを取得する場合は、[最終バックアップを作成する] チェックボックスをオンのままにして、[保持のオプション] メニューを開き、[保持期間] フィールドに最終バックアップを保持する日数を入力します。1~365 日間の範囲で指定できます。
最終バックアップを取得せずにインスタンスを削除する場合は、チェックボックスをオフにします。
- [このバックアップの説明] テキスト領域に、バックアップの説明を入力します。
- [削除] をクリックします。
gcloud
インスタンスを削除するには、gcloud sql instances delete コマンドを使用します。
gcloud sql instances delete INSTANCE_NAME \ --project=PROJECT_ID
次のように置き換えます。
- INSTANCE_NAME: インスタンスの名前
- PROJECT_ID: 削除するインスタンスが含まれている Google Cloud プロジェクトの ID またはプロジェクト番号
REST v1
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 削除するインスタンスが含まれている Google Cloud プロジェクトの ID またはプロジェクト番号
- INSTANCE_NAME: インスタンスの名前
HTTP メソッドと URL:
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような 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-15T00:10:22.078Z",
"operationType": "DELETE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_NAME",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
REST v1beta4
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 削除するインスタンスが含まれている Google Cloud プロジェクトの ID またはプロジェクト番号
- INSTANCE_NAME: インスタンスの名前
HTTP メソッドと URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-15T00:10:22.078Z",
"operationType": "DELETE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_NAME",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
削除したインスタンスを復元する
Cloud SQL でインスタンスを削除すると、オンデマンド バックアップや自動バックアップなど、インスタンスのすべてのリソースが削除されます。
インスタンスの削除時に最終バックアップを取得した場合は、このバックアップを使用してインスタンスを復元できます。最終バックアップからインスタンスを作成するか、最終バックアップを既存のインスタンスに復元することで復旧が可能です。
最終バックアップを使用してインスタンスを復元すると、インスタンスの IP アドレスが、削除された元のインスタンスの IP アドレスと異なる場合があります。
最終バックアップを取得せずにインスタンスを誤って削除した場合は、インスタンスの削除から 4 日以内に Cloud カスタマーケアにお問い合わせいただくと、インスタンスの復元をリクエストできます。インスタンスを復元できる場合は、削除前に使用されていた IP アドレスを含むインスタンス構成が復元されます。削除時に使用可能だったバックアップもすべて復元されます。