次の方法で共有


Azure Private Link を使用した Azure Managed Redis (プレビュー) とは

この記事では、Azure portal を使用して、仮想ネットワークと、プライベート エンドポイントを持つ Azure Managed Redis (プレビュー) インスタンスを作成する方法について説明します。 また、既存の Azure Managed Redis インスタンスにプライベート エンドポイントを追加する方法についても説明します。

Azure プライベート エンドポイントは、Azure Private Link を使用した Azure Managed Redis にプライベートかつ安全に接続するネットワーク インターフェイスです。

重要

プライベート エンドポイントを使用して仮想ネットワークに接続することは、ネットワーク レイヤーで Azure Managed Redis (プレビュー) リソースをセキュリティで保護するのに推奨されるソリューションです。

前提条件

新しい Azure Managed Redis インスタンスを持つプライベート エンドポイントを作成する

このセクションでは、プライベート エンドポイントを持つ新しい Azure Managed Redis インスタンスを作成します。

新しいキャッシュ用の仮想ネットワークを作成する

ポータルを使用してキャッシュを作成するには、次のようにします。

  1. Azure Portal にサインインし、[リソースの作成] を選択します。

    [リソースの作成] を選択します。

  2. [新規] ページで、 [ネットワーク] を選択してから、 [仮想ネットワーク] を選択します。

  3. [追加] を選択して仮想ネットワークを作成します。

  4. [仮想ネットワークの作成][基本] タブで次の情報を入力または選択します。

    設定 提案された値 説明
    サブスクリプション ドロップダウンで、ご自身のサブスクリプションを選択します。 この仮想ネットワークを作成するサブスクリプション。
    リソース グループ ドロップ ダウンでリソース グループを選択するか、 [新規作成] を選択し、新しいリソース グループの名前を入力します。 その中に仮想ネットワークやその他のリソースを作成するリソース グループの名前。 すべてのアプリ リソースを 1 つのリソース グループに配置することで、それらをまとめて簡単に管理または削除できます。
    名前 仮想ネットワーク名を入力します。 名前の先頭は文字または数字、末尾は文字、数字、アンダースコアでなければならず、含めることができるのは文字、数字、アンダースコア、ピリオド、ハイフンのみです。
    リージョン ドロップ ダウンでリージョンを選択します。 ご使用の仮想ネットワークを使用する他のサービスの近くのリージョンを選択します。
  5. [IP アドレス] タブを選択するか、ページの下部にある [Next: IP Addresses](次へ: IP アドレス) ボタンを選択します。

  6. [IP アドレス] タブで、 [IPv4 アドレス空間] を、CIDR 表記で 1 つまたは複数のアドレス プレフィックスとして指定します (例: 192.168.1.0/24)。

  7. [サブネット名] で、 [既定値] を指定してサブネットのプロパティを編集します。

  8. [サブネットの編集] ペインで、 [サブネット名][サブネットのアドレス範囲] を指定します。 サブネットのアドレスの範囲は CIDR 表記である必要があります (例: 192.168.1.0/24)。 仮想ネットワークのアドレス空間に含まれている必要があります。

  9. [保存] を選択します。

  10. [確認と作成] タブを選択するか、 [確認と作成] ボタンを選択します。

  11. すべての情報が正しいことを確認し、[作成する] を選択して仮想ネットワークを作成します。

プライベート エンドポイントを持つ Azure Cache for Redis インスタンスを作成する

