本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
開始遷移
完成所有先決條件之後,您就可以開始使用 AWS Management Console、ElastiCache API 或 AWS CLI進行資料遷移。若叢集模式已啟用,在槽位遷移不同的情況下,則會先進行重新分片,再進行即時遷移。以下範例顯示使用 CLI。
注意
我們建議使用 TestMigration
API 驗證遷移設定。不過這僅限選用。
使用以下參數呼叫 start-migration
命令以開始遷移:
-
--replication-group-id
- 目標 ElastiCache 複寫群組的識別碼 -
--customer-node-endpoint-list
– 端點清單,其中包含 DNS 或 IP 地址,以及來源 Valkey 或 Redis OSS 叢集正在執行的連接埠。此清單針對叢集模式已停用和叢集模式已啟用只能採用一個元素。如果您已啟用鏈結複寫,端點可以指向複本,而不是 Valkey 或 Redis OSS 叢集中的主節點。
以下是使用 CLI 的範例。
aws elasticache start-migration --replication-group-id test-cluster --customer-node-endpoint-list "Address='10.0.0.241',Port=6379"
當您執行此命令時,ElastiCache 主節點 (在每個碎片中) 會自行設定成 Valkey 或 Redis OSS 執行個體的複本 (在叢集中擁有相同插槽的對應碎片中)。ElastiCache 叢集的狀態變更為遷移,且資料開始從您的 Valkey 或 Redis OSS 執行個體遷移至 ElastiCache 主節點。根據資料的大小和 Valkey 或 Redis OSS 執行個體上的載入,遷移可能需要一些時間才能完成。您可以在 Valkey 執行個體和 ElastiCache 主節點上執行 valkey-cli INFO
複寫成功後,所有寫入您的 Valkey 或 Redis OSS 執行個體都會傳播至 ElastiCache 叢集。您可以針對讀取使用 ElastiCache 節點。不過,您無法寫入至 ElastiCache 叢集。如果 ElastiCache 主節點有其他連線的複本節點,這些複本節點會持續從 ElastiCache 主節點複寫。如此一來,您 Valkey 或 Redis OSS 叢集中的所有資料都會複寫至 ElastiCache 叢集中的所有節點。
如果 ElastiCache 主節點無法成為您 Valkey 或 Redis OSS 執行個體的複本,它會重試數次,最後將自己提升回主節點。然後 ElastiCache 叢集的狀態會變更為 available (可用),也會傳送有關起始遷移作業失敗的複寫群組事件。若要對此類失敗進行故障診斷,請執行以下檢查:
-
查看複寫群組事件。任何有關事件的特定資訊以修正遷移失敗的問題。
-
如果事件不提供任何特定資訊,請確保您已遵循 準備您的來源和目標以進行遷移 中的指導方針。
-
請確定 VPC 和子網路的路由組態允許 ElastiCache 節點與 Valkey 或 Redis OSS 執行個體之間的流量。
-
確保連接到 Valkey 或 Redis OSS 執行個體的安全群組允許來自 ElastiCache 節點的輸入繫結流量。
-
如需複寫特定故障的詳細資訊,請檢查執行個體的 Valkey 或 Redis OSS 日誌。