本文說明如何刪除 Cloud SQL 藍綠部署作業,並詳細說明切換前後刪除行為的重大差異。
事前準備
如要刪除或取消藍綠部署作業,請確認您具備必要角色和權限。
所需角色和權限
如要取得刪除藍綠部署作業所需的權限,請要求管理員在專案中授予您下列 IAM 角色:
- Cloud SQL 管理員 (
roles/cloudsql.admin)
如果是自訂角色,請確認您具備下列權限:
cloudsql.blueGreenDeployments.deletecloudsql.blueGreenDeployments.getcloudsql.instances.deletecloudsql.operations.get
如要進一步瞭解 Cloud SQL 中的 IAM 角色和權限,請參閱「角色和權限」。
瞭解刪除行為
delete 作業的行為會因是否發生切換而異:
| 部署階段 | 預設行為 | 執行個體影響 |
|---|---|---|
| 切換前 (取消) |
刪除部署作業中繼資料,並自動刪除綠色暫存例項。 | 藍色正式版執行個體會繼續執行,完全不受影響。 |
| 切換後 (刪除) |
刪除部署中繼資料,但預設會保留兩個執行個體,做為獨立執行個體。 | 綠色執行個體會繼續做為作用中的讀寫資料庫執行個體,處理正式版流量。除非您選取「Delete old source instance」(刪除舊來源執行個體) 選項、傳遞選用的 --delete-old-source 旗標,或將 deleteOldSource 參數設為 true 來刪除藍色執行個體,否則系統會將其保留為獨立的讀取和寫入執行個體。 |
案例 1:在切換前取消部署作業
如果在驗證期間偵測到問題,或決定不繼續升級,請先刪除部署作業,再觸發切換作業。
控制台
-
前往 Google Cloud 控制台的「Cloud SQL Instances」(Cloud SQL 執行個體) 頁面。
- 如要開啟執行個體的「總覽」頁面,請點選執行個體名稱。
- 在「藍綠部署作業狀態」資訊卡中,按一下「詳細資料」,開啟「部署作業總覽」頁面。
- 按一下「刪除部署作業」。
- 在「Delete Deployment?」(要刪除部署作業嗎?) 對話方塊中,於「Deployment ID」(部署作業 ID) 欄位輸入部署作業 ID 以確認。
- 點選「刪除」。
gcloud
如要使用 gcloud 取消並刪除藍綠部署作業,請執行 blue-green-deployments delete 指令:
gcloud beta sql blue-green-deployments delete DEPLOYMENT_NAME \ --region=REGION
更改下列內容:
- DEPLOYMENT_NAME:藍綠部署的名稱。
- REGION:部署作業建立所在的 Google Cloud 區域。
REST v1
如要使用 Cloud SQL Admin API 取消及刪除藍綠部署作業,請對 blueGreenDeployments.delete 方法傳送 DELETE 要求:
DELETE https://sqladmin.googleapis.com/v1/ projects/PROJECT_ID/locations/REGION/ blueGreenDeployments/DEPLOYMENT_NAME
更改下列內容:
- PROJECT_ID:專案的 ID。 Google Cloud
- REGION:部署作業建立所在的 Google Cloud 區域。
- DEPLOYMENT_NAME:藍綠部署的名稱。
REST v1beta4
如要使用 Cloud SQL Admin API 取消及刪除藍綠部署作業,請對 blueGreenDeployments.delete 方法傳送 DELETE 要求:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/ projects/PROJECT_ID/locations/REGION/ blueGreenDeployments/DEPLOYMENT_NAME
更改下列內容:
- PROJECT_ID:專案的 ID。 Google Cloud
- REGION:部署作業建立所在的 Google Cloud 區域。
- DEPLOYMENT_NAME:藍綠部署的名稱。
這會移除綠色暫存執行個體,並將環境還原為原始的單一執行個體狀態,不會造成停機。
案例 2:刪除切換後的資料
成功完成切換和驗證後,您可以刪除部署作業和先前的藍色執行個體,避免兩個執行個體都產生費用。
控制台
-
前往 Google Cloud 控制台的「Cloud SQL Instances」(Cloud SQL 執行個體) 頁面。
- 如要開啟執行個體的「總覽」頁面,請點選執行個體名稱。
- 在「藍綠部署作業狀態」資訊卡中,按一下「詳細資料」,開啟「部署作業總覽」頁面。
- 按一下「刪除部署作業」。
- 在「Delete Deployment?」(要刪除部署作業嗎?) 對話方塊中,於「Deployment ID」(部署作業 ID) 欄位輸入部署作業 ID 以確認。
- 選擇要刪除或保留先前的藍色執行個體:
- 選項 A (刪除部署作業和先前的藍色執行個體): 選取「Delete old source instance」(刪除舊的來源執行個體) 核取方塊。
- 選項 B (僅刪除部署中繼資料):取消勾選「刪除舊的來源執行個體」核取方塊,將舊的藍色執行個體保留為獨立執行個體。
- 點選「刪除」。
gcloud
如要使用 gcloud 刪除藍綠部署作業,請執行 blue-green-deployments delete 指令。
方法 A:刪除部署作業和先前的藍色執行個體
如要刪除部署中繼資料並自動刪除先前的藍色執行個體,請傳遞選用的 --delete-old-source 標記:
gcloud beta sql blue-green-deployments delete DEPLOYMENT_NAME \ --region=REGION \ --delete-old-source
更改下列內容:
- DEPLOYMENT_NAME:藍綠部署的名稱。
- REGION:建立部署作業的 Google Cloud 區域。
系統提示時,確認要永久刪除舊的藍色執行個體。
選項 B:只刪除部署中繼資料 (保留先前的藍色執行個體)
如要讓舊版藍色執行個體繼續做為獨立執行個體運作 (例如做為備份或用於歷來分析查詢),請省略選用的 --delete-old-source 標記:
gcloud beta sql blue-green-deployments delete DEPLOYMENT_NAME \ --region=REGION
更改下列內容:
- DEPLOYMENT_NAME:藍綠部署的名稱。
- REGION:部署作業建立所在的 Google Cloud 區域。
這項指令只會刪除藍綠部署作業的中繼資料,兩個執行個體都會保留為獨立執行個體,直到您手動刪除先前的藍色執行個體為止。專案中的兩個執行個體都會保持啟用狀態,且系統會繼續向您收取兩者的費用。
REST v1
如要使用 Cloud SQL Admin API 刪除藍綠部署作業,請將 DELETE 要求傳送至 blueGreenDeployments.delete 方法。
方法 A:刪除部署作業和先前的藍色執行個體
如要刪除部署中繼資料,並自動刪除先前的藍色執行個體,請將 deleteOldSource 查詢參數設為 true:
DELETE https://sqladmin.googleapis.com/v1/ projects/PROJECT_ID/locations/REGION/ blueGreenDeployments/DEPLOYMENT_NAME?deleteOldSource=true
更改下列內容:
- PROJECT_ID:專案的 ID。 Google Cloud
- REGION:部署作業建立所在的 Google Cloud 區域。
- DEPLOYMENT_NAME:藍綠部署的名稱。
選項 B:只刪除部署中繼資料 (保留先前的藍色執行個體)
如要讓舊版藍色執行個體繼續做為獨立執行個體 (例如做為備份或用於歷來分析查詢),請省略 deleteOldSource 查詢參數:
DELETE https://sqladmin.googleapis.com/v1/ projects/PROJECT_ID/locations/REGION/ blueGreenDeployments/DEPLOYMENT_NAME
更改下列內容:
- PROJECT_ID:專案的 ID。 Google Cloud
- REGION:部署作業建立所在的 Google Cloud 區域。
- DEPLOYMENT_NAME:藍綠部署的名稱。
這項要求只會刪除藍綠部署中繼資料,兩個執行個體都會保留為獨立執行個體,直到您手動刪除先前的藍色執行個體為止。專案中的兩個執行個體都會保持啟用狀態,且系統會繼續向您收取兩者的費用。
REST v1beta4
如要使用 Cloud SQL Admin API 刪除藍綠部署作業,請將 DELETE 要求傳送至 blueGreenDeployments.delete 方法。
方法 A:刪除部署作業和先前的藍色執行個體
如要刪除部署中繼資料,並自動刪除先前的藍色執行個體,請將 deleteOldSource 查詢參數設為 true:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/ projects/PROJECT_ID/locations/REGION/ blueGreenDeployments/DEPLOYMENT_NAME?deleteOldSource=true
更改下列內容:
- PROJECT_ID:專案的 ID。 Google Cloud
- REGION:部署作業建立所在的 Google Cloud 區域。
- DEPLOYMENT_NAME:藍綠部署的名稱。
選項 B:只刪除部署中繼資料 (保留先前的藍色執行個體)
如要讓舊版藍色執行個體繼續做為獨立執行個體 (例如做為備份或用於歷來分析查詢),請省略 deleteOldSource 查詢參數:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/ projects/PROJECT_ID/locations/REGION/ blueGreenDeployments/DEPLOYMENT_NAME
更改下列內容:
- PROJECT_ID:專案的 ID。 Google Cloud
- REGION:部署作業建立所在的 Google Cloud 區域。
- DEPLOYMENT_NAME:藍綠部署的名稱。
這項要求只會刪除藍綠部署中繼資料,讓兩個執行個體都成為獨立執行個體,直到您手動刪除先前的藍色執行個體為止。專案中的兩個執行個體都會保持啟用狀態,且系統會繼續向您收取兩者的費用。