共用方式為


什麼是 Azure Cache for Redis 與 Azure Private Link?

在本文中,您會了解如何使用 Azure 入口網站,搭配私人端點建立虛擬網路和 Azure Cache for Redis 執行個體。 您也會了解如何將私人端點新增至現有的 Azure Cache for Redis 執行個體。

Azure 私人端點是一種網路介面,可讓您以私人且安全地方式連線至 Azure Private Link 所支援的 Azure Cache for Redis。

您可以停用 PublicNetworkAccess 旗標,來限制公用存取快取的私人端點。

重要

根據預設,有一個 publicNetworkAccess 旗標,即 Disabled。 您可以將值設定為 DisabledEnabled。 當設定為 [已啟用] 時,此旗標允許對快取進行公用和私人端點存取。 當設定為 Disabled 時,只允許私人端點存取。 Enterprise 或 Enterprise Flash 層皆未支援 publicNetworkAccess 旗標。 如需如何變更值的詳細資訊,請參閱常見問題

重要

快取層 (基本、標準、進階和 Enterprise) 均支援私人端點。 建議您使用私用端點替代 VNet。 私人端點受所有階層支援,很容易設定或移除,更可一次連線快取與多個不同的 VNet。

使用基本層時,當您刪除並重新建立私人端點時,可能會遇到資料遺失。

可用性範圍

基本、標準、進階 Enterprise,Enterprise Flash Azure 受控 Redis (預覽)
可用的 Yes .是 Yes

必要條件

重要

目前,私人連結不支援入口網站型 redis 主控台

重要

使用私人連結時,除非您使用具有受控識別的進階層快 取來向記憶體帳戶進行驗證,否則您無法將數據匯出或匯入已啟用防火牆的記憶體帳戶。 如需詳細資訊,請參閱 如果我的儲存體帳戶已啟用防火牆該怎麼辦?

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

在本節中,您要使用私人端點建立新的 Azure Cache for Redis 執行個體。

為您的新快取建立虛擬網路

  1. 登入 Azure 入口網站,然後選取 [建立資源]

    選取 [建立資源]。

  2. 在 [新增] 頁面上,選取 [網絡],然後選取 [虛擬網路]

  3. 選取 [新增] 來建立虛擬網路。

  4. 在 [建立虛擬網路] 的 [基本] 索引標籤中輸入或選取此資訊:

    設定 建議的值 描述
    訂用帳戶 下拉並選取您的訂用帳戶。 要在其下建立此虛擬網路的訂用帳戶。
    資源群組 下拉並選取資源群組,或選取 [新建] 並輸入新的資源群組名稱。 要在其中建立虛擬網路和其他資源的資源群組名稱。 將所有的應用程式資源放在一個資源群組中,您將可輕鬆地一併管理或刪除這些資源。
    名稱 輸入虛擬網路名稱。 名稱必須以字母或數字開頭,以字母、數字或底線結尾,且只能包含字母、數字、底線、句號 (.) 或連字號。
    區域 下拉並選取區域。 選取要使用虛擬網路的其他服務附近的區域
  5. 選取 [IP 位址] 索引標籤,或選取頁面底部的 [下一步:IP 位置] 按鈕。

  6. 在 [IP 位址] 索引標籤中,將 [IPv4 位址空間] 指定為 CIDR 標記法中的一或多個位址首碼 (例如,192.168.1.0/24)。

  7. 在 [子網路名稱] 底下,選取 [預設] 以編輯子網路的屬性。

  8. 在 [編輯子網路] 窗格中,指定 [子網路名稱] 和 [子網路位址範圍]。 子網路的位址範圍應以 CIDR 標記法表示 (例如,192.168.1.0/24)。 其必須包含在虛擬網路的位址空間中。

  9. 選取 [儲存]。

  10. 選取 [檢閱 + 建立] 索引標籤,或選取 [檢閱 + 建立] 按鈕。

  11. 確認所有資訊都正確無誤,然後選取 [建立] 以建立虛擬網路。

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

