Azure プライベート エンドポイントの管理
Azure プライベート エンドポイントには、構成とデプロイを管理するためのオプションがいくつかあります。
Azure Private Link リソースに対してクエリを実行することで、値をMemberName
決定GroupId
できます。 作成時にプライベート エンドポイントの GroupId
静的 IP アドレスを構成するには、その値と MemberName
値が必要です。
プライベート エンドポイントには、静的 IP アドレスとネットワーク インターフェイス名という 2 つのカスタム プロパティがあります。 これらのプロパティは、プライベート エンドポイントの作成時に設定する必要があります。
サービス プロバイダーとコンシューマーによる Private Link のデプロイにより、接続を確立するための承認プロセスが実施されます。
GroupID と MemberName を決定する
Azure PowerShell と Azure CLI を使用してプライベート エンドポイントを作成する際に、 GroupId
プライベート エンドポイント リソースの値が MemberName
必要になる場合があります。
GroupId
はプライベート エンドポイントのサブリソースです。MemberName
は、エンドポイントのプライベート IP アドレスの一意のスタンプです。
プライベート エンドポイント サブリソースとその値の詳細については、「Private Link リソース」を参照してください。
プライベート エンドポイント リソースの GroupId
値と MemberName
値を確認するには、次のコマンドを使用します。 MemberName
はプロパティ内に RequiredMembers
含まれています。
Azure Web アプリは、プライベート エンドポイント リソースの例として使用されます。 Get-AzPrivateLinkResource を使用して、および .GroupId
MemberName
## Place the previously created webapp into a variable. ##
$webapp =
Get-AzWebApp -ResourceGroupName myResourceGroup -Name myWebApp1979
$resource =
Get-AzPrivateLinkResource -PrivateLinkResourceId $webapp.ID
次の例のような出力が表示されます。
カスタム プロパティ
ネットワーク インターフェイスの名前変更と静的 IP アドレスの割り当ては、作成時にプライベート エンドポイントで設定できるカスタム プロパティです。
ネットワーク インターフェイスの名前変更
既定では、プライベート エンドポイントが作成されると、プライベート エンドポイントに関連付けられているネットワーク インターフェイスには、そのネットワーク インターフェイスのランダムな名前が付けられます。 プライベート エンドポイントの作成時に、ネットワーク インターフェイスに名前を付ける必要があります。 既存のプライベート エンドポイントのネットワーク インターフェイスの名前変更はサポートされていません。
プライベート エンドポイントを作成してネットワーク インターフェイスの名前を変更する場合は、次のコマンドを使用します。
プライベート エンドポイントの作成時にネットワーク インターフェイスの名前を変更するには、-CustomNetworkInterfaceName
パラメーターを使用します。 次の例では、Azure PowerShell コマンドを使用して、Azure Web アプリへのプライベート エンドポイントを作成します。 詳細については、「New-AzPrivateEndpoint」をご覧ください。
## Place the previously created webapp into a variable. ##
$webapp = Get-AzWebApp -ResourceGroupName myResourceGroup -Name myWebApp1979
## Create the private endpoint connection. ##
$pec = @{
Name = 'myConnection'
PrivateLinkServiceId = $webapp.ID
GroupID = 'sites'
}
$privateEndpointConnection = New-AzPrivateLinkServiceConnection @pec
## Place the virtual network you created previously into a variable. ##
$vnet = Get-AzVirtualNetwork -ResourceGroupName 'myResourceGroup' -Name 'myVNet'
## Create the private endpoint. ##
$pe = @{
ResourceGroupName = 'myResourceGroup'
Name = 'myPrivateEndpoint'
Location = 'eastus'
Subnet = $vnet.Subnets[0]
PrivateLinkServiceConnection = $privateEndpointConnection
CustomNetworkInterfaceName = 'myPrivateEndpointNIC'
}
New-AzPrivateEndpoint @pe
静的 IP アドレス
既定では、プライベート エンドポイントが作成されると、エンドポイントの IP アドレスが自動的に割り当てられます。 IP は、プライベート エンドポイント用に構成された仮想ネットワークの IP 範囲から割り当てられます。 プライベート エンドポイントの静的 IP アドレスが必要な場合は、状況が発生する可能性があります。 静的 IP アドレスは、プライベート エンドポイントの作成時に割り当てる必要があります。 既存のプライベート エンドポイントの静的 IP アドレスの構成は現在サポートされていません。
プライベート エンドポイントを作成するときに静的 IP アドレスを構成する手順については、「Azure PowerShell を使用してプライベート エンドポイントを作成する」および「Azure CLI を使用してプライベート エンドポイントを作成する」を参照してください。
プライベート エンドポイント接続
Private Link は、Private Link コンシューマーがサービスを使用するためのサービス プロバイダーへの接続を要求できる承認モデルで動作します。
次に、サービス プロバイダーは、コンシューマーに接続を許可するかどうかを決定できます。 Private Link を使用すると、サービス プロバイダーはリソースのプライベート エンドポイント接続を管理できます。
Private Link コンシューマーが選択できる接続承認方法は 2 つあります。
自動: サービス コンシューマーがサービス プロバイダー リソースに対する Azure ロールベースのアクセス制御 (RBAC) アクセス許可を持っている場合、コンシューマーは自動承認方法を選択できます。 要求がサービス プロバイダーのリソースに到達したときにサービス プロバイダーからのアクションは必要なく、接続が自動的に承認されます。
手動: サービス コンシューマーがサービス プロバイダー リソースに対する RBAC アクセス許可を持っていない場合、コンシューマーは手動承認方法を選択できます。 接続要求はサービスのリソース上で "保留中" と表示されます。 サービス プロバイダーは、接続を確立する前に、手動で要求を承認する必要があります。
手動の場合、サービス コンシューマーは、サービス プロバイダーにより多くのコンテキストを提供する要求を含むメッセージを指定することもできます。 サービス プロバイダーには、すべてのプライベート エンドポイント接続の [承認]、[拒否]、および [削除] から選択できるオプションがあります。
重要
別のサブスクリプションまたはテナント内にあるプライベート エンドポイントとの接続を承認するには、プロバイダーのサブスクリプションまたはテナントが登録 Microsoft.Network
されていることを確認します。 コンシューマー サブスクリプションまたはテナントには、宛先リソースのリソース プロバイダーも登録されている必要があります。
次の表は、さまざまなサービス プロバイダーアクションと、プライベート エンドポイントの結果の接続状態を示しています。 サービス プロバイダーは、コンシューマーの操作なしで後から接続状態を変更することができます。 このアクションにより、コンシューマー側のエンドポイントの状態が更新されます。
サービス プロバイダーのアクション | サービス コンシューマーのプライベート エンドポイントの状態 | 説明 |
---|---|---|
なし | 保留中 | 接続が手動で作成されており、Private Link リソースの所有者による承認を待っています。 |
承認 | Approved | 接続は自動的または手動で承認され、使用する準備が整います。 |
Reject | 拒否 | Private Link リソース所有者が接続を拒否します。 |
削除 | [Disconnected](切断済み) | Private Link リソース所有者は接続を削除し、プライベート エンドポイントが切断され、クリーンup のために削除する必要があります。 |
Azure PaaS リソースでプライベート エンドポイント接続を管理する
Azure portal でプライベート エンドポイント接続を管理するには、次の手順に従います。
Azure portal にサインインします。
ポータルの上部にある検索ボックスに、「Private Link」と入力します。 検索結果の [プライベート リンク] を選択します。
Private Link Center で、[プライベート エンドポイント] または [プライベート リンク サービス] を選択します。
エンドポイントごとに、それに関連付けられているプライベート エンドポイント接続の数を確認できます。 必要に応じて、リソースをフィルター処理できます。
プライベート エンドポイントを選択します。 一覧表示された接続の下で、管理する接続を選択します。
上部のオプションから選択することにより、接続の状態を変更できます。
顧客またはパートナーが所有する Private Link サービスでプライベート エンドポイント接続を管理する
次の PowerShell および Azure CLI コマンドを使用して、Microsoft パートナー サービスまたは顧客所有サービスのプライベート エンドポイント接続を管理します。
次の PowerShell コマンドを使用して、プライベート エンドポイント接続を管理できます。
Private Link の接続状態を取得する
Get-AzPrivateEndpointConnection を使用して、プライベート エンドポイント接続とその状態を取得します。
$get = @{
Name = 'myPrivateLinkService'
ResourceGroupName = 'myResourceGroup'
}
Get-AzPrivateEndpointConnection @get
プライベート エンドポイント接続を承認する
Approve-AzPrivateEndpointConnection を使用して、プライベート エンドポイント接続を承認します。
$approve = @{
Name = 'myPrivateEndpointConnection'
ServiceName = 'myPrivateLinkService'
ResourceGroupName = 'myResourceGroup'
}
Approve-AzPrivateEndpointConnection @approve
プライベート エンドポイント接続を拒否する
Deny-AzPrivateEndpointConnection を使用して、プライベート エンドポイント接続を拒否します。
$deny = @{
Name = 'myPrivateEndpointConnection'
ServiceName = 'myPrivateLinkService'
ResourceGroupName = 'myResourceGroup'
}
Deny-AzPrivateEndpointConnection @deny
プライベート エンドポイント接続を削除する
Remove-AzPrivateEndpointConnection を使用して、プライベート エンドポイント接続を削除します。
$remove = @{
Name = 'myPrivateEndpointConnection'
ServiceName = 'myPrivateLinkService'
ResourceGroupName = 'myResourceGroup'
}
Remove-AzPrivateEndpointConnection @remove
Note
以前に拒否された接続は承認できません。 接続を削除し、新しい接続を作成する必要があります。