このページでは、Cloud SQL インスタンスを削除する方法について説明します。
インスタンスを削除する際には、次の点に注意してください。
- レプリカがあるインスタンスは削除できません。最初にすべてのレプリカを削除する必要があります。
- 削除したインスタンスがサイズ「不明」、ステータス「削除しています」で依然としてプロジェクトに表示される場合がありますが、これは正常な動作であり、インスタンスはすぐに表示されなくなります。
- インスタンスと関連する基盤となるリソースが完全に削除されるまでに最長で 1 週間かかることがあります。ただし、リードレプリカは通常数分以内に削除されます。
- 削除したインスタンス名は、すぐに再利用して新しいインスタンスを作成できます。
- インスタンスで削除保護が有効になっている場合は、インスタンスを削除する前に無効にする必要があります。
必要な権限
デフォルトでは、Cloud SQL Admin
(roles/cloudsql.admin
)ロールか、Owner
(roles/owner
)ロールを持つユーザーまたはサービス アカウントにのみ、Cloud SQL インスタンス(cloudsql.instances.delete
)の削除権限があります。
また、cloudsql.instances.delete
権限を持つユーザーまたはサービス アカウントの IAM カスタムロールを定義することもできます。この権限は、IAM カスタムロールでサポートされています。
インスタンスを削除する
Cloud SQL のインスタンスを削除するには、gcloud CLI または API を使用します。
-
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
- インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
- [削除] をクリックします。
- [データベース インスタンスの削除] ダイアログ ボックスで、[OK] をクリックします。
インスタンスを削除するには、gcloud sql instances delete
コマンドを使用します。
gcloud sql instances deleteINSTANCE_NAME \ --project=PROJECT_ID
次のように置き換えます。
- INSTANCE_NAME: インスタンスの名前
- PROJECT_ID: 削除するインスタンスが含まれている Google Cloud プロジェクトの ID またはプロジェクト番号
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 削除するインスタンスが含まれている Google Cloud プロジェクトの ID またはプロジェクト番号
- INSTANCE_NAME: インスタンスの名前
HTTP メソッドと URL:
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_NAME
リクエストを送信するには、次のいずれかのオプションを開きます。
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_NAME "
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_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-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 " }
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 削除するインスタンスが含まれている Google Cloud プロジェクトの ID またはプロジェクト番号
- INSTANCE_NAME: インスタンスの名前
HTTP メソッドと URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_NAME
リクエストを送信するには、次のいずれかのオプションを開きます。
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_NAME "
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_NAME " | Select-Object -Expand Content
次のような 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 " }