從 VNet 插入式快取移轉至 Private Link 快取 (機器翻譯)

本文說明將 Azure Cache for Redis 虛擬網路 (VNet) 插入快取執行個體移轉至 Azure Cache for Redis Private Link快取執行個體的幾個方法。

Azure Private Link 簡化網路架構,並保護 Azure 端點之間的連線。 您可以透過私人端點從虛擬網路連線到 Azure Cache 執行個體,而私人端點會在虛擬網路內的子網路中獲派私人 IP 位址。 針對 Azure Cache for Redi s使用 Azure Private Link 的優點包括:

  • 階層彈性– 我們所有層級都支援 Azure Private Link;基本、標準、進階、Enterprise 和Enterprise Flash。 相較于虛擬網路插入,其只會在我們的進階層上提供。

  • 簡化的網路安全性群組 (NSG) 規則管理- NSG 規則不需要設定為遵守 Azure Cache for Redis 的需求。

  • Azure 原則支援– 請確定組織中所有快取都是使用 Private Link 建立,並稽核您組織現有的快取,以確認它們全都利用 Private Link。

移轉選項

您可以使用幾種不同的方式,從 VNet 插入切換到 Private Link。 根據快取的位置以及您的應用程式與其互動的方式,其中一個方法會比其他方法更有用。 以下詳述一些常用的移轉策略。

如果您使用異地複寫、叢集或 ARM VNet 的任何組合:

選項 優點 缺點
雙重寫入資料至兩個快取 沒有資料遺失或停機時間。 現有快取的未中斷作業。 更容易測試新的快取。 需要兩個快取一段延長的時間。
建立新快取 最簡單的實作方式。 需要將資料重新填入至新的快取,這可能無法與許多應用程式搭配使用。
透過 RDB 檔案匯出和匯入資料 必須移轉資料。 如果某些資料在產生 RDB 檔案之後寫入現有的快取,可能會遺失。
以程式設計方式移轉資料 完全控制資料的移動方式。 需要自訂程式碼。

在移轉期間同時寫入兩個 Redis 快取

除了直接在快取之間移動資料,您也可以使用應用程式將資料寫入現有快取,以及您要設定的新快取。 應用程式一開始仍會從現有的快取讀取資料。 當新的快取具有必要的資料時,請將應用程式切換至該快取,並淘汰舊的快取。 例如,假設您使用 Redis 作為工作階段存放區,而應用程式工作階段有效期為七天。 寫入兩個快取一周之後,您可以確定新的快取包含所有未過期的工作階段資訊。 您可以從那時起放心地依賴它,而不需要擔心資料遺失。

實作此選項的一般步驟如下:

  1. 建立新的使用私人端點的 Azure Cache for Redis 執行個體,其大小相同於 (或大於) 現有的快取。

  2. 修改應用程式程式碼以同時寫入新的和原始執行個體。

  3. 繼續從原始執行個體讀取資料,直到新執行個體已填入足夠資料為止。

  4. 將應用程式程式碼更新為只從新執行個體讀取和寫入。

  5. 刪除原始執行個體。

建立新的 Azure Cache for Redis

這種方法在技術上不是移轉。 如果遺失資料不是考慮的因素,最簡單的移至 Azure Cache for Redis 方式就是建立快取執行個體,並將您的應用程式連線到其中。 例如,如果您使用 Redis 做為資料庫記錄的另行快取,您可以輕鬆地從頭重建快取。

實作此選項的一般步驟如下:

  1. 使用私人端點建立新的 Azure Cache for Redis 實例

  2. 更新應用程式以使用新的執行個體。

  3. 刪除舊的 Redis 執行個體。

將資料匯出至 RDB 檔案,並將其匯入 Azure Cache for Redis (僅限進階版層)

開放原始碼 Redis 會定義標準機制,以擷取快取記憶體內部資料集的快照集,並將其儲存至檔案。 此檔案稱為 RDB,可由另一個 Redis 快取讀取。 Azure Cache for Redis 進階層支援透過 RDB 檔案將資料匯入快取執行個體。 您可以使用 RDB 檔案,將資料從現有的快取傳輸到 Azure Cache for Redis。

重要

RDB 檔案格式可以在 Redis 版本之間變更,而且可能無法維持回溯相容性。 您所匯出快取的 Redis 版本應該等於或小於 Azure Cache for Redis 所提供的版本。

實作此選項的一般步驟如下:

  1. 在進階層中建立新的使用私人端點的 Azure Cache for Redis 執行個體,其大小相同於 (或大於) 現有的快取。

  2. 儲存現有 Redis 快取的快照集。 您可以設定 Redis 定期儲存快照集,或使用 SAVEBGSAVE 命令手動執行程序。 RDB 檔案預設會命名為「dump.rdb」,且位於 redis.conf 設定檔中指定的路徑。

    注意

    如果您要在 Azure Cache for Redis 內移轉資料,請參閱有關如何匯出 RDB 檔案的指示或改用 PowerShell 匯出 Cmdlet

  3. 將 RDB 檔案複製到新快取所在區域中的 Azure 儲存體帳戶。 您可以使用 AzCopy 執行此工作。

  4. 使用這些匯入指示PowerShell 匯入 Cmdlet,將 RDB 檔案匯入至新的快取。

  5. 更新應用程式以使用新的執行個體。

以程式設計方式移轉

以程式設計方式從現有的快取讀取資料,並將其寫入Azure Cache for Redis,以建立自訂移轉程式。 這個開放原始碼工具可用來將資料從某個 Azure Cache for Redis 執行個體複製到另一個。 此工具適用於在不同 Azure 快取區域中的快取執行個體之間移動資料。 編譯的版本也可供使用。 您也可以發現原始程式碼是您在撰寫自己的移轉工具的實用指南。

注意

Microsoft 未正式支援此工具。

實作此選項的一般步驟如下:

  1. 在現有快取所在的區域中建立 VM。 如果您的資料集很大,請選擇相對強大的 VM 以減少複製時間。

  2. 建立新的使用私人端點的 Azure Cache for Redis 執行個體

  3. 從新的快取排清資料,以確保它是空的。 這是必要步驟,因為複製工具本身不會覆寫目標快取中的任何現有索引鍵。

    重要

    請務必不要從來源快取排清。

  4. 使用上述開放原始碼工具之類的應用程式,自動將資料從來源快取複製到目標。 請記住,複製程序可能需要一段時間才能完成,視資料集的大小而定。

下一步