什麼是 Azure 受控 Redis (預覽版) 與 Azure Private Link?
在本文中,您將瞭解如何使用 Azure 入口網站,建立具有私人端點的虛擬網路和 Azure 受控 Redis 實例。 您也會瞭解如何將私人端點新增至現有的 Azure 受控 Redis 實例。
Azure 私人端點是一種網路介面,可以私人且安全的方式連接至 Azure 私人連結支援的 Azure 受控 Redis。
重要
使用私人端點連線到 虛擬網絡 是保護網路層上 Azure 受控 Redis (預覽) 資源的建議解決方案。
必要條件
- Azure 訂用帳戶 - 建立免費帳戶
使用新的 Azure 受控 Redis 實例建立私人端點
在本節中,您會使用私人端點建立新的 Azure 受控 Redis 實例。
為您的新快取建立虛擬網路
若要使用入口網站建立快取:
登入 Azure 入口網站,然後選取 [建立資源]。
在 [新增] 頁面上,選取 [網絡],然後選取 [虛擬網路]。
選取 [新增] 來建立虛擬網路。
在 [建立虛擬網路] 的 [基本] 索引標籤中輸入或選取此資訊:
設定 建議的值 描述 訂用帳戶 下拉並選取您的訂用帳戶。 建立此虛擬網路的訂用帳戶。 資源群組 下拉並選取資源群組,或選取 [新建] 並輸入新的資源群組名稱。 要在其中建立虛擬網路和其他資源的資源群組名稱。 將所有的應用程式資源放在一個資源群組中,您將可輕鬆地一併管理或刪除這些資源。 名稱 輸入虛擬網路名稱。 名稱必須以字母或數字開頭,以字母、數字或底線結尾,且只能包含字母、數字、底線、句號 (.) 或連字號。 區域 下拉並選取區域。 選取要使用虛擬網路的其他服務附近的區域。 選取 [IP 位址] 索引標籤,或選取頁面底部的 [下一步:IP 位置] 按鈕。
在 [IP 位址] 索引標籤中,將 [IPv4 位址空間] 指定為 CIDR 標記法中的一或多個位址首碼 (例如,192.168.1.0/24)。
在 [子網路名稱] 底下,選取 [預設] 以編輯子網路的屬性。
在 [編輯子網路] 窗格中,指定 [子網路名稱] 和 [子網路位址範圍]。 子網路的位址範圍應以 CIDR 標記法表示 (例如,192.168.1.0/24)。 其必須包含在虛擬網路的位址空間中。
選取 [儲存]。
選取 [檢閱 + 建立] 索引標籤,或選取 [檢閱 + 建立] 按鈕。
確認所有資訊都正確無誤,然後選取 [建立] 以建立虛擬網路。
使用私人端點建立 Azure 受控 Redis 實例
若要建立快取執行個體,請遵循下列步驟:
回到 Azure 入口網站首頁或開啟資訊看板功能表,然後選取 [建立資源]。
在搜尋方塊中,輸入 Azure Cache for Redis。 僅精簡搜尋至 Azure 服務,然後選取 [Azure Cache for Redis]。
在 [新的 Redis 快取] 頁面上,設定新快取的設定。
- 在快取 SKU 中選取 Azure 受控 Redis 快取。
- 在 [快取大小] 中選取適當的選項。
選取 [網路] 索引標籤,或選取頁面底部的 [網路] 按鈕。
在 [網路] 索引標籤上,選取 [私人端點] 作為連線方法。
選取 [新增] 按鈕以建立私人端點。
在 [建立私人端點] 頁面上,使用您在上節中建立的虛擬網路和子網路設定私人端點的設定,然後選取 [確定]。
選取 [下一步: 進階] 索引標籤,或選取頁面底部的 [下一步: 進階] 按鈕。
在基本或標準快取執行個體的 [進階] 索引標籤中,如果您想要啟用非 TLS 連接埠,請選取啟用切換。
在高階快取執行個體的 [進階] 索引標籤中,設定非 TLS 連接埠、叢集和資料持續性的設定。
選取 [下一步: 標記] 索引標籤,或選取頁面底部的 [下一步: 標記] 按鈕。
在 [標記] 索引標籤中,如果您想要分類資源,可以選擇性地輸入名稱和值。
選取 [檢閱 + 建立]。 您會移至 [檢閱 + 建立] 索引標籤,其中 Azure 會驗證您的設定。
出現綠色的「通過驗證」訊息之後,請選取 [建立]。
建立快取需要一些時間。 您可以在 Azure 受控 Redis 概觀 頁面上監視進度。 當 [狀態] 顯示為 [執行中] 時,表示快取已可供使用。
使用現有的 Azure 受控 Redis 實例建立私人端點
在本節中,您會將私人端點新增至現有的 Azure 受控 Redis 實例。
為現有的快取建立虛擬網路
若要建立虛擬網路,請遵循下列步驟:
登入 Azure 入口網站,然後選取 [建立資源]。
在 [新增] 頁面上,選取 [網絡],然後選取 [虛擬網路]。
選取 [新增] 來建立虛擬網路。
在 [建立虛擬網路] 的 [基本] 索引標籤中輸入或選取此資訊:
設定 建議的值 描述 訂用帳戶 下拉並選取您的訂用帳戶。 建立此虛擬網路的訂用帳戶。 資源群組 下拉並選取資源群組,或選取 [新建] 並輸入新的資源群組名稱。 要在其中建立虛擬網路和其他資源的資源群組名稱。 將所有的應用程式資源放在一個資源群組中,您將可輕鬆地一併管理或刪除這些資源。 名稱 輸入虛擬網路名稱。 名稱必須以字母或數字開頭,以字母、數字或底線結尾,且只能包含字母、數字、底線、句號 (.) 或連字號。 區域 下拉並選取區域。 選取要使用虛擬網路的其他服務附近的區域。 選取 [IP 位址] 索引標籤,或選取頁面底部的 [下一步:IP 位置] 按鈕。
在 [IP 位址] 索引標籤中,將 [IPv4 位址空間] 指定為 CIDR 標記法中的一或多個位址首碼 (例如,192.168.1.0/24)。
在 [子網路名稱] 底下,選取 [預設] 以編輯子網路的屬性。
在 [編輯子網路] 窗格中,指定 [子網路名稱] 和 [子網路位址範圍]。 子網路的位址範圍應以 CIDR 標記法表示 (例如,192.168.1.0/24)。 其必須包含在虛擬網路的位址空間中。
選取 [儲存]。
選取 [檢閱 + 建立] 索引標籤,或選取 [檢閱 + 建立] 按鈕。
確認所有資訊都正確無誤,然後選取 [建立] 以建立虛擬網路。
建立私人端點
若要建立私人端點,請遵循下列步驟:
在 Azure 入口網站中,搜尋 Azure Cache for Redis。 然後,按 Enter 鍵,或從快取的搜尋建議中選取它。
選取要新增私人端點的快取執行個體。
在畫面左側,選取 [私人端點]。
選取 [私人端點] 按鈕以建立私人端點。
在 [建立私人端點] 頁面上,設定私人端點的設定。
設定 建議的值 描述 訂用帳戶 下拉並選取您的訂用帳戶。 建立此私人端點的訂用帳戶。 資源群組 下拉並選取資源群組,或選取 [新建] 並輸入新的資源群組名稱。 要在其中建立私人端點和其他資源的資源群組名稱。 將所有的應用程式資源放在一個資源群組中,您將可輕鬆地一併管理或刪除這些資源。 名稱 輸入私人端點名稱。 名稱必須以字母或數字開頭,以字母、數字或底線結尾,且只能包含字母、數字、底線、句號 (.) 或連字號。 區域 下拉並選取區域。 選取要使用私人端點的其他服務附近的區域。 選取頁面底部的 [下一步: 資源]。
在 [資源] 索引標籤中,選取您的訂用帳戶、選擇資源類型作為
Microsoft.Cache/redisEnterprise
,然後選取要連線私人端點的快取。選取頁面底部的 [下一步: 設定] 按鈕。
選取頁面底部的 [下一步: 虛擬網路] 按鈕。
在 [設定] 索引標籤中,選取您在上一節中建立的虛擬網路和子網路。
在 [虛擬網路] 索引標籤中,選取您在上一節中建立的虛擬網路和子網路。
選取頁面底部的 [下一步: 標記] 按鈕。
在 [標記] 索引標籤中,如果您想要分類資源,可以選擇性地輸入名稱和值。
選取 [檢閱 + 建立]。 您會移至 [檢閱 + 建立] 索引標籤,其中 Azure 會驗證您的設定。
出現綠色的 [通過驗證] 訊息之後,請選取 [建立]。
重要
根據預設,有一個 publicNetworkAccess
旗標,即 Disabled
。
您可以將值設定為 Disabled
或 Enabled
。 當設定為 [已啟用] 時,此旗標允許對快取進行公用和私人端點存取。 當設定為 Disabled
時,只允許私人端點存取。 如需如何變更值的詳細資訊,請參閱常見問題。
使用 Azure PowerShell 建立私人端點
若要為現有的 Azure 受控 Redis 實例建立名為 MyPrivateEndpoint 的私人端點,請執行下列 PowerShell 腳本。 將變數值取代為環境的詳細資料:
$SubscriptionId = "<your Azure subscription ID>"
# Resource group where the Azure Managed Redis instance and virtual network resources are located
$ResourceGroupName = "myResourceGroup"
# Name of the Azure Managed 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 受控 Redis 實例建立名為 myPrivateEndpoint 的私人端點,請執行下列 Azure CLI 腳本。 將變數值取代為環境的詳細資料:
# Resource group where the Azure Managed Redis and virtual network resources are located
ResourceGroupName="myResourceGroup"
# Subscription ID where the Azure Managed Redis and virtual network resources are located
SubscriptionId="<your Azure subscription ID>"
# Name of the existing Azure Managed 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/redisEnterprise/$redisCacheName" \
--group-ids "redisEnterprise" \
--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
常見問題集
- 如何使用私人端點連線到我的快取?
- 為何我無法連線到私人端點?
- 私人端點不支援哪些功能?
- 如何驗證我的私人端點是否已正確設定?
- 如何從公用網路存取將私人端點變更為已停用或已啟用?
- 如何在不同的虛擬網路中具有多個端點?
- 如果我刪除快取上的所有私人端點,會發生什麼情況?
- 是否針對私人端點啟用網路安全性群組 (NSG)?
- 我的私人端點執行個體不在我的 VNet 中,因此其如何與我的 VNet 相關聯?
如何使用私人端點連線到我的快取?
您的應用程式應該在連接埠 10000
上連線到 <cachename>.<region>.redis.azure.net
。 在您的訂用帳戶中,會自動建立名為 *.privatelink.redis.azure.net
的私人 DNS 區域。 私人 DNS 區域對於與私人端點建立 TLS 連線至關重要。 建議您避免 <cachename>.privatelink.redis.azure.net
在組態中使用 用戶端連線。
如需詳細資訊,請參閱 Azure 服務 DNS 區域設定。
為何我無法連線到私人端點?
如果您的快取已插入虛擬網路 (VNet) 快取,則私人端點無法與快取實例搭配使用。
Azure 受控 Redis 快取限制為 84 個私人連結。
您嘗試將資料保存到儲存體帳戶,其中套用的防火牆規則可能會阻止您建立私人連結。
如果您的快取執行個體使用不支援的功能,您可能無法連線到私人端點。
私人端點不支援哪些功能?
- 搭配 Azure 受控 Redis 使用私人端點沒有任何限制(預覽)。
如何驗證我的私人端點是否已正確設定?
移至入口網站上 [資源] 功能表中的 [概觀]。 您會在工作窗格中看到快取的 [主機名稱]。 若要確認命令解析為快取的私人IP位址,請從連結至私人端點的VNet中執行類似 nslookup <hostname>
命令。
如何從公用網路存取將私人端點變更為已停用或已啟用?
若要變更 Azure 入口網站中的值,請遵循下列步驟:
在 Azure 入口網站中,搜尋 Azure 受控 Redis。 然後,按 Enter 鍵,或從搜尋建議中進行選取。
選取您想要變更其公用網路存取值的快取執行個體。
在畫面左側,選取 [私人端點]。
刪除私人端點。
如何在不同的虛擬網路中具有多個端點?
若要在不同的虛擬網路中具有多個私人端點,私人 DNS 區域必須先手動設定為多個虛擬網路,然後才能建立私人端點。 如需詳細資訊,請參閱 Azure 私人端點 DNS 設定。
如果我刪除快取上的所有私人端點,會發生什麼情況?
如果您刪除 Azure 受控 Redis 快取上的所有私人端點(預覽版)快取,網路功能預設會具有公用網路存取權。
是否針對私人端點啟用網路安全性群組 (NSG)?
否,私人端點會停用它們。 雖然包含私人端點的子網路可以有相關聯的 NSG,但這些規則對私人端點所處理的流量無效。 您必須停用網路原則強制,才能在子網路中部署私人端點。 在相同子網路上裝載的其他工作負載上,仍會強制執行 NSG。 任何用戶端子網上的路由都使用 /32 前置詞,變更預設路由行為需要類似的UDR。
針對來源用戶端上的連出流量使用 NSG 規則,以控制流量。 部署具有 /32 前置詞的個別路由,以覆寫私人端點路由。 連出連線的 NSG 流程記錄和監視資訊仍然受支援且可供使用。
我的私人端點執行個體不在我的 VNet 中,因此其如何與我的 VNet 相關聯?
您的私人端點只會連結至您的 VNet。 因為其不在 VNet 中,所以不需要針對相依端點修改 NSG 規則。
相關內容
- 若要深入了解 Azure Private Link,請參閱 Azure Private Link 文件。
- 若要比較快取的各種網路隔離選項,請參閱 Azure Cache for Redis 網路隔離選項文件。