この記事では、仮想ネットワークを作成し、プライベート エンドポイントを持つ Azure Managed Redis インスタンスで使用する方法について説明します。 Azure プライベート エンドポイントは、Azure Private Link を使用した Azure Managed Redis にプライベートかつ安全に接続するネットワーク インターフェイスです。
このプロセスは、次の 2 つの手順で実行されます。
まず、キャッシュで使用する仮想ネットワークを作成します。
次に、キャッシュが既にあるかどうかに応じて、次の手順を実行します。
Von Bedeutung
プライベート エンドポイントを使用して仮想ネットワークに接続することは、ネットワーク レイヤーで Azure Managed Redis リソースをセキュリティで保護するための推奨ソリューションです。
[前提条件]
- Azure サブスクリプション - 無料アカウントを作成する
サブネットを含む仮想ネットワークを作成する
プロセスの最初の手順は、ポータルを使用して仮想ネットワークを作成することです。 その後、 新しいキャッシュ を作成するとき、または既存のキャッシュを使用するときに、この仮想ネットワークを使用します。
Azure Portal にサインインし、[リソースの作成] を選択します。
[ 新しい ] ウィンドウで、[ ネットワーク ] を選択し、[ 仮想ネットワーク] を選択します。
[追加] を選択して仮想ネットワークを作成します。
[ 仮想ネットワークの作成] で、[ 基本 ] ウィンドウで次の情報を入力または選択します。
設定 推奨値 説明 サブスクリプション ドロップダウンで、ご自身のサブスクリプションを選択します。 この仮想ネットワークを作成するサブスクリプション。 リソース グループ ドロップ ダウンでリソース グループを選択するか、[新規作成] を選択し、新しいリソース グループの名前を入力します。 その中に仮想ネットワークやその他のリソースを作成するリソース グループの名前。 すべてのアプリ リソースを 1 つのリソース グループに配置することで、それらをまとめて簡単に管理または削除できます。 仮想ネットワーク名 仮想ネットワーク名を入力します。 名前の先頭は文字または数字、末尾は文字、数字、アンダースコアでなければならず、含めることができるのは文字、数字、アンダースコア、ピリオド、ハイフンのみです。 リージョン ドロップ ダウンでリージョンを選択します。 ご使用の仮想ネットワークを使用する他のサービスの近くのリージョンを選択します。 [ IP アドレス ] ウィンドウを選択するか、ペインの下部にある [次へ: IP アドレス ] ボタンを選択します。
[ IP アドレス] ウィンドウで、 IPv4 アドレス空間 または IPv6 アドレス空間を指定します。 この手順では、 IPv4 アドレス空間を使用します。
[サブネットの追加] を選択します [ サブネット名] で、 既定 を選択するか、名前を追加します。 また、アプリケーションに必要に応じてサブネットのプロパティを編集することもできます。
[] を選択し、[] を追加します。
[ 確認と作成 ] ウィンドウを選択するか、[ 確認と作成 ] ボタンを選択します。
すべての情報が正しいことを確認し、[ 作成 ] を選択して仮想ネットワークを作成します。
仮想ネットワーク サブネットに接続されたプライベート エンドポイントを使用して Azure Managed Redis インスタンスを作成する
Azure Managed Redis Cache インスタンスを作成し、プライベート エンドポイントを追加するには、次の手順に従います。 まず、キャッシュで使用する 仮想ネットワークを作成 する必要があります。
Azure portal のホーム ページに移動するか、サイドバー メニューを開き、[ リソースの作成] を選択します。
検索ボックスに、「 Azure Managed Redis」と入力します。 検索を Azure サービスのみに絞り込み、 Azure Managed Redis を選択します。
新しい Azure Managed Redis パネルで、新しいキャッシュの基本設定を構成します。
[ネットワーク] タブ を 選択するか、作業ウィンドウの下部にある [次へ: ネットワーク ] を選択します。
[ ネットワーク ] ウィンドウで、接続方法として [プライベート エンドポイント ] を選択します。
[ プライベート エンドポイントの追加] を選択して、プライベート エンドポイントを追加します。
[ プライベート エンドポイントの作成 ] ウィンドウで、最後のセクションで作成した仮想ネットワークとサブネットを使用してプライベート エンドポイントの設定を構成し、[ 追加] を選択します。
必要に応じて、他のタブに進んで構成設定を入力します。
[Review + create](レビュー + 作成) を選択します。 [確認と作成] ウィンドウが表示され、Azure によって構成が検証されます。
緑色の検証に成功のメッセージが表示された後、[作成] を選択します。
キャッシュが作成されるまで、しばらく時間がかかります。 Azure Managed Redis の [概要 ] ウィンドウで進行状況を監視できます。 [状態] に "実行中" と表示されている場合は、キャッシュを使用する準備ができています。
既存の Azure Managed Redis インスタンスにプライベート エンドポイントを追加する
このセクションでは、既存の Azure Managed Redis インスタンスにプライベート エンドポイントを追加します。
最初の手順では、既存のキャッシュで使用する 仮想ネットワークを作成 します。
次に、ポータルでキャッシュを開き、最初の手順で 作成したサブネット を追加します。
プライベート エンドポイントを作成したら、次の手順に従います。
Azure portal で、プライベート エンドポイントを追加するキャッシュ インスタンスを選択します。
[管理] のリソース メニューから [プライベート エンドポイント] を選択して、キャッシュのプライベート エンドポイントを作成します。
[ プライベート エンドポイント ] ウィンドウで、[ + プライベート エンドポイント ] を選択して、プライベート エンドポイントの設定を追加します。
設定 推奨値 説明 サブスクリプション ドロップダウンで、ご自身のサブスクリプションを選択します。 仮想ネットワークを作成したサブスクリプション。 リソース グループ ドロップ ダウンでリソース グループを選択するか、[新規作成] を選択し、新しいリソース グループの名前を入力します。 その中にプライベート エンドポイントやその他のリソースを作成するリソース グループの名前。 すべてのアプリ リソースを 1 つのリソース グループに配置することで、それらをまとめて簡単に管理または削除できます。 名前 プライベート エンドポイント名を入力します。 名前は先頭が文字または数字、末尾が文字、数字、アンダースコアでなければならず、中に含めることができるのは文字、数字、アンダースコア、ピリオド、ハイフンのみです。 ネットワーク インターフェイス名 名前に基づいて自動生成されます。 名前は先頭が文字または数字、末尾が文字、数字、アンダースコアでなければならず、中に含めることができるのは文字、数字、アンダースコア、ピリオド、ハイフンのみです。 リージョン ドロップ ダウンでリージョンを選択します。 ご使用のプライベート エンドポイントを使用する他のサービスの近くのリージョンを選択します。 ウィンドウの下部にある [ 次へ: リソース ] を選択します。
[ リソース ] ウィンドウで、サブスクリプションを選択 します。
- 次に、 リソースの種類 として
Microsoft.Cache/redisEnterprise
を選択します。 - 次に、 Resource プロパティのプライベート エンドポイントを接続するキャッシュを選択します。
- 次に、 リソースの種類 として
ウィンドウの下部にある [ 次へ: 仮想ネットワーク ] ボタンを選択します。
[仮想ネットワーク] ウィンドウで、前のセクションで作成した仮想ネットワークとサブネットを選択します。
ウィンドウの下部にある [ 次へ: タグ ] ボタンを選択します。
必要に応じて、[ タグ ] ウィンドウで、リソースを分類する場合は、名前と値を入力します。
[Review + create](レビュー + 作成) を選択します。 [ 確認と作成 ] ウィンドウが表示され、Azure によって構成が検証されます。
緑色の検証に成功のメッセージが表示された後、[作成] を選択します。
Von Bedeutung
現在、Azure Managed Redis リソースの publicNetworkAccess
プロパティはありません。
sPrivate エンドポイントが Azure Managed Redis キャッシュに接続されている場合、接続仮想ネットワークからのプライベート トラフィックのみを受け入れます。
プライベート エンドポイントを削除すると、リソースは自動的にパブリック ネットワーク アクセスに対して開かれます。
Azure PowerShell を使用してプライベート エンドポイントに接続された Azure Managed Redis キャッシュを作成する
既存の Azure Managed 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/redisEnterprise/$($redisCacheName)"
$privateEndpointConnection = New-AzPrivateLinkServiceConnection -Name "myConnectionPS" -PrivateLinkServiceId $redisCacheResourceId -GroupId "redisEnterprise"
$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 Managed Redis Cache を作成する
既存の Azure Managed 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
Azure Managed Redis プライベート エンドポイントのプライベート DNS ゾーン値
アプリケーションは、ポート <cachename>.<region>.redis.azure.net
で 10000
に接続する必要があります。
*.privatelink.redis.azure.net
という名前のプライベート DNS ゾーンがサブスクリプションに自動的に作成されます。 プライベート DNS ゾーンは、プライベート エンドポイントとの TLS 接続を確立するために不可欠です。 クライアント接続用の構成では <cachename>.privatelink.redis.azure.net
を使用しないことをお勧めします。
詳細については、「Azure サービス DNS ゾーンの構成」を参照してください。
よくあるご質問
- プライベート エンドポイントに接続できないのはなぜですか。
- プライベート エンドポイントでサポートされていない機能は何ですか?
- どうすれば、プライベート エンドポイントが正しく構成されていることを確認できますか。
- プライベート エンドポイントをパブリック ネットワーク アクセスに対して無効または有効になるように変更するにはどうすればよいですか。
- 異なる仮想ネットワーク内に複数のエンドポイントを配置するにはどうすればよいですか。
- キャッシュのすべてのプライベート エンドポイントを削除するとどうなりますか。
- ネットワーク セキュリティ グループ (NSG) はプライベート エンドポイントでは有効になっていますか。
- プライベート エンドポイント インスタンスは自分の VNet に含まれていませんが、VNet とどのように関連付けられていますか?
プライベート エンドポイントに接続できないのはなぜですか。
ご利用のキャッシュが既に仮想ネットワーク (VNet) に挿入されたキャッシュである場合、プライベート エンドポイントをキャッシュ インスタンスと共に使用することはできません。
Azure Managed Redis キャッシュは、プライベート リンクが 84 個までに制限されています。
ファイアウォール規則が適用されている ストレージアカウント にデータを永続化しようとすると、プライベートリンクを作成できなくなる可能性があります。
キャッシュインスタンスが サポートされていない機能を使用している場合、プライベートエンドポイントに接続することはできません。
プライベート エンドポイントでサポートされていない機能は何ですか?
- Azure Managed Redis でプライベート エンドポイントを使用する場合の制限はありません。
どうすれば、プライベート エンドポイントが正しく構成されていることを確認できますか。
ポータルのリソース メニューで [概要] にアクセスします。 キャッシュの [ホスト名] が作業ウィンドウに表示されます。 コマンドがキャッシュのプライベート IP アドレスに解決されることを確認するには、プライベート エンドポイントにリンクされている VNet 内から nslookup <hostname>
のようなコマンドを実行します。
プライベート エンドポイントをパブリック ネットワーク アクセスに対して無効または有効になるように変更するにはどうすればよいですか。
Azure portal で値を変更するには、次の手順を実行します。
Azure portal で Azure Managed Redis を検索します。 その後、Enter キーを押すか、検索候補から選択してください。
パブリック ネットワーク アクセスの値を変更するキャッシュ インスタンスを選択します。
画面の左側で、 [プライベート エンドポイント] を選択します。
プライベート エンドポイントを削除します。
異なる仮想ネットワーク内に複数のエンドポイントを配置するにはどうすればよいですか。
異なる仮想ネットワーク内に複数のプライベート エンドポイントを配置するには、プライベート エンドポイントを作成する前に、プライベート DNS ゾーンを複数の仮想ネットワークに手動で構成する必要があります。 詳細については、「Azure プライベート エンドポイントの DNS 構成」をご覧ください。
キャッシュのすべてのプライベート エンドポイントを削除するとどうなりますか。
Azure Managed Redis キャッシュ上のすべてのプライベート エンドポイントを削除した場合、ネットワークは既定でパブリック ネットワーク アクセスを持っています。
ネットワーク セキュリティ グループ (NSG) はプライベート エンドポイントでは有効になっていますか。
いいえ、プライベート エンドポイントでは無効になっています。 プライベート エンドポイントを含むサブネットに NSG を関連付けることはできますが、プライベート エンドポイントによって処理されるトラフィックに対して規則は有効ではありません。 サブネットにプライベート エンドポイントをデプロイするには、ネットワーク ポリシーの適用を無効にする必要があります。 NSG は、同じサブネット上にホストされている他のワークロードにも適用されます。 どのクライアント サブネット上のルートでも /32 プレフィックスを使用するため、既定のルーティング動作を変更するには同様の UDR が必要です。
ソース クライアントにおけるアウトバウンド トラフィックに対して NSG 規則を使用して、トラフィックを制御します。 /32 プレフィックスを持つ個々のルートをデプロイして、プライベート エンドポイント ルートをオーバーライドします。 送信接続の NSG フロー ログと監視情報は引き続きサポートされており、使用することができます。
プライベート エンドポイント インスタンスは自分の VNet に含まれていませんが、VNet とどのように関連付けられていますか?
ご利用のプライベート エンドポイントはご利用の VNet にのみリンクされます。 これは VNet 内に存在しないため、依存エンドポイントに対して NSG 規則を変更する必要はありません。
関連コンテンツ
- Azure Private Link の詳細については、Azure Private Link のドキュメントを参照してください。
- キャッシュのさまざまなネットワークの分離のオプションを比較するには、「Azure Cache for Redis のネットワークの分離オプション」のドキュメントを参照してください。