์ธ์คํด์ค ์ญ์
์ปฌ๋ ์
์ ์ฌ์ฉํด ์ ๋ฆฌํ๊ธฐ
๋ด ํ๊ฒฝ์ค์ ์ ๊ธฐ์ค์ผ๋ก ์ฝํ
์ธ ๋ฅผ ์ ์ฅํ๊ณ ๋ถ๋ฅํ์ธ์.
์ด ํ์ด์ง์์๋ Cloud SQL ์ธ์คํด์ค๋ฅผ ์ญ์ ํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช
ํฉ๋๋ค.
์ธ์คํด์ค๋ฅผ ์ญ์ ํ ๊ณํ์ด๋ผ๋ฉด ๋ค์ ์ฌํญ์ ์ฐธ๊ณ ํ์ธ์.
- ๋ณต์ ๋ณธ์ด ์๋ ์ธ์คํด์ค๋ฅผ ์ญ์ ํ ์ ์์ต๋๋ค. ์ธ์คํด์ค๋ฅผ ์ญ์ ํ๋ ค๋ฉด ๋จผ์ ๋ชจ๋ ๋ณต์ ๋ณธ์ ์ญ์ ํด์ผ ํฉ๋๋ค.
- ์ธ์คํด์ค๋ฅผ ์ญ์ ํ๋ฉด ํด๋น ์ธ์คํด์ค๊ฐ ํ๋ก์ ํธ์์ '์ ์ ์๋' ํฌ๊ธฐ ๋ฐ '์ญ์ ์ค'์ธ ์ํ๋ก ๊ณ์ ํ์๋ ์ ์์ต๋๋ค. ์ด๋ ์ ์์ ์ธ ํ์์ด๋ฉฐ ์ ์ ํ ์ธ์คํด์ค๊ฐ ์์ ํ ์ฌ๋ผ์ง๋๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ๋ช ๋ถ ๋ด์ ์ญ์ ๋๋ ์ฝ๊ธฐ ๋ณต์ ๋ณธ์ ์ ์ธํ๊ณ ์ธ์คํด์ค์ ๊ด๋ จ๋ ๊ธฐ๋ณธ ๋ฆฌ์์ค๊ฐ ์์ ํ ์ญ์ ๋๋ ๋ฐ ์ต๋ 4์ผ์ด ๊ฑธ๋ฆด ์ ์์ต๋๋ค.
- ์ญ์ ๋ ์ธ์คํด์ค ์ด๋ฆ์ ์ฆ์ ์ฌ์ฌ์ฉํ์ฌ ์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
- ์ธ์คํด์ค์ ์ญ์ ๋ณดํธ๊ฐ ์ฌ์ฉ ์ค์ ๋ ๊ฒฝ์ฐ ์ธ์คํด์ค๋ฅผ ์ญ์ ํ๊ธฐ ์ ์ ์ฌ์ฉ ์ค์งํด์ผ ํฉ๋๋ค.
- ์๊ธฐ์น ์์ ์ํฉ์ด ๋ฐ์ํ๋ฉด ์ต์ข
๋ฐฑ์
์ ์ํํ์ฌ ์ญ์ ๋ ์ธ์คํด์ค๋ฅผ ๋ณต์ํฉ๋๋ค.
ํ์ ๊ถํ
๊ธฐ๋ณธ์ ์ผ๋ก Cloud SQL Admin
(roles/cloudsql.admin
) ๋๋ Owner
(roles/owner
) ์ญํ ์ด ์๋ ์ฌ์ฉ์ ๋๋ ์๋น์ค ๊ณ์ ๋ง Cloud SQL ์ธ์คํด์ค๋ฅผ ์ญ์ ํ ์ ์๋ ๊ถํ(cloudsql.instances.delete
)์ด ์์ต๋๋ค.
์ฌ์ฉ์ ๋๋ ์๋น์ค ๊ณ์ ์ ๋ํด cloudsql.instances.delete
๊ถํ์ ํฌํจํ๋ IAM ์ปค์คํ
์ญํ ์ ์ ์ํ ์๋ ์์ต๋๋ค. ์ด ๊ถํ์ IAM ์ปค์คํ
์ญํ ์์ ์ง์๋ฉ๋๋ค.
์ธ์คํด์ค ์ญ์
Google Cloud ์ฝ์, gcloud CLI ๋๋ API๋ฅผ ์ฌ์ฉํ์ฌ Cloud SQL ์ธ์คํด์ค๋ฅผ ์ญ์ ํ ์ ์์ต๋๋ค. ์ญ์ ํ๊ธฐ ์ ์ ์ธ์คํด์ค์ ๋ฐฑ์
์ ๋ณด๊ดํ๋ ค๋ฉด ๋ณด๊ด๋ ๋ฐฑ์
๊ด๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
์ฝ์
-
Google Cloud ์ฝ์์์ Cloud SQL ์ธ์คํด์ค ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
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
์์ฒญ์ ๋ณด๋ด๋ ค๋ฉด ๋ค์ ์ต์
์ค ํ๋๋ฅผ ํผ์นฉ๋๋ค.
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"
}
์ด ํ์คํฌ์ ๊ด๋ จ๋
๊ธฐ๋ณธ REST API ์์ฒญ์ด ์์ฑ๋๋ ๋ฐฉ์์ ํ์ธํ๋ ค๋ฉด
instances:delete ํ์ด์ง์ API ํ์๊ธฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
REST v1beta4
์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- 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"
}
์ด ํ์คํฌ์ ๊ด๋ จ๋
๊ธฐ๋ณธ REST API ์์ฒญ์ด ์์ฑ๋๋ ๋ฐฉ์์ ํ์ธํ๋ ค๋ฉด
instances:delete ํ์ด์ง์ API ํ์๊ธฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
์ญ์ ๋ ์ธ์คํด์ค ๋ณต์
์ธ์คํด์ค๋ฅผ ์ญ์ ํ๋ฉด Cloud SQL์์ ์ฃผ๋ฌธํ ๋ฐฑ์
๋ฐ ์๋ ๋ฐฑ์
์ ๋น๋กฏํ ์ธ์คํด์ค์ ๋ํ ๋ชจ๋ ๋ฆฌ์์ค๋ฅผ ์ญ์ ํฉ๋๋ค.
์ธ์คํด์ค ์ญ์ ์ ์ผ๋ถ๋ก ์ต์ข
๋ฐฑ์
์ ์ํํ๋ ๊ฒฝ์ฐ ์ต์ข
๋ฐฑ์
์์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค๊ฑฐ๋ ์ต์ข
๋ฐฑ์
์ ๊ธฐ์กด ์ธ์คํด์ค๋ก ๋ณต์ํ์ฌ ์ธ์คํด์ค๋ฅผ ๋ณต๊ตฌํ๋ ค๋ฉด ์ด ๋ฐฑ์
์ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
์ต์ข
๋ฐฑ์
์ ์ฌ์ฉํ์ฌ ์ธ์คํด์ค๋ฅผ ๋ณต๊ตฌํ๋ ๊ฒฝ์ฐ ์ธ์คํด์ค์ IP ์ฃผ์๊ฐ ์ญ์ ๋ ์๋ ์ธ์คํด์ค์ IP ์ฃผ์์ ๋ค๋ฅผ ์ ์์ต๋๋ค.
์ต์ข
๋ฐฑ์
์ ์ํํ์ง ์๊ณ ์ค์๋ก ์ธ์คํด์ค๋ฅผ ์ญ์ ํ ๊ฒฝ์ฐ ์ธ์คํด์ค๊ฐ ์ญ์ ๋ ํ 4์ผ ์ด๋ด์ Cloud Customer Care์ ๋ฌธ์ํ์ฌ ์ธ์คํด์ค ๋ณต๊ตฌ๋ฅผ ์์ฒญํ ์ ์์ต๋๋ค. ์ธ์คํด์ค๋ฅผ ๋ณต๊ตฌํ ์ ์๋ ๊ฒฝ์ฐ ์ญ์ ์ ์ ์ฌ์ฉ๋ IP ์ฃผ์๋ฅผ ๋น๋กฏํ ์ธ์คํด์ค ๊ตฌ์ฑ์ด ๋ณต์๋ฉ๋๋ค. ์ญ์ ์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ๋ฐฑ์
๋ ๋ณต๊ตฌ๋ฉ๋๋ค.