客戶自訂的維護時段

Gen 2

請設定部署的維護日期與開始時間。Cloud Databases 會控制維護時段的長度,所有維護工作都將在預定開始時間後的 4 小時內完成或停止。

可用性

以下情況可設定由客戶自訂的維護時段:

  • Databases for PostgreSQL 網址:eu-de。
  • Databases for MongoDB Enterprise Edition 網址:。eu-de

未來將陸續新增對更多資料庫和地區的支援。

請設定每日維護時段,除非貴組織規定維護作業僅限於特定日子執行。 透過每日維護時段,可讓待處理或未完成的維護作業—— 包括安全性與可靠性更新——於隔天繼續進行,而非等到下週。

維護服務包含哪些內容

維護工作包含任何會直接影響您部署的變更,例如:

  • 資料庫軟體與影像更新。
  • 針對您部署所運行的工作節點所進行的更新。
  • 安全性、可靠性及可維護性更新。

這些變更會在您的維護時段內執行,即使它們不會對服務造成明顯的影響。 您自行請求的變更(例如調整部署規模)會在您提出請求時執行。

在維護期間,您的部署可能會切換至新的主要伺服器。 請確保您的應用程式能夠自動重新連線。 如需更多資訊,請參閱「 高可用性」。

預設維護時段

您無需設定維護時段。 若未設定,Cloud Databases 將採用該地區的預設值:週一至週五,開始時間介於 UTC 23:00 至 UTC 10:00 之間。 未顯示確切的開始時間。

若要在設定自訂視窗後恢復為區域預設值,請將 system_assigned 設定為 true``。

維護時段的要求

  • 您只能設定開始時間。 您無法設定持續時間或結束時間。Cloud Databases 會控制維護時段的長度。
  • 請使用「hh:mmZ」這種格式,以 UTC 為單位指定開始時間。
  • 每週請選擇至少一個維護日。 建議設定每日的維護時段。 如需更多資訊,請參閱「若維護作業未能及時完成」。
  • 請將開始時間設定為您希望其適用的維護時段開始前至少 60 分鐘。
  • 您可以隨時更新您的維護時段。 變更將於下一個符合資格的維護時段生效。 如果當天的維護作業已經完成,更新後的排程將在下次符合維護執行條件時生效。
  • 若在維護進行期間更新維護時段,當前的維護作業並不會重新啟動。 更新後的時程表將適用於下一個符合資格的維護時段。
  • 維護通知是根據通知產生時生效的排程所制定的。 在維護時段開始前不久所做的變更,可能不會套用至已經產生或發送的通知。

維護時段的運作方式

維護時段自預定開始時間起為期 4 小時,所有維護工作均須於該時段內完成或停止。

舉例來說,若您的維護開始時間為 02:00 UTC:

維護時段範例,開始時間為 02:00 UTC
時間 (UTC) 會發生什麼事
02:00 - 6:00 維護工作開始,並啟動各項維護活動。 您的部署可能會切換至新的主要伺服器,屆時您的應用程式可能需要重新連線。
截至 06:00 所有維護工作均已完成或已停止。

選擇開始時間時,請將整個 4 小時的時段納入規劃,而不僅是開始時間本身。 請選擇應用程式流量最低且運維團隊有空的時段。

您的備份絕不會與維護時段重疊。Cloud Databases 會自動調整備份排程。

設定維護時段

您可以透過控制台、命令列介面 (CLI)、API 或 Terraform 來設定維護日與開始時間。

在控制台設定維護時段

您可以在建立部署時,或完成配置後,設定維護時段。

  1. 在 IBM Cloud 控制台中,建立一個部署或開啟現有的部署。
  2. 前往「維護」視窗,然後按一下「編輯」。
  3. 請選擇可開始進行維護工作的星期幾。 建議制定每日維護時間表。
  4. 請選擇維護開始時間。 您可以選擇以 UTC 或您所在的當地時區顯示時間。
  5. 檢視維護排程,然後按一下「儲存」。

若要恢復至區域預設的維護時段,請按一下「重設為預設值」。

使用 CLI 設定維護時段

您可以使用以下指令設定特定的維護時段:

ibmcloud resource service-instance-create \
  <INSTANCE_NAME> \
  <SERVICE_NAME> \
  <SERVICE_PLAN_NAME> \
  <LOCATION> \
  -g <RESOURCE_GROUP> \
  -p '{
    "dataservices": {
      "maintenance": {
        "window": {
          "start_time": "05:00Z",
          "days": "Wednesday,Thursday"
        }
      }
    }
  }'

您可以使用以下指令設定 system_assigned 的維護時段:

ibmcloud resource service-instance-create \
  <INSTANCE_NAME> \
  <SERVICE_NAME> \
  <SERVICE_PLAN_NAME> \
  <LOCATION> \
  -g <RESOURCE_GROUP> \
  -p '{
    "dataservices": {
      "maintenance": {
        "window": {
          "system_assigned": true
        }
      }
    }
  }'

使用 API 設定維護時段

您可以透過以下請求設定特定的維護時段:

curl -X POST \
  "https://resource-controller.cloud.ibm.com/v2/resource_instances" \
  -H "Authorization: Bearer <IAM_ACCESS_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "<DATABASE_INSTANCE_NAME>",
    "target": "<REGION>",
    "resource_group": "<RESOURCE_GROUP_ID>",
    "resource_plan_id": "<DATABASE_SERVICE_PLAN_ID>",
    "parameters": {
      "dataservices": {
        "maintenance": {
          "window": {
            "start_time": "05:00Z",
            "days": "Wednesday,Thursday"
          }
        }
      }
    }
  }'

您可以透過以下請求設定 system_assigned 的維護時段:

curl -X POST \
  "https://resource-controller.cloud.ibm.com/v2/resource_instances" \
  -H "Authorization: Bearer <IAM_ACCESS_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "<DATABASE_INSTANCE_NAME>",
    "target": "<REGION>",
    "resource_group": "<RESOURCE_GROUP_ID>",
    "resource_plan_id": "<DATABASE_SERVICE_PLAN_ID>",
    "parameters": {
      "dataservices": {
        "maintenance": {
          "window": {
            "system_assigned": true
          }
        }
      }
    }
  }'

使用 Terraform 設定維護時段

您可以透過以下 Terraform 請求設定特定的維護時段:

maintenance_days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
data "ibm_resource_group" "rg" {
  name = var.resource_group_name
}
resource "ibm_database" "cmw_test" {
  name              = "<DATABASE_INSTANCE_NAME>"
  resource_group_id = data.ibm_resource_group.rg.id
  service = "<DATABASE_SERVICE_NAME>"
  plan    = "<DATABASE_SERVICE_PLAN_ID>"
  location          = "<GEN2-REGION>"
  service_endpoints = "private"
  maintenance {
    window {
      start_time = "05:00Z"
      days       = var.maintenance_days
    }
  }
}

您可以透過以下 Terraform 請求來設定 system_assigned 的維護時段:

data "ibm_resource_group" "rg" {
  name = var.resource_group_name
}
resource "ibm_database" "cmw_test" {
  name              = "<DATABASE_INSTANCE_NAME>"
  resource_group_id = data.ibm_resource_group.rg.id
  service = "<DATABASE_SERVICE_NAME>"
  plan    = "<DATABASE_SERVICE_PLAN_ID>"
  location          = "<GEN2-REGION>"
  service_endpoints = "private"
  maintenance {
    window {
      system_assigned = true
    }
  }
}

追蹤維護狀況

當您的部署有待進行維護時,您將在維護作業開始前至少 2 小時收到一則「IBM Cloud Activity Tracker」事件通知。

IBM Cloud Activity Tracker 當任何服務實例因維護時段順利完成而進行更新時,也會觸發相關事件。 請查看資料庫的完整清單:Activity Tracker 活動。

維護不完整

維護作業絕不會超過您的維護時段結束時間。 若維護作業在開始時間過後 4 小時仍未結束,Cloud Databases 會將其終止。 剩餘的工作將在您的下一個維護時段內執行。 在此期間,您的部署仍可正常運作。

設定每日維護時段。 如果您每週只選擇一天,未完成的維護工作(包括安全性修補程式)將最多等待一週,直到下一個維護時段。 透過每日維護時段,維護作業將於隔日恢復,確保您的部署始終保持最新且安全。

緊急維護

在特殊情況下,緊急維護可能會在預定維護時段之外進行,且不會事先通知。 在這些情況下,系統不會建立排程維護事件。