若要建立快取執行個體,請遵循下列步驟:

  1. 回到 Azure 入口網站首頁或開啟資訊看板功能表,然後選取 [建立資源]

  2. 在 [新增] 頁面上選取 [資料庫],然後選取 [Azure Cache for Redis]

    選取 Azure Cache for Redis。

  3. 在 [新的 Redis 快取] 頁面上,設定新快取的設定。

    設定 建議的值 描述
    DNS 名稱 輸入全域唯一名稱。 快取名稱必須是介於 1 到 63 個字元之間的字串。 字串必須只包含數字、字母或連字號。 名稱的開頭和結尾必須是數字或字母,且不可包含連續的連字號。 快取執行個體的「主機名稱」為「<DNS 名稱>.redis.cache.windows.net」
    訂用帳戶 下拉並選取您的訂用帳戶。 這個新的 Azure Cache for Redis 執行個體建立所在的訂用帳戶。
    資源群組 下拉並選取資源群組,或選取 [新建] 並輸入新的資源群組名稱。 用來建立快取和其他資源的資源群組名稱。 將所有的應用程式資源放在一個資源群組中,您將可輕鬆地一併管理或刪除這些資源。
    地點 下拉並選取位置。 選取其他要使用快取之服務附近的區域
    定價層 下拉並選取 定價層 快取的可用大小、效能和功能取決於定價層。 如需詳細資訊,請參閱 Azure Cache for Redis 概觀
  4. 選取 [網路] 索引標籤,或選取頁面底部的 [網路] 按鈕。

  5. 在 [網路] 索引標籤上,選取 [私人端點] 作為連線方法。

  6. 選取 [新增] 按鈕以建立私人端點。

    在網路中,新增私人端點。

  7. 在 [建立私人端點] 頁面上,使用您在上節中建立的虛擬網路和子網路設定私人端點的設定,然後選取 [確定]

  8. 選取 [下一步: 進階] 索引標籤,或選取頁面底部的 [下一步: 進階] 按鈕。

  9. 在基本或標準快取執行個體的 [進階] 索引標籤中,如果您想要啟用非 TLS 連接埠,請選取啟用切換。

  10. 在高階快取執行個體的 [進階] 索引標籤中,設定非 TLS 連接埠、叢集和資料持續性的設定。

  11. 選取 [下一步: 標記] 索引標籤,或選取頁面底部的 [下一步: 標記] 按鈕。

  12. 在 [標記] 索引標籤中,如果您想要分類資源,可以選擇性地輸入名稱和值。

  13. 選取 [檢閱 + 建立]。 您會移至 [檢閱 + 建立] 索引標籤,其中 Azure 會驗證您的設定。

  14. 出現綠色的「通過驗證」訊息之後,請選取 [建立]

建立快取需要一些時間。 您可以在 Azure Cache for Redis 的 [概觀] 頁面上監視進度。 當 [狀態] 顯示為 [執行中] 時,表示快取已可供使用。

重要

根據預設,有一個 publicNetworkAccess 旗標,即 Disabled。 您可以將值設定為 DisabledEnabled。 當設定為 Enabled 時,此旗標允許對快取進行公用和私人端點存取。 當設定為 Disabled 時,只允許私人端點存取。 如需如何變更值的詳細資訊,請參閱常見問題

使用現有的 Azure Cache for Redis 執行個體建立私人端點

在本節中,您會將私人端點新增至現有的 Azure Cache for Redis 執行個體。

為現有的快取建立虛擬網路

若要建立虛擬網路,請遵循下列步驟:

  1. 登入 Azure 入口網站,然後選取 [建立資源]

  2. 在 [新增] 頁面上,選取 [網絡],然後選取 [虛擬網路]

  3. 選取 [新增] 來建立虛擬網路。

  4. 在 [建立虛擬網路] 的 [基本] 索引標籤中輸入或選取此資訊:

    設定 建議的值 描述
    訂用帳戶 下拉並選取您的訂用帳戶。 要在其下建立此虛擬網路的訂用帳戶。
    資源群組 下拉並選取資源群組,或選取 [新建] 並輸入新的資源群組名稱。 要在其中建立虛擬網路和其他資源的資源群組名稱。 將所有的應用程式資源放在一個資源群組中,您將可輕鬆地一併管理或刪除這些資源。
    名稱 輸入虛擬網路名稱。 名稱必須以字母或數字開頭,以字母、數字或底線結尾,且只能包含字母、數字、底線、句號 (.) 或連字號。
    區域 下拉並選取區域。 選取要使用虛擬網路的其他服務附近的區域
  5. 選取 [IP 位址] 索引標籤,或選取頁面底部的 [下一步:IP 位置] 按鈕。

  6. 在 [IP 位址] 索引標籤中,將 [IPv4 位址空間] 指定為 CIDR 標記法中的一或多個位址首碼 (例如,192.168.1.0/24)。

  7. 在 [子網路名稱] 底下,選取 [預設] 以編輯子網路的屬性。

  8. 在 [編輯子網路] 窗格中,指定 [子網路名稱] 和 [子網路位址範圍]。 子網路的位址範圍應以 CIDR 標記法表示 (例如,192.168.1.0/24)。 其必須包含在虛擬網路的位址空間中。

  9. 選取 [儲存]。

  10. 選取 [檢閱 + 建立] 索引標籤,或選取 [檢閱 + 建立] 按鈕。

  11. 確認所有資訊都正確無誤,然後選取 [建立] 以建立虛擬網路。

