インスタンスの削除

このページでは、Cloud SQL インスタンスを削除する方法について説明します。

インスタンスを削除する際には、次の点に注意してください。

  • 削除したインスタンスがサイズ「不明」、ステータス「削除しています」で依然としてプロジェクトに表示される場合がありますが、これは正常な動作であり、インスタンスはすぐに表示されなくなります。
  • インスタンスと関連する基盤となるリソースが完全に削除されるまでに最長で 1 週間かかることがあります。ただし、リードレプリカは通常数分以内に削除されます。
  • 削除したインスタンス名は、すぐに再利用して新しいインスタンスを作成できます。
  • インスタンスで削除保護が有効になっている場合は、インスタンスを削除する前に無効にする必要があります。
  • 不測の事態に備えて、削除したインスタンスを復元するための最終バックアップを取得します。

必要な権限

デフォルトでは、Cloud SQL Adminroles/cloudsql.admin)ロールか、Ownerroles/owner)ロールを持つユーザーまたはサービス アカウントにのみ、Cloud SQL インスタンス(cloudsql.instances.delete)の削除権限があります。

また、cloudsql.instances.delete 権限を持つユーザーまたはサービス アカウントの IAM カスタムロールを定義することもできます。この権限は、IAM カスタムロールでサポートされています

インスタンスの削除

Cloud SQL インスタンスを削除するには、Google Cloud コンソール、gcloud CLI、または API を使用します。

コンソール

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

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

  2. インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
  3. [削除] をクリックします。
  4. [インスタンスの削除] ダイアログで、次の操作を行います。
    1. テキスト フィールドに、表示されたインスタンス ID を入力します。
    2. インスタンスの最終バックアップを取得する場合は、[最終バックアップを作成する] チェックボックスをオンのままにして、[保持のオプション] メニューを開き、[保持期間] フィールドに最終バックアップを保持する日数を入力します。1~365 日間の範囲で指定できます。

      最終バックアップを取得せずにインスタンスを削除する場合は、チェックボックスをオフにします。

    3. [このバックアップの説明] テキスト領域に、バックアップの説明を入力します。
    4. [削除] をクリックします。

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 API リクエストがどのように構築されるかについては、instances:delete ページの API Explorer をご覧ください。

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"
}
このタスクで基礎となる REST API リクエストがどのように構築されるかについては、instances:delete ページの API Explorer をご覧ください。

削除したインスタンスを復元する

Cloud SQL でインスタンスを削除すると、オンデマンド バックアップ自動バックアップなど、インスタンスのすべてのリソースが削除されます。

インスタンスの削除時に最終バックアップを取得した場合は、このバックアップを使用してインスタンスを復元できます。最終バックアップからインスタンスを作成するか、最終バックアップを既存のインスタンスに復元することで復旧が可能です。

最終バックアップを使用してインスタンスを復元すると、インスタンスの IP アドレスが、削除された元のインスタンスの IP アドレスと異なる場合があります。

最終バックアップを取得せずにインスタンスを誤って削除した場合は、インスタンスの削除から 4 日以内に Cloud カスタマーケアにお問い合わせいただくと、インスタンスの復元をリクエストできます。インスタンスを復元できる場合は、削除前に使用されていた IP アドレスを含むインスタンス構成が復元されます。削除時に使用可能だったバックアップもすべて復元されます。