キャッシュ インスタンスを作成するには、次の手順に従います。

  1. Azure portal ホームページに戻るか、サイドバー メニューを開き、 [リソースの作成] を選択します。

  2. 検索ボックスに、「Azure Cache for Redis」と入力します。 検索を Azure サービスのみに絞り込み、[Azure Cache for Redis] を選択します。

  3. [新規 Redis Cache] ページで、新しいキャッシュの設定を構成します。

    1. [キャッシュ SKU] で、Azure Managed Redis キャッシュを選択します。
    2. [キャッシュ サイズ] で適切なオプション選択します。
  4. [ネットワーク] タブを選択するか、ページの下部にある [ネットワーク] ボタンを選択します。

  5. [ネットワーク] タブで、接続方法として [プライベート エンドポイント] を選択します。

  6. [Add (追加)] ボタンを選択して、プライベート エンドポイントを作成します。

    [ネットワーク] で、プライベート エンドポイントを追加する。

  7. [プライベート エンドポイントの作成] ページで、前のセクションで作成した仮想ネットワークとサブネットを使用してプライベート エンドポイントの設定を構成し、 [OK] を選択します。

  8. [次へ: 詳細] タブを選択するか、ページの下部にある [次へ: 詳細] ボタンを選択します。

  9. Basic または Standard のキャッシュ インスタンスの [詳細] タブで、非 TLS ポートを有効にする場合は有効トグルをオンにします。

  10. Premium キャッシュ インスタンスの [詳細] タブで、非 TLS ポート、クラスタリング、データ永続化の設定を構成します。

  11. ページの下部にある [次へ: タグ] タブを選択するか、ページの下部にある [次へ: タグ] ボタンを選択します。

  12. 必要に応じて、 [タグ] タブで、リソースを分類する場合は名前と値を入力します。

  13. [Review + create](レビュー + 作成) を選択します。 [確認および作成] タブが表示され、Azure によって構成が検証されます。

  14. 緑色の検証に成功のメッセージが表示された後、 [作成] を選択します。

キャッシュが作成されるまで、しばらく時間がかかります。 Azure Managed Redis の [概要] ページで進行状況を監視できます。 [状態] に "実行中" と表示されている場合は、キャッシュを使用する準備ができています。

既存の Azure Managed Redis インスタンスを使用してプライベート エンドポイントを作成する

このセクションでは、既存の Azure Managed Redis インスタンスにプライベート エンドポイントを追加します。

既存のキャッシュ用の仮想ネットワークを作成する

仮想ネットワークを作成するには、これらの手順に従います。

  1. Azure Portal にサインインし、[リソースの作成] を選択します。

  2. [新規] ページで、 [ネットワーク] を選択してから、 [仮想ネットワーク] を選択します。

  3. [追加] を選択して仮想ネットワークを作成します。

  4. [仮想ネットワークの作成][基本] タブで次の情報を入力または選択します。

    設定 提案された値 説明
    サブスクリプション ドロップダウンで、ご自身のサブスクリプションを選択します。 この仮想ネットワークを作成するサブスクリプション。
    リソース グループ ドロップ ダウンでリソース グループを選択するか、 [新規作成] を選択し、新しいリソース グループの名前を入力します。 その中に仮想ネットワークやその他のリソースを作成するリソース グループの名前。 すべてのアプリ リソースを 1 つのリソース グループに配置することで、それらをまとめて簡単に管理または削除できます。
    名前 仮想ネットワーク名を入力します。 名前の先頭は文字または数字、末尾は文字、数字、アンダースコアでなければならず、含めることができるのは文字、数字、アンダースコア、ピリオド、ハイフンのみです。
    リージョン ドロップ ダウンでリージョンを選択します。 ご使用の仮想ネットワークを使用する他のサービスの近くのリージョンを選択します。
  5. [IP アドレス] タブを選択するか、ページの下部にある [Next: IP Addresses](次へ: IP アドレス) ボタンを選択します。

  6. [IP アドレス] タブで、 [IPv4 アドレス空間] を、CIDR 表記で 1 つまたは複数のアドレス プレフィックスとして指定します (例: 192.168.1.0/24)。

  7. [サブネット名] で、 [既定値] を指定してサブネットのプロパティを編集します。

  8. [サブネットの編集] ペインで、 [サブネット名][サブネットのアドレス範囲] を指定します。 サブネットのアドレスの範囲は CIDR 表記である必要があります (例: 192.168.1.0/24)。 仮想ネットワークのアドレス空間に含まれている必要があります。

  9. [保存] を選択します。

  10. [確認と作成] タブを選択するか、 [確認と作成] ボタンを選択します。

  11. すべての情報が正しいことを確認し、[作成する] を選択して仮想ネットワークを作成します。

