本頁說明如何尋找及設定 Cloud SQL 執行個體的維護期間。如要進一步瞭解 Cloud SQL 執行維護作業的方式和原因,請參閱「Cloud SQL 執行個體的維護作業總覽」。
如果您選擇接收維護通知,Cloud SQL 會在 Cloud SQL 執行個體有維護更新時,傳送電子郵件通知。Cloud SQL 會在推出維護作業前傳送通知,然後按每週排程,將更新套用至執行個體群組。您可以為執行個體選取維護時間,控制執行個體收到維護更新前,您會收到多少提前通知。
您可以透過下列選項排定維護更新時間:
- 如果選取
Any
或未設定這項設定,維護更新可能會在任何時間進行,但通常會在推出後的第一週內進行。 - 如果選取
Week 1
(也稱為preview
和canary
),系統會在傳送維護通知後 7 到 14 天內進行維護更新。 - 如果選取
Week 2
(也稱為production
和stable
),系統會在傳送通知後 15 到 21 天內進行維護更新。 - 如果選取
Week 5
,系統會在傳送通知後 35 到 42 天內進行維護更新。
如果執行個體正在進行維護作業或已排定維護作業,您對維護期間設定所做的變更不會立即生效。這些變更會反映在日後的維護事件中。
事前準備
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Install the gcloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Install the gcloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
- 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
- 在「維護」部分,按一下「編輯維護作業偏好設定」。
- 在「設定選項」部分,開啟「維護」。
- 設定下列選項:
- 維護時間。選取要套用自動維護更新的週別。你可以採取下列做法:
- 任何時間:維護更新作業可能在任何時間進行,但通常會在第 1 週內完成。
- 第 1 週:維護作業會在維護通知發送後 7 到 14 天內進行。
- 第 2 週:維護更新會在通知寄出後的 15 到 21 天內進行。
- 第 5 週:維護更新會在通知寄出後 35 到 42 天內進行。
- 維護期間。選取偏好的星期幾和時段。選項包括:
- 任意一天:預設維護期間。維護更新不受一週中的特定日子或時段限制。
- 星期幾:選取維護期間的星期幾,例如星期六、 星期日、星期一、星期二、星期三、星期四或星期五。
- 時段:選取星期幾後,即可選擇時段。選取當地時區的一小時間隔。
- 維護時間。選取要套用自動維護更新的週別。你可以採取下列做法:
- INSTANCE_ID:執行個體 ID,可以是唯讀備用資源執行個體。
- DAY:要進行維護作業的星期幾。設為
MONDAY
、TUESDAY
、WEDNESDAY
、THURSDAY
、FRIDAY
、SATURDAY
或SUNDAY
。 以世界標準時間時區指定。 - HOUR:維護期間的小時,
0
-23
。以世界標準時間時區指定。 - MAINTENANCE_TIMING:您希望套用維護更新的維護推出期週別。選項包括:
preview
:這表示維護通知發送後,第 1 週。維護更新作業預計會在通知發出後的 7 到 14 天內進行。production
:這表示維護通知發送後,第 2 週會進行維護。維護更新會在通知發出後的 15 到 21 天內進行。week5
:維護更新會在維護通知寄出後的 35 到 42 天內進行。- PROJECT_ID: Google Cloud 專案的 ID 或專案編號。
- INSTANCE_ID:執行個體 ID,不得為唯讀備用資源執行個體。
- HOUR:維護期間的小時,
0
-23
。以世界標準時間時區指定。 - DAY:維護更新的星期幾。
指定
MONDAY
、TUESDAY
、WEDNESDAY
、THURSDAY
、FRIDAY
、SATURDAY
或SUNDAY
。 以世界標準時間時區指定。 - MAINTENANCE_TIMING:您希望套用維護更新的維護推出期週別。選項包括:
canary
:這表示維護通知發送後的第 1 週。維護更新作業預計會在通知發出後的 7 到 14 天內進行。stable
:這表示維護通知發送後的第 2 週。維護更新會在通知發出後的 15 到 21 天內進行。week5
:維護更新會在維護通知寄出後的 35 到 42 天內進行。
- PROJECT_ID: Google Cloud 專案的 ID 或專案編號。
- INSTANCE_ID:執行個體 ID,不得為唯讀備用資源執行個體。
- HOUR:維護期間的小時,
0
-23
。以世界標準時間時區指定。 - DAY:您希望進行維護更新的星期幾。
指定
MONDAY
、TUESDAY
、WEDNESDAY
、THURSDAY
、FRIDAY
、SATURDAY
或SUNDAY
。 以世界標準時間時區指定。 - MAINTENANCE_TIMING:您希望套用維護更新的維護推出期週別。選項包括:
canary
:這表示維護通知發送後的第 1 週。維護更新作業預計會在通知發出後的 7 到 14 天內進行。stable
:這表示維護通知發送後的第 2 週。維護更新會在通知發出後的 15 到 21 天內進行。week5
:維護更新會在維護通知寄出後的 35 到 42 天內進行。
- 前往「Communication」(通訊) 頁面。 前往「通訊」
- 在「Cloud SQL」列中,找到「維護時段」,然後選取「電子郵件」下方的單選按鈕,將其設為「開啟」。
前往 Google Cloud 控制台的「Logs Explorer」頁面。 使用「All logs name」下拉式選單搜尋
maintenance-events
,然後按一下「Apply」。如果系統已排定執行個體的維護作業,記錄檔會顯示執行個體的名稱和排定的維護作業開始時間。如果執行個體已排定維護作業,維護日期會列在「Instances」(執行個體)頁面的「Maintenance」(維護) 欄中。「維護」欄位通常會隱藏,但排定維護作業時會自動顯示。如要一律顯示「維護」資料欄,也可以從「資料欄顯示選項」(
) 選取「維護」。
或者,您也可以選取執行個體,前往「執行個體詳細資料」頁面。如果執行個體已排定維護時間,您會在「維護」窗格中看到相關訊息。
前往 Cloud SQL 執行個體- INSTANCE_ID:要檢查排定維護作業的執行個體。
- PROJECT_ID:包含執行個體的專案 ID 或專案編號 Google Cloud
- INSTANCE_NAME:您要設定高可用性的執行個體名稱
- PROJECT_ID:包含執行個體的專案 ID 或專案編號 Google Cloud
- INSTANCE_NAME:您要設定高可用性的執行個體名稱
-
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
- 篩選「維護」一詞,列出所有排定維護作業的執行個體。
- 在「維護」欄中,按一下「重新安排時間」。
- 在「重新排定」對話方塊中,選擇立即執行維護作業、在「重新排定預定維護作業」中定義的允許延期期間內,將維護作業重新排定在特定時間執行,或是延期至下一個可用的維護期間。
- INSTANCE_ID:要重新安排的執行個體。
- RESCHEDULE_TYPE:使用 IMMEDIATE、NEXT_AVAILABLE_WINDOW 或 SPECIFIC_TIME。
如果選擇 NEXT_AVAILABLE_WINDOW,系統會將維護作業重新排定至目前排定時間後的下一個可用維護期間。
- RESCHEDULE_TIME:如果為 RESCHEDULE_TYPE 指定 SPECIFIC_TIME,則也必須設定
--schedule-time
標記,指定維護作業的新日期和時間。採用 ISO 8601 格式。例如:2020-01-16T16:56:00.000Z - PROJECT_ID:專案 ID
- INSTANCE_ID:執行個體 ID
- RESCHEDULE_TYPE:使用 IMMEDIATE、NEXT_AVAILABLE_WINDOW 或 SPECIFIC_TIME。
如果選擇 NEXT_AVAILABLE_WINDOW,系統會將維護作業重新排定至下一個可用的維護期間。
- PROJECT_ID:專案 ID
- INSTANCE_ID:執行個體 ID
- RESCHEDULE_TYPE:使用 IMMEDIATE、NEXT_AVAILABLE_WINDOW 或 SPECIFIC_TIME。
如果選擇 NEXT_AVAILABLE_WINDOW,系統會將維護作業重新排定至下一個可用的維護期間。
yyyy-mm-dd
:表示特定日期mm-dd
:表示每年都會重複的日期- 小時介於 0 到 23 之間 (含 0 和 23)。
- 分鐘和秒數介於 0 到 59 (含 0 和 59)。
-
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
- 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
- 在「維護」部分,按一下「編輯維護作業偏好設定」。
- 在「拒絕維護期」部分中,設定開始和結束日期。
- 在「進階選項」部分,視需要選取「每年重複」。
- 按一下 [儲存]。
- INSTANCE_ID:Cloud SQL 執行個體 ID
- START_DATE:間隔開始的日期。例如 2021-11-29
- END_DATE:間隔結束的日期。例如 2021-12-02
- TIME:間隔的開始和結束時間。例如: 00:00:00
- project-id:專案 ID
- instance-id:執行個體 ID
- start-date:開始日期 (yyyy-mm-dd) 或 (mm-dd),適用於每年重複發生的活動
- end-date:結束日期 (yyyy-mm-dd) 或 (mm-dd),適用於每年重複發生的事件
- time:開始和結束時間 (HH:mm:SS)
- project-id:專案 ID
- instance-id:執行個體 ID
- start-date:開始日期 (yyyy-mm-dd) 或 (mm-dd),適用於每年重複發生的活動
- end-date:結束日期 (yyyy-mm-dd) 或 (mm-dd),適用於每年重複發生的事件
- time:開始和結束時間 (HH:mm:SS)
-
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
- 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
- 在「維護」部分,按一下「編輯維護作業偏好設定」。
- 在「拒絕維護期」部分,按一下「清除」。
- 按一下 [儲存]。
- INSTANCE_ID:Cloud SQL 執行個體 ID
- project-id:專案 ID
- instance-id:執行個體 ID
- project-id:專案 ID
- instance-id:執行個體 ID
在執行個體上設定維護期間
控制台
gcloud
如要在 Cloud SQL 執行個體上設定維護時段和維護時間,請執行下列指令:
gcloud sql instances patch INSTANCE_ID \ --maintenance-window-day=DAY \ --maintenance-window-hour=HOUR \ --maintenance-release-channel=MAINTENANCE_TIMING
請替換下列變數:
如需參考資訊,請參閱 gcloud sql instances patch
。
REST v1
使用任何要求資料之前,請先替換以下項目:
HTTP 方法和網址:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
JSON 要求主體:
{ "settings": { "maintenanceWindow": { "hour": "HOUR", "day": "DAY", "updateTrack": "MAINTENANCE_TIMING" } } }
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2024-04-01T21:30:35.667Z", "operationType": "UPDATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
REST v1beta4
使用任何要求資料之前,請先替換以下項目:
HTTP 方法和網址:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
JSON 要求主體:
{ "settings": { "maintenanceWindow": { "hour": "HOUR", "day": "DAY", "updateTrack": "MAINTENANCE_TIMING" } } }
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2024-04-01T21:30:35.667Z", "operationType": "UPDATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
選擇接收維護通知
如要選擇接收維護通知,請先在執行個體上設定維護期間
如要接收通知,每位使用者都必須分別選擇啟用。
在 Google Cloud 控制台中查看維護通知
您可以在 Google Cloud 控制台的幾個位置查看維護通知:
使用 API 尋找排定的維護作業
gcloud
如要查看即將進行的排定維護作業,請使用下列指令:
gcloud sql instances describe INSTANCE_ID
請替換下列變數:
在回應中找出 scheduledMaintenance
區段。
REST v1
使用任何要求資料之前,請先替換以下項目:
HTTP 方法和網址:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "POSTGRES_13" }
在回應中找出 scheduledMaintenance
區段。
REST v1beta4
使用任何要求資料之前,請先替換以下項目:
HTTP 方法和網址:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "POSTGRES_13" }
在回應中找出 scheduledMaintenance
區段。
重新排定預定維護時間
您可以透過 Google Cloud 控制台、gcloud CLI 或 Cloud SQL Admin API 重新安排維護時間。
如果將執行個體的維護時間設為第 1 週或第 2 週,則最多可將維護作業延期 28 天。
如果將執行個體的維護時間設為第 5 週,則最多可將維護時間延後 7 天。您必須在這段時間內重新安排維護作業,確保執行個體在下一次季度維護作業推出前收到維護更新。
控制台
gcloud
如要重新安排 Cloud SQL 執行個體的維護作業,請執行下列指令:
gcloud sql reschedule-maintenance INSTANCE_ID \ --reschedule-type=RESCHEDULE_TYPE \ [--schedule-time=RESCHEDULE_TIME]
請替換下列變數:
如需參考資訊,請參閱 gcloud sql reschedule-maintenance
。
如要將維護作業延期最多 28 天,請檢查 gcloud
的版本號碼。如果版本號碼低於 390.0.0_RC00
,
請重新安裝 gcloud
。
REST v1
使用任何要求資料之前,請先替換以下項目:
HTTP 方法和網址:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/rescheduleMaintenance
JSON 要求主體:
{ "reschedule": { "reschedule_type": "RESCHEDULE_TYPE" } }
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "startTime": "08:00", "endTime": "08:01", "operationType": RESCHEDULE_MAINTENANCE, "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
REST v1beta4
使用任何要求資料之前,請先替換以下項目:
HTTP 方法和網址:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/rescheduleMaintenance
JSON 要求主體:
{ "reschedule": { "reschedule_type": "RESCHEDULE_TYPE" } }
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "startTime": "08:00", "endTime": "08:01", "operationType": RESCHEDULE_MAINTENANCE, "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
如要瞭解如何建立該工作的基礎 REST API 要求,請參閱 instances:post 頁面中的 APIs Explorer。
設定拒絕維護期
您隨時可以為 Cloud SQL 執行個體設定最多一個拒絕維護期。拒絕維護期優先於任何排定的維護期。如果維護期間與拒絕維護期有所衝突,系統會優先採用拒絕維護期。
您可以手動移除拒絕維護期,無論該期間是否已發生。
如要設定拒絕維護期,請設定開始日期、結束日期,以及間隔的開始和結束時間。拒絕維護期可從 1 天到 90 天不等。
開始日期和結束日期有兩種格式:
開始日期和結束日期皆為世界標準時間。如要設定時區,請使用時間欄位調整開始時間。舉例來說,如果開始日期 = 2020-10-10,時間 = 07:00:00,則表示開始時間為 2020-10-10 07:00:00 UTC (2020-10-10 00:00:00 PST)
時間格式為 HH:mm:SS
。
控制台
gcloud
如要在 Cloud SQL 執行個體上設定拒絕維護期,請執行下列指令:
gcloud sql instances patch INSTANCE_ID\ --deny-maintenance-period-start-date=START_DATE \ --deny-maintenance-period-end-date=END_DATE \ --deny-maintenance-period-time=TIME
請替換下列變數:
REST v1
使用任何要求資料之前,請先替換以下項目:
HTTP 方法和網址:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
JSON 要求主體:
{ "settings": { "denyMaintenancePeriods": [{ "start_date": "start-date", "end_date": "end-date" "time": "time" }] } }
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "startTime": "08:00", "endTime": "08:01", "operationType": MAINTENANCE_DENY_PERIOD, "name": "operation-id", "targetId": "instance-id", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id", "targetProject": "project-id" }
REST v1beta4
使用任何要求資料之前,請先替換以下項目:
HTTP 方法和網址:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
JSON 要求主體:
{ "settings": { "denyMaintenancePeriods": [{ "start_date": "start-date", "end_date": "end-date" "time": "time" }] } }
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "startTime": "08:00", "endTime": "08:01", "operationType": MAINTENANCE_DENY_PERIOD, "name": "operation-id", "targetId": "instance-id", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id", "targetProject": "project-id" }
移除拒絕維護期
控制台
gcloud
如要從 Cloud SQL 執行個體移除拒絕維護期,請執行下列指令:
gcloud sql instances patch INSTANCE_ID \ --remove-deny-maintenance-period
請替換下列變數:
REST v1
使用任何要求資料之前,請先替換以下項目:
HTTP 方法和網址:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
JSON 要求主體:
{ "settings": { "denyMaintenancePeriods": [] } }
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "startTime": "08:00", "endTime": "08:01", "operationType": MAINTENANCE_DENY_PERIOD, "name": "operation-id", "targetId": "instance-id", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id", "targetProject": "project-id" }
REST v1beta4
使用任何要求資料之前,請先替換以下項目:
HTTP 方法和網址:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
JSON 要求主體:
{ "settings": { "denyMaintenancePeriods": [] } }
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "startTime": "08:00", "endTime": "08:01", "operationType": MAINTENANCE_DENY_PERIOD, "name": "operation-id", "targetId": "instance-id", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id", "targetProject": "project-id" }
拒絕維護期通知
如果預計維護時間落在拒絕維護期內,且維護拒絕期設定禁止維護作業,系統就不會傳送維護期間通知。
如果您變更拒絕維護期間設定,以防止在先前排定的時間進行維護,Cloud SQL 執行個體就會略過維護作業,並傳送取消維護作業的通知。只要執行個體排定更新時間,Cloud SQL 就會傳送這類取消通知。
只要預定維護作業不在拒絕維護期間內,系統就會在該期間傳送通知。