建立私人端點

若要建立私人端點,請遵循下列步驟:

  1. 在 Azure 入口網站中,搜尋 Azure Cache for Redis。 然後,按 Enter 鍵,或從搜尋建議中進行選取。

    搜尋 Azure Cache for Redis。

  2. 選取要新增私人端點的快取執行個體。

  3. 在畫面左側,選取 [私人端點]

  4. 選取 [私人端點] 按鈕以建立私人端點。

    新增私人端點。

  5. 在 [建立私人端點] 頁面上,設定私人端點的設定。

    設定 建議的值 描述
    訂用帳戶 下拉並選取您的訂用帳戶。 要在其下建立此私人端點的訂用帳戶。
    資源群組 下拉並選取資源群組,或選取 [新建] 並輸入新的資源群組名稱。 要在其中建立私人端點和其他資源的資源群組名稱。 將所有的應用程式資源放在一個資源群組中,您將可輕鬆地一併管理或刪除這些資源。
    名稱 輸入私人端點名稱。 名稱必須以字母或數字開頭,以字母、數字或底線結尾,且只能包含字母、數字、底線、句號 (.) 或連字號。
    區域 下拉並選取區域。 選取要使用私人端點的其他服務附近的區域
  6. 選取頁面底部的 [下一步: 資源]

  7. 在 [資源] 索引標籤中,選取您的訂用帳戶、選擇資源類型作為 Microsoft.Cache/Redis,然後選取要連線私人端點的快取。

  8. 選取頁面底部的 [下一步: 設定] 按鈕。

  9. 選取頁面底部的 [下一步: 虛擬網路] 按鈕。

  10. 在 [設定] 索引標籤中,選取您在上一節中建立的虛擬網路和子網路。

  11. 在 [虛擬網路] 索引標籤中,選取您在上一節中建立的虛擬網路和子網路。

  12. 選取頁面底部的 [下一步: 標記] 按鈕。

  13. 在 [標記] 索引標籤中,如果您想要分類資源,可以選擇性地輸入名稱和值。

  14. 選取 [檢閱 + 建立]。 您會移至 [檢閱 + 建立] 索引標籤,其中 Azure 會驗證您的設定。

  15. 出現綠色的 [通過驗證] 訊息之後,請選取 [建立]

重要

根據預設,有一個 publicNetworkAccess 旗標,即 Disabled。 您可以將值設定為 DisabledEnabled。 當設定為 [已啟用] 時,此旗標允許對快取進行公用和私人端點存取。 當設定為 Disabled 時,只允許私人端點存取。 如需如何變更值的詳細資訊,請參閱常見問題

使用 Azure PowerShell 建立私人端點

若要為現有的 Azure Cache for Redis 執行個體建立名為 MyPrivateEndpoint 的私人端點,請執行下列 PowerShell 指令碼。 將變數值取代為環境的詳細資料:


$SubscriptionId = "<your Azure subscription ID>"
# Resource group where the Azure Cache for Redis instance and virtual network resources are located
$ResourceGroupName = "myResourceGroup"
# Name of the Azure Cache for Redis instance
$redisCacheName = "mycacheInstance"

# Name of the existing virtual network
$VNetName = "myVnet"
# Name of the target subnet in the virtual network
$SubnetName = "mySubnet"
# Name of the private endpoint to create
$PrivateEndpointName = "MyPrivateEndpoint"
# Location where the private endpoint can be created. The private endpoint should be created in the same location where your subnet or the virtual network exists
$Location = "westcentralus"

$redisCacheResourceId = "/subscriptions/$($SubscriptionId)/resourceGroups/$($ResourceGroupName)/providers/Microsoft.Cache/Redis/$($redisCacheName)"