プライベート エンドポイントの作成

プライベート エンドポイントを作成するには、次の手順に従います。

  1. Azure portal で、Azure Cache for Redis を検索します。 次に、Enter キーを押すか、キャッシュの検索候補から選択します。

  2. プライベート エンドポイントを追加するキャッシュ インスタンスを選択します。

  3. 画面の左側で、 [プライベート エンドポイント] を選択します。

  4. [プライベート エンドポイント] ボタンをクリックして、プライベート エンドポイントを作成します。

  5. [プライベート エンドポイントの作成] ページで、プライベート エンドポイントの設定を構成します。

    設定 提案された値 説明
    サブスクリプション ドロップダウンで、ご自身のサブスクリプションを選択します。 このプライベート エンドポイントを作成するサブスクリプション。
    リソース グループ ドロップ ダウンでリソース グループを選択するか、 [新規作成] を選択し、新しいリソース グループの名前を入力します。 その中にプライベート エンドポイントやその他のリソースを作成するリソース グループの名前。 すべてのアプリ リソースを 1 つのリソース グループに配置することで、それらをまとめて簡単に管理または削除できます。
    名前 プライベート エンドポイント名を入力します。 名前は先頭が文字または数字、末尾が文字、数字、アンダースコアでなければならず、中に含めることができるのは文字、数字、アンダースコア、ピリオド、ハイフンのみです。
    リージョン ドロップ ダウンでリージョンを選択します。 ご使用のプライベート エンドポイントを使用する他のサービスの近くのリージョンを選択します。
  6. ページの下部にある [次へ: リソース] ボタンを選択します。

  7. [リソース] タブで、該当するサブスクリプションを選択し、リソースの種類として [Microsoft.Cache/redisEnterprise] を選んでから、プライベート エンドポイントを接続するキャッシュを選択します。

  8. ページの下部にある [次へ: 構成] ボタンを選択します。

  9. ページの下部にある [次へ: 仮想ネットワーク] ボタンを選びます。

  10. [構成] タブで、前のセクションで作成した仮想ネットワークとサブネットを選択します。

  11. [仮想ネットワーク] タブで、前のセクションで作成した仮想ネットワークとサブネットを選びます。

  12. ページの下部にある [次へ: タグ] ボタンを選択します。

  13. 必要に応じて、 [タグ] タブで、リソースを分類する場合は名前と値を入力します。

  14. [Review + create](レビュー + 作成) を選択します。 [確認および作成] タブが表示され、Azure によって構成が検証されます。

  15. 緑色の検証に成功のメッセージが表示された後、 [作成] を選択します。

重要

publicNetworkAccess フラグは既定で Disabled に設定されています。 値を Disabled または Enabled に設定できます。 有効に設定すると、このフラグにより、パブリック エンドポイントとプライベート エンドポイントの両方がキャッシュにアクセスできます。 Disabled に設定すると、プライベート エンドポイントのアクセスのみが許可されます。 値を変更する方法の詳細については、「よくあるご質問」を参照してください。

Azure PowerShell を使用してプライベート エンドポイントを作成する

既存の 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/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 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

よく寄せられる質問

プライベート エンドポイントを使用してキャッシュに接続する方法

アプリケーションは、ポート 10000<cachename>.<region>.redis.azure.net に接続する必要があります。 *.privatelink.redis.azure.net という名前のプライベート DNS ゾーンがサブスクリプションに自動的に作成されます。 プライベート DNS ゾーンは、プライベート エンドポイントとの TLS 接続を確立するために不可欠です。 クライアント接続用の構成では <cachename>.privatelink.redis.azure.net を使用しないことをお勧めします。

