設定 Enterprise Azure Cache for Redis 執行個體的使用中異地複寫 (機器翻譯)

在本文中,您將了解如何使用 Azure 入口網站來設定作用中異地複寫快取。

作用中異地複寫最多可將 Enterprise Azure Cache for Redis 的五個執行個體分組為跨 Azure 區域的單一快取。 所有執行個體都會做為本機、主要快取使用。 應用程式會決定要用於讀取和寫入要求的執行個體。

注意

Azure 區域間的資料傳輸會以標準頻寬費用收費。

可用性範圍

基本和標準 Premium Enterprise,Enterprise Flash
可用

Azure Cache for Redis的進階層提供稱為被動異地複寫的異地複寫版本。 被動異地複寫提供主動-被動設定。

主動式異地複寫必要條件

使用主動式異地複寫時有一些限制:

  • 僅支援 RediSearchRedisJSON 模組
  • 企業快閃 層上,只能使用 [無 收回] 收回原則。 企業層支援所有收回原則。
  • 不支援資料持續性,因為主動式異地複寫提供絕佳的體驗。
  • 您無法將執行) 快取的現有 (新增至異地複寫群組。 建立快取時,您只能將快取新增至異地複寫群組。
  • 異地複寫群組內的所有快取都必須具有相同的設定。 例如,所有快取都必須具有相同的 SKU、容量、收回原則、叢集原則、模組和 TLS 設定。
  • 使用主動式異地複寫時,您無法使用 FLUSHALLFLUSHDB Redis 命令。 禁止命令可防止意外刪除資料。 請改用 排清控制平面作業

建立或加入作用中異地複寫群組

  1. 建立新的 Azure Cache for Redis 資源時,請選取 [進階] 索引標籤。完成表單的第一個部分,包括叢集原則。 如需選擇 叢集原則的詳細資訊,請參閱叢集原則

  2. 選取 [設定] 以設定 [作用中異地複寫]。

    建立新 Redis 快取頁面中的進階索引標籤螢幕擷取畫面。

  3. 為第一個快取執行個體建立新的複寫群組。 或者,從清單中選取現有群組。

    顯示複寫群組的螢幕擷取畫面。

  4. 選取 [設定] 來完成設定。

  5. 等候第一個快取建立成功。 完成時,您會看到 [作用中異地複寫] 中的 [設定] 已設定完成。 針對異地複寫群組中的每個快取執行個體重複上述步驟。

    顯示作用中異地複寫已完成設定的螢幕擷取畫面。

從作用中異地複寫群組中移除

若要從作用中異地複寫群組中移除快取執行個體,您只需刪除執行個體即可。 其餘實例接著會自動重新設定本身。

如果複寫群組中的其中一個快取因區域中斷而無法使用,您可以從複寫群組中強制移除無法使用的快取。

您應該移除無法使用的快取,因為複寫群組中剩餘的快取會開始將尚未共用的中繼資料儲存至無法使用的快取。 發生這種情況時,複寫群組中的可用快取可能會耗盡記憶體。

  1. 前往 Azure 入口網站,然後選取複寫群組中仍可使用的快取之一。

  2. 選取左側 [資源] 功能表中的 [作用中異地複寫],以查看工作窗格中的設定。

    作用中異地複寫群組的螢幕擷取畫面。

  3. 透過勾選方塊來選取您需要強制取消連結的快取。

  4. 選取 [強制取消連結],然後選取 [確定] 以確認執行。

    取消連結作用中異地複寫的螢幕擷取畫面。

  5. 還原受影響區域的可用性後,您必須刪除受影響的快取,然後重新建立快取並新增回複寫群組。

使用 Azure CLI 或 PowerShell 設定作用中異地複寫

Azure CLI

使用 Azure CLI 建立新的快取和異地複寫群組,或將新的快取新增至現有的異地複寫群組。 如需詳細資訊,請參閱 az redisenterprise create

使用 Azure CLI 在新的異地複寫群組中建立新的企業執行個體

此範例會在美國東部區域,建立名為 Cache1 的新 Azure Cache for Redis Enterprise E10 快取執行個體。 然後,快取會新增至名為 replicationGroup 的新作用中異地複寫群組:

az redisenterprise create --location "East US" --cluster-name "Cache1" --sku "Enterprise_E10" --resource-group "myResourceGroup" --group-nickname "replicationGroup" --linked-databases id="/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default"

若要正確設定作用中異地複寫,則正在建立的快取執行個體識別碼必須加上 --linked-databases 參數。 識別碼的格式為:

/subscriptions/<your-subscription-ID>/resourceGroups/<your-resource-group-name>/providers/Microsoft.Cache/redisEnterprise/<your-cache-name>/databases/default

使用 Azure CLI 在現有異地複寫群組中建立新的企業執行個體

此範例會在美國西部區域建立名為 Cache2 的新 Enterprise E10 快取實例。 然後,腳本會將快取新增至上一個程式中的作用中 replicationGroup 異地複寫群組建立。 如此一來,快取會在主動-主動設定中連結 Cache1

az redisenterprise create --location "West US" --cluster-name "Cache2" --sku "Enterprise_E10" --resource-group "myResourceGroup" --group-nickname "replicationGroup" --linked-databases id="/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default" --linked-databases id="/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache2/databases/default"

如前文所述,請使用 --linked-databases 參數列出 Cache1Cache2

Azure PowerShell

使用 Azure PowerShell 建立新的快取和異地複寫群組,或新增快取至現有的異地複寫群組。 如需詳細資訊,請參閱 New-AzRedisEnterpriseCache

使用 PowerShell 在新的異地複寫群組中建立新的企業執行個體

此範例會在美國東部區域,建立名為 Cache1 的新 Azure Cache for Redis Enterprise E10 快取執行個體。 然後,快取會新增至名為 replicationGroup 的新作用中異地複寫群組:

New-AzRedisEnterpriseCache -Name "Cache1" -ResourceGroupName "myResourceGroup" -Location "East US" -Sku "Enterprise_E10" -GroupNickname "replicationGroup" -LinkedDatabase '{id:"/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default"}'

若要正確設定作用中異地複寫,則正在建立的快取執行個體識別碼必須加上 -LinkedDatabase 參數。 識別碼的格式為:

/subscriptions/<your-subscription-ID>/resourceGroups/<your-resource-group-name>/providers/Microsoft.Cache/redisEnterprise/<your-cache-name>/databases/default

使用 PowerShell 在現有異地複寫群組中建立新的企業執行個體

此範例會在美國西部區域建立名為 Cache2 的新 Enterprise E10 快取實例。 然後,腳本會將快取新增至上一個程式中建立的作用中異地複寫群組。 會在作用中-主動設定中連結兩個快取 Cache1Cache2

New-AzRedisEnterpriseCache -Name "Cache2" -ResourceGroupName "myResourceGroup" -Location "West US" -Sku "Enterprise_E10" -GroupNickname "replicationGroup" -LinkedDatabase '{id:"/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default"}', '{id:"/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache2/databases/default"}'

如前文所述,請使用 -LinkedDatabase 參數列出 Cache1Cache2

排清作業

由於可能會遺失意外的資料,因此您無法將 和 FLUSHDB Redis 命令與位於異地複寫群組中的任何快取實例搭配使用 FLUSHALL 。 請改用位於 [作用中異地複寫] 工作窗格頂端的 [排清快取 () ] 按鈕。

顯示 [資源] 功能表中已選取 [作用中異地複寫] 的螢幕擷取畫面,而 [排清快取] 功能周圍有紅色方塊。

使用 Azure CLI 或 PowerShell 排清快取

Azure CLI 和 PowerShell 也可用來觸發排清作業。 如需使用 Azure CLI 的詳細資訊,請參閱 az redisenterprise database flush。 如需使用 PowerShell 的詳細資訊,請參閱 Invoke-AzRedisEnterpriseCacheDatabaseFlush

重要

使用 Flush Caches 功能時請小心。 選取按鈕會從目前快取中移除所有資料,以及從異地複寫群組中的所有連結快取中移除。

使用 Azure 角色型存取控制來管理功能的存取權。 只有已授權的使用者才能獲得清除所有快取的存取權。

下一步

深入了解 Azure Cache for Redis 功能。