$privateEndpointConnection = New-AzPrivateLinkServiceConnection -Name "myConnectionPS" -PrivateLinkServiceId $redisCacheResourceId -GroupId "redisCache"
 
$virtualNetwork = Get-AzVirtualNetwork -ResourceGroupName  $ResourceGroupName -Name $VNetName  
 
$subnet = $virtualNetwork | Select -ExpandProperty subnets | Where-Object  {$_.Name -eq $SubnetName}  
 
$privateEndpoint = New-AzPrivateEndpoint -ResourceGroupName $ResourceGroupName -Name $PrivateEndpointName -Location "westcentralus" -Subnet  $subnet -PrivateLinkServiceConnection $privateEndpointConnection

使用 Azure PowerShell 擷取私人端點

若要取得私人端點的詳細資料,請使用下列 PowerShell 命令:

Get-AzPrivateEndpoint -Name $PrivateEndpointName -ResourceGroupName $ResourceGroupName

使用 Azure PowerShell 移除私人端點

若要移除私人端點,請使用下列 PowerShell 命令:

Remove-AzPrivateEndpoint -Name $PrivateEndpointName -ResourceGroupName $ResourceGroupName

使用 Azure CLI 建立私人端點

若要為現有的 Azure Cache for Redis 執行個體建立名為 myPrivateEndpoint 的私人端點,請執行下列 Azure CLI 指令碼。 將變數值取代為環境的詳細資料:

# Resource group where the Azure Cache for Redis and virtual network resources are located
ResourceGroupName="myResourceGroup"

# Subscription ID where the Azure Cache for Redis and virtual network resources are located
SubscriptionId="<your Azure subscription ID>"

# Name of the existing Azure Cache for Redis instance
redisCacheName="mycacheInstance"

# Name of the virtual network to create
VNetName="myVnet"

# Name of the subnet to create
SubnetName="mySubnet"

# Name of the private endpoint to create
PrivateEndpointName="myPrivateEndpoint"

# Name of the private endpoint connection to create
PrivateConnectionName="myConnection"

az network vnet create \
    --name $VNetName \
    --resource-group $ResourceGroupName \
    --subnet-name $SubnetName

az network vnet subnet update \
    --name $SubnetName \
    --resource-group $ResourceGroupName \
    --vnet-name $VNetName \
    --disable-private-endpoint-network-policies true

az network private-endpoint create \
    --name $PrivateEndpointName \
    --resource-group $ResourceGroupName \
    --vnet-name $VNetName  \
    --subnet $SubnetName \
    --private-connection-resource-id "/subscriptions/$SubscriptionId/resourceGroups/$ResourceGroupName/providers/Microsoft.Cache/Redis/$redisCacheName" \
    --group-ids "redisCache" \
    --connection-name $PrivateConnectionName

使用 Azure CLI 擷取私人端點

若要取得私人端點的詳細資料,請使用下列 CLI 命令:

az network private-endpoint show --name MyPrivateEndpoint --resource-group MyResourceGroup

使用 Azure CLI 移除私人端點

若要移除私人端點,請使用下列 CLI 命令:

az network private-endpoint delete --name MyPrivateEndpoint --resource-group MyResourceGroup

常見問題集

如何使用私人端點連線到我的快取?

針對基本、標準和進階層快取,您的應用程式應該在 6380 連接埠上連線到 <cachename>.redis.cache.windows.net。 在您的訂用帳戶中,會自動建立名為 *.privatelink.redis.cache.windows.net 的私人 DNS 區域。 私人 DNS 區域對於與私人端點建立 TLS 連線至關重要。 建議您避免在設定或連接字串中使用 <cachename>.privatelink.redis.cache.windows.net

針對 Enterprise 和 Enterprise Flash 層快取,您的應用程式應該連線到 10000 連接埠上的 <cachename>.<region>.redisenterprise.cache.azure.net。 如果您使用 OSS 叢集,則用戶端連結庫也會在埠 8500 - 8599 上建立 Redis Enterprise 實例的連線,因為您的應用程式需要在 OSS 叢集設定中個別連線到每個分區。

如需詳細資訊,請參閱 Azure 服務 DNS 區域設定