詳細については、「Azure サービス DNS ゾーンの構成」を参照してください。

プライベート エンドポイントに接続できないのはなぜですか。

  • ご利用のキャッシュが既に仮想ネットワーク (VNet) に挿入されたキャッシュである場合、プライベート エンドポイントをキャッシュ インスタンスと共に使用することはできません。

  • Azure Managed Redis キャッシュは、プライベート リンクが 84 個までに制限されています。

  • ファイアウォール規則が適用されている ストレージアカウント にデータを永続化しようとすると、プライベートリンクを作成できなくなる可能性があります。

  • キャッシュインスタンスが サポートされていない機能を使用している場合、プライベートエンドポイントに接続することはできません。

プライベート エンドポイントでサポートされていない機能は何ですか?

  • Azure Managed Redis (プレビュー) でプライベート エンドポイントを使用する場合、制限はありません。

どうすれば、プライベート エンドポイントが正しく構成されていることを確認できますか。

ポータルのリソース メニューで [概要] にアクセスします。 キャッシュの [ホスト名] が作業ウィンドウに表示されます。 コマンドがキャッシュのプライベート IP アドレスに解決されることを確認するには、プライベート エンドポイントにリンクされている VNet 内から nslookup <hostname> のようなコマンドを実行します。

Azure portal でのプライベート エンドポイント DNS の設定。

プライベート エンドポイントをパブリック ネットワーク アクセスに対して無効または有効になるように変更するにはどうすればよいですか。

Azure portal で値を変更するには、次の手順を実行します。

  1. Azure portal で Azure Managed Redis を検索します。 その後、Enter キーを押すか、検索候補から選択してください。

  2. パブリック ネットワーク アクセスの値を変更するキャッシュ インスタンスを選択します。

  3. 画面の左側で、 [プライベート エンドポイント] を選択します。

  4. プライベート エンドポイントを削除します。

異なる仮想ネットワーク内に複数のエンドポイントを配置するにはどうすればよいですか。

異なる仮想ネットワーク内に複数のプライベート エンドポイントを配置するには、プライベート エンドポイントを作成する前に、プライベート DNS ゾーンを複数の仮想ネットワークに手動で構成する必要があります。 詳細については、「Azure プライベート エンドポイントの DNS 構成」をご覧ください。

キャッシュのすべてのプライベート エンドポイントを削除するとどうなりますか。

Azure Managed Redis (プレビュー) キャッシュ上のプライベート エンドポイントをすべて削除すると、ネットワークに既定でパブリック ネットワーク アクセスが設定されます。

ネットワーク セキュリティ グループ (NSG) はプライベート エンドポイントでは有効になっていますか。

いいえ、プライベート エンドポイントでは無効になっています。 プライベート エンドポイントを含むサブネットに NSG を関連付けることはできますが、プライベート エンドポイントによって処理されるトラフィックに対して規則は有効ではありません。 サブネットにプライベート エンドポイントをデプロイするには、ネットワーク ポリシーの適用を無効にする必要があります。 NSG は、同じサブネット上にホストされている他のワークロードにも適用されます。 どのクライアント サブネット上のルートでも /32 プレフィックスを使用するため、既定のルーティング動作を変更するには同様の UDR が必要です。

ソース クライアントにおけるアウトバウンド トラフィックに対して NSG 規則を使用して、トラフィックを制御します。 /32 プレフィックスを持つ個々のルートをデプロイして、プライベート エンドポイント ルートをオーバーライドします。 送信接続の NSG フロー ログと監視情報は引き続きサポートされており、使用することができます。

プライベート エンドポイント インスタンスは自分の VNet に含まれていませんが、VNet とどのように関連付けられていますか?

ご利用のプライベート エンドポイントはご利用の VNet にのみリンクされます。 これは VNet 内に存在しないため、依存エンドポイントに対して NSG 規則を変更する必要はありません。