為確保服務的可靠性、效能、安全性及最新狀態,Memorystore for Redis Cluster 會定期更新叢集。這些更新稱為「維護」。
維護作業完全由服務管理,且設計上不會造成停機。不過,除了 Memorystore for Redis Cluster 會對叢集執行維護作業,您也可以自訂維護時間表,配合應用程式需求並盡量減少中斷。如要自訂維護時間表,可以為叢集設定維護期間。
本頁說明如何完成下列工作,自訂維護期間:
如要瞭解維護更新和維護期間的相關資訊,請參閱「維護簡介」。
建立包含維護期間的叢集
您可以使用 gcloud CLI,在 Memorystore for Redis Cluster 中建立具有維護時段的叢集。
gcloud
如要建立包含維護期間的叢集,請使用 gcloud redis clusters create 指令:
gcloud redis clusters create CLUSTER_ID \ --project=PROJECT_ID \ --region=REGION_ID \ --network=NETWORK \ --replica-count=REPLICA_COUNT \ --node-type=NODE_TYPE \ --shard-count=SHARD_COUNT \ --maintenance-window-day=MAINTENANCE_WINDOW_DAY \ --maintenance-window-hour=MAINTENANCE_WINDOW_HOUR
請替換下列項目:
CLUSTER_ID:您要建立的叢集 ID。叢集 ID 的長度須介於 1 至 63 個字元之間,而且只能使用小寫英文字母、數字或連字號。但開頭必須是小寫英文字母,結尾則須為小寫英文字母或數字。
PROJECT_ID:您要在當中建立叢集的 Google Cloud 專案 ID 或編號。
REGION_ID:叢集所在的區域。
NETWORK:用於建立叢集的網路。格式必須為
projects/NETWORK_PROJECT_ID/global/networks/NETWORK_ID。 您在此使用的 NETWORK_ID 必須與服務連線政策使用的網路 ID 相符。否則無法建立叢集。REPLICA_COUNT:副本數量 (每個分片)。可接受的值為
0至5。NODE_TYPE:叢集的節點類型。可接受的值如下:
redis-shared-core-nanoredis-standard-smallredis-highmem-mediumredis-highmem-xlarge
SHARD_COUNT:叢集中的分片數量。資料分割數量決定了儲存叢集資料的記憶體總容量。如要進一步瞭解叢集規格,請參閱叢集和節點規格。
MAINTENANCE_WINDOW_DAY:要進行維護作業的日期。可接受的值為
MONDAY-SUNDAY。MAINTENANCE_WINDOW_HOUR:維護時段開始時的時數 (以世界標準時間為準)。可接受的值為
0到23。
例如:
gcloud memorystore redis clusters my-cluster \ --project=my-project \ --region=us-central1 \ --network=projects/my-network-project/global/networks/default \ --replica-count=2 \ --node-type=redis-highmem-medium \ --shard-count=8 \ --maintenance-window-day=MONDAY \ --maintenance-window-hour=9
根據預設,建立具有維護期間的叢集時,傳輸中加密會停用,授權網路則為 default。
設定偏好的維護期間
您可以使用 gcloud CLI,為 Memorystore for Redis Cluster 中的叢集設定維護時段。
gcloud
如要設定叢集的維護期間,請使用 gcloud redis clusters update 指令:
gcloud redis clusters update CLUSTER_ID \ --project=PROJECT_ID \ --region=REGION_ID \ --maintenance-window-day=DAY --maintenance-window-hour=HOUR
請替換下列項目:
- CLUSTER_ID:叢集 ID。
- PROJECT_ID:包含叢集的 Google Cloud 專案 ID 或編號。
- REGION_ID:叢集所在的區域。
- DAY:您希望進行維護作業的日期。可接受的值為
MONDAY-SUNDAY。 - HOUR:維護時段開始時的時數 (以世界標準時間為準)。可接受的值為
0-23。
開啟維護通知
您可以使用 Google Cloud 控制台,為 Memorystore for Redis Cluster 中的叢集啟用維護通知。
前往 Google Cloud 控制台的「Communication」(通訊) 頁面。
按一下「產品通知」。
從選單中選取 Google Cloud 專案。
在 Memorystore 的資料列中,將電子郵件按鈕切換為「開啟」。
維護通知電子郵件會使用這個主旨:"Upcoming maintenance for
your Cloud Memorystore cluster [your-cluster-name]"。如要讓特定電子郵件地址接收通知,必須分別啟用。
您是在專案層級設定維護通知,而不是在叢集上設定。Memorystore for Redis Cluster 會將通知傳送至與您 Google 帳戶相關聯的電子郵件地址。您無法設定自訂電子郵件別名 (例如團隊電子郵件別名)。
查看排定的維護作業
如果您在 Memorystore for Redis Cluster 中排定叢集維護時間,可以使用 gcloud CLI 查看維護作業。
gcloud
如要找出叢集的排定維護作業,請使用 gcloud redis clusters describe 指令。
gcloud redis clusters describe CLUSTER_ID \ --project=PROJECT_ID \ --region=REGION_ID
請替換下列項目:
- CLUSTER_ID:叢集 ID
- PROJECT_ID:包含叢集的專案 ID 或編號 Google Cloud
- REGION_ID:叢集所在的區域
預定維護作業的輸出內容如下:
maintenancePolicy: createTime: 'CREATE_DATE_AND_TIME_STAMP' updateTime: 'UPDATE_DATE_AND_TIME_STAMP' maintenanceWindow: - day: DAY duration: 60 minutes hour: HOUR maintenanceSchedule: endTime: 'END_DATE_AND_TIME_STAMP' startTime: 'START_DATE_AND_TIME_STAMP'
其中:
maintenancePolicy會顯示偏好維護政策的建立時間,以及上次更新政策的時間。CREATE_DATE_AND_TIME_STAMP是指首次建立維護政策的時間。UPDATE_DATE_AND_TIME_STAMP是指上次更新維護政策的時間。
maintenanceWindow會顯示叢集的維護期間資訊。DAY是指維護作業執行的星期幾。HOUR是維護作業開始的時間 (以世界標準時間為準)。
maintenanceSchedule會顯示叢集的定期維護資訊。END_DATE_AND_TIME_STAMP表示叢集的排定維護更新結束時間。START_DATE_AND_TIME_STAMP表示叢集排定的維護更新開始時間。
重新排定維護時間
您可以使用 gcloud CLI,為 Memorystore for Redis Cluster 中的叢集重新安排維護時間。因此,您可以將叢集的維護更新延後最多兩週。
gcloud
如要重新安排叢集的維護時間,請使用 gcloud redis clusters reschedule-maintenance 指令。
gcloud redis clusters reschedule-maintenance CLUSTER_ID \ --project=PROJECT_ID \ --region=REGION_ID \ --reschedule-type=RESCHEDULE_TYPE [--schedule-time=RESHEDULE_TIME]
請替換下列項目:
- CLUSTER_ID:叢集 ID。
- PROJECT_ID:包含叢集的 Google Cloud 專案 ID 或編號。
- REGION_ID:叢集所在的區域。
RESCHEDULE_TYPE:重新安排的更新類型。可用的值如下:
IMMEDIATE:立即開始維護更新。SPECIFIC_TIME:指定更新時間。這個時間不得超過原始維護時間的 14 天。
RESCHEDULE_TIME:Memorystore for Redis Cluster 重新排定維護更新的日期和時間。
後續步驟
- 如要管理 Memorystore for Redis Cluster 叢集的維護時段,請參閱權限。