為何我無法連線到私人端點?

  • 如果您的快取已是 VNet 插入的快取,私人端點無法與您的快取執行個體搭配使用。

  • 針對基本、標準和進階層快取,您只能使用100個私人連結。

  • 在使用叢集的進階層快取上,您只能使用一個私人連結。

  • Enterprise 和 Enterprise Flash 層快取僅限使用 84 個私人連結。

  • 您嘗試將資料保存到儲存體帳戶,其中套用的防火牆規則可能會阻止您建立私人連結。

  • 如果您的快取執行個體使用不支援的功能,您可能無法連線到私人端點。

私人端點不支援哪些功能?

  • 嘗試從 Azure 入口網站主控台進行連線是不支援的情節,在其中您會看到連線失敗。

  • 私人連結無法新增至已在進階層中使用被動式異地複寫的快取。 若要將私人連結新增至異地複寫快取:1。 取消連結異地複寫。 2. 使用私人連結。 3. 最後,重新連結異地複寫。 (使用 作用中異地復 寫的企業層快取沒有此限制。

如何驗證我的私人端點是否已正確設定?

移至入口網站上 [資源] 功能表中的 [概觀]。 您會在工作窗格中看到快取的 [主機名稱]。 從連結至私人端點的 VNet 內執行類似 nslookup <hostname> 的命令,以驗證命令會解析為快取的私人 IP 位址。

在 Azure 入口網站 中,私人端點 D N S 設定。

如何從公用網路存取將私人端點變更為已停用或已啟用?

有一個預設為 DisabledpublicNetworkAccess 旗標。 當設定為 Enabled 時,此旗標允許對快取進行公用和私人端點存取。 當設定為 Disabled 時,只允許私人端點存取。 您可以在 Azure 入口網站中或使用 RESTful API PATCH 要求,將值設定為 DisabledEnabled

若要變更 Azure 入口網站中的值,請遵循下列步驟:

  1. 在 Azure 入口網站中,搜尋 Azure Cache for Redis。 然後,按 Enter 鍵,或從搜尋建議中進行選取。

  2. 選取您想要變更其公用網路存取值的快取執行個體。

  3. 在畫面左側,選取 [私人端點]

  4. 選取 [啟用公用網路存取] 按鈕。

您也可以透過 RESTful API PATCH 要求變更值。 例如,針對基本、標準或進階層快取使用下列程式碼,並編輯值以反映您所需的快取旗標。

PATCH  https://management.azure.com/subscriptions/{subscription}/resourceGroups/{resourcegroup}/providers/Microsoft.Cache/Redis/{cache}?api-version=2020-06-01
{    "properties": {
       "publicNetworkAccess":"Disabled"
   }
}

如需詳細資訊,請參閱 Redis - 更新

如需如何將 VNet 插入的快取移轉至私人連結快取的不同方法,請參閱我們的移轉指南

如何在不同的虛擬網路中具有多個端點?

若要在不同的虛擬網路中具有多個私人端點,私人 DNS 區域必須先手動設定為多個虛擬網路,然後才能建立私人端點。 如需詳細資訊,請參閱 Azure 私人端點 DNS 設定

如果我刪除快取上的所有私人端點,會發生什麼情況?

一旦在您的快取上刪除了私人端點,快取執行個體就會變得無法連線,直到您明確地啟用公用網路存取,或新增另一個私人端點為止。 您可以在 Azure 入口網站上或透過 RESTful API PATCH 要求變更 publicNetworkAccess 旗標。 如需如何變更值的詳細資訊,請參閱常見問題

是否針對私人端點啟用網路安全性群組 (NSG)?

否,私人端點會停用它們。 雖然包含私人端點的子網路可以有相關聯的 NSG,但這些規則對私人端點所處理的流量無效。 您必須停用網路原則強制,才能在子網路中部署私人端點。 在相同子網路上裝載的其他工作負載上,仍會強制執行 NSG。 任何用戶端子網上的路由都使用 /32 前置詞,變更預設路由行為需要類似的UDR。

針對來源用戶端上的連出流量使用 NSG 規則,以控制流量。 部署具有 /32 前置詞的個別路由,以覆寫私人端點路由。 連出連線的 NSG 流程記錄和監視資訊仍然受支援且可供使用。

我的私人端點執行個體不在我的 VNet 中,因此其如何與我的 VNet 相關聯?

其只會連結到您的 VNet。 因為其不在 VNet 中,所以不需要針對相依端點修改 NSG 規則。