Azure Private Link サービスとはWhat is Azure Private Link service?

Azure Private Link サービスは、Azure Private Link を使用する独自のサービスに対する参照です。Azure Private Link service is the reference to your own service that is powered by Azure Private Link. Azure Standard Load Balancer の背後で実行されている自分のサービスで Private Link アクセスを有効にすると、自分のサービスのコンシューマーがそのサービスに対して独自の VNet からプライベートにアクセスできるようになります。Your service that is running behind Azure Standard Load Balancer can be enabled for Private Link access so that consumers to your service can access it privately from their own VNets. 顧客は、自分の VNet 内にプライベート エンドポイントを作成し、それをこのサービスにマッピングすることができます。Your customers can create a private endpoint inside their VNet and map it to this service. この記事では、サービス プロバイダー側に関連する概念について説明します。This article explains concepts related to the service provider side.

Private Link サービスのワークフロー

図:Azure Private Link サービス。Figure: Azure Private Link Service.

ワークフローWorkflow

Private Link サービスのワークフロー

図:Azure Private Link サービスのワークフロー。Figure: Azure Private Link service workflow.

  • 自分の仮想ネットワーク内の標準ロード バランサーの背後で実行されるように、対象のアプリケーションを構成します。Configure your application to run behind a standard load balancer in your virtual network. 自分のアプリケーションが標準のロード バランサーの背後で動作するように既に構成されている場合は、この手順をスキップしてかまいません。If you already have your application configured behind a standard load balancer, you can skip this step.

  • 上記のロード バランサーを参照する Private Link サービスを作成します。Create a Private Link Service referencing the load balancer above. ロード バランサーの選択プロセスで、トラフィックを受信するフロントエンド IP 構成を選択します。In the load balancer selection process, choose the frontend IP configuration where you want to receive the traffic. Private Link サービスの NAT IP アドレスに対し、サブネットを選択します。Choose a subnet for NAT IP addresses for the Private Link Service. 少なくとも 8 つの NAT IP アドレスをサブネットで使用できるようにすることをお勧めします。It is recommended to have at least eight NAT IP addresses available in the subnet. すべてのコンシューマー トラフィックは、このプライベート IP アドレスのプールからサービス プロバイダーに発信されるように見えます。All consumer traffic will appear to originate from this pool of private IP addresses to the service provider. Private Link サービスの適切なプロパティまたは設定を選択します。Choose the appropriate properties/settings for the Private Link Service.

    注意

    Azure Private Link サービスは、Standard Load Balancer でのみサポートされています。Azure Private Link Service is only supported on Standard Load Balancer.

サービスを共有するShare your service

自分の Private Link サービスを作成すると、そのサービスに指定した名前に基づいて、"別名" と呼ばれるグローバルに一意の名前付きモニカーが Azure によって生成されます。After you create a Private Link service, Azure will generate a globally unique named moniker called "alias" based on the name you provide for your service. 自分のサービスの別名またはリソース URI は、オフラインで顧客と共有できます。You can share either the alias or resource URI of your service with your customers offline. コンシューマーは、別名またはリソース URI を使用して、Private Link 接続を開始できます。Consumers can start a Private Link connection using the alias or the resource URI.

接続要求を管理するManage your connection requests

コンシューマーが接続を開始した後、サービス プロバイダーは、接続要求を受け入れるか拒否することができます。After a consumer initiates a connection, the service provider can accept or reject the connection request. すべての接続要求は、Private Link サービスの privateendpointconnections プロパティの下に一覧表示されます。All connection requests will be listed under the privateendpointconnections property on the Private Link service.

サービスを削除するDelete your service

Private Link サービスが使用されなくなった場合は、削除できます。If the Private Link service is no longer in use, you can delete it. ただし、サービスを削除する前に、それに関連付けられているプライベート エンドポイント接続がないことを確認してください。However, before your delete the service, ensure that there are no private endpoint connections associated with it. すべての接続を拒否したうえで、サービスを削除することができます。You can reject all connections and delete the service.

PropertiesProperties

Private Link サービスでは、次のプロパティを指定します。A Private Link service specifies the following properties:

プロパティProperty 説明Explanation
プロビジョニングの状態 (provisioningState)Provisioning State (provisioningState) Private Link サービスの現在のプロビジョニング状態を一覧表示する読み取り専用プロパティ。A read-only property that lists the current provisioning state for Private Link service. 適用可能なプロビジョニングの状態は次のとおりです: "Deleting (削除中)、Failed (失敗)、Succeeded (成功)、Updating (更新中)"。Applicable provisioning states are: "Deleting; Failed; Succeeded; Updating". プロビジョニングの状態が "Succeeded (成功)" の場合、Private Link サービスは正常にプロビジョニングされています。When the provisioning state is "Succeeded", you have successfully provisioned your Private Link service.
別名 (alias)Alias (alias) 別名は、対象のサービスのグローバルに一意の読み取り専用文字列です。Alias is a globally unique read-only string for your service. これは、対象のサービスの顧客データをマスクすると同時に、容易に共有できるサービス名を作成するのに役立ちます。It helps you mask the customer data for your service and at the same time creates an easy-to-share name for your service. Private Link サービスを作成すると、対象のサービスの別名が Azure によって生成されます。この別名は、顧客と共有することができます。When you create a Private Link service, Azure generates the alias for your service that you can share with your customers. 顧客は、この別名を使用して、対象のサービスへの接続を要求できます。Your customers can use this alias to request a connection to your service.
可視性 (visibility)Visibility (visibility) 可視性は、自分の Private Link サービスの公開設定を制御するプロパティです。Visibility is the property that controls the exposure settings for your Private Link service. サービス プロバイダーは、自社のサービスの公開対象を、Azure ロールベースのアクセス制御 (Azure RBAC) アクセス許可を持つサブスクリプション、制限されたサブスクリプションのセット、またはすべての Azure サブスクリプションに制限できます。Service providers can choose to limit the exposure to their service to subscriptions with Azure role-based access control (Azure RBAC) permissions, a restricted set of subscriptions, or all Azure subscriptions.
自動承認 (autoApproval)Auto Approval (autoApproval) 自動承認は、Private Link サービスへの自動アクセスを制御するものです。Auto-approval controls the automated access to the Private Link service. 自動承認リストに指定されているサブスクリプションは、それらのサブスクリプションのプライベート エンドポイントから接続が要求されると、自動的に承認されます。The subscriptions specified in the auto-approval list are approved automatically when a connection is requested from private endpoints in those subscriptions.
Load Balancer のフロントエンド IP 構成 (loadBalancerFrontendIpConfigurations)Load Balancer Frontend IP Configuration (loadBalancerFrontendIpConfigurations) Private Link サービスは、Standard Load Balancer のフロントエンド IP アドレスに関連付けられています。Private Link service is tied to the frontend IP address of a Standard Load Balancer. サービス宛てのすべてのトラフィックは、SLB のフロントエンドに到達します。All traffic destined for the service will reach the frontend of the SLB. 対象のアプリケーションが実行されている適切なバックエンド プールにこのトラフィックが転送されるように、SLB 規則を構成できます。You can configure SLB rules to direct this traffic to appropriate backend pools where your applications are running. ロード バランサーのフロントエンド IP 構成は、NAT IP 構成とは異なります。Load balancer frontend IP configurations are different than NAT IP configurations.
NAT IP 構成 (ipConfigurations)NAT IP Configuration (ipConfigurations) このプロパティは、Private Link サービスの NAT (ネットワーク アドレス変換) IP 構成を参照します。This property refers to the NAT (Network Address Translation) IP configuration for the Private Link service. NAT IP は、サービス プロバイダーの仮想ネットワーク内の任意のサブネットから選択できます。The NAT IP can be chosen from any subnet in a service provider's virtual network. Private Link サービスは、Private Link トラフィックで宛先側のネットワーク アドレス変換を実行します。Private Link service performs destination side NAT-ing on the Private Link traffic. これにより、ソース (コンシューマー側) と宛先 (サービス プロバイダー) のアドレス空間の間に IP の競合がないことが保証されます。This ensures that there is no IP conflict between source (consumer side) and destination (service provider) address space. 宛先側 (サービス プロバイダー側) では、NAT IP アドレスは、対象のサービスで受信されたすべてのパケットのソース IP および対象のサービスで送信されたすべてのパケットの宛先 IP として表示されます。On the destination side (service provider side), the NAT IP address will show up as Source IP for all packets received by your service and destination IP for all packets sent by your service.
プライベート エンドポイント接続 (privateEndpointConnections)Private endpoint connections (privateEndpointConnections) このプロパティでは、Private Link サービスに接続しているプライベート エンドポイントが一覧表示されます。This property lists the private endpoints connecting to Private Link service. 同じ Private Link サービスに複数のプライベート エンドポイントを接続することができます。サービス プロバイダーは、個々のプライベート エンドポイントの状態を制御できます。Multiple private endpoints can connect to the same Private Link service and the service provider can control the state for individual private endpoints.
TCP プロキシ v2 (EnableProxyProtocol)TCP Proxy V2 (EnableProxyProtocol) このプロパティを使用すると、サービス プロバイダーは TCP プロキシ v2 を使用して、サービス コンシューマーに関する接続情報を取得できます。This property lets the service provider use tcp proxy v2 to retrieve connection information about the service consumer. サービス プロバイダーは、プロキシ プロトコル v2 ヘッダーを解析できるように受信者構成を設定します。Service Provider is responsible for setting up receiver configs to be able to parse the proxy protocol v2 header.

詳細Details

  • Private Link サービスには、任意のパブリック リージョン内の承認されたプライベート エンドポイントからアクセスできます。Private Link service can be accessed from approved private endpoints in any public region. プライベート エンドポイントには、プライベート VPN または ExpressRoute 接続を使用して、同じ仮想ネットワーク、各リージョンでピアリングされた VNet、グローバルにピアリングされた VNet、およびオンプレミスから到達できます。The private endpoint can be reached from the same virtual network, regionally peered VNets, globally peered VNets and on premises using private VPN or ExpressRoute connections.

  • Private Link サービスを作成すると、リソースのライフサイクルにわたってネットワーク インターフェイスが作成されます。When creating a Private Link Service, a network interface is created for the lifecycle of the resource. このインターフェイスは、顧客が管理することはできません。This interface is not manageable by the customer.

  • Private Link サービスは、仮想ネットワークおよび Standard Load Balancer と同じリージョンにデプロイする必要があります。The Private Link Service must be deployed in the same region as the virtual network and the Standard Load Balancer.

  • 単一の Private Link サービスに対して、異なる VNet、サブスクリプション、または Active Directory テナントに属する複数のプライベート エンドポイントからアクセスできます。A single Private Link Service can be accessed from multiple Private Endpoints belonging to different VNets, subscriptions and/or Active Directory tenants. 接続は、接続ワークフローを介して確立されます。The connection is established through a connection workflow.

  • 異なるフロントエンド IP 構成を使用して、同じ Standard Load Balancer 上に複数の Private Link サービスを作成できます。Multiple Private Link services can be created on the same Standard Load Balancer using different front-end IP configurations. Standard Load Balancer ごと、およびサブスクリプションごとに作成できる Private Link サービスの数には制限があります。There are limits to the number of Private Link services you can create per Standard Load Balancer and per subscription. 詳細については、 Azure の制限に関する記事を参照してください。For details, see Azure limits.

  • Private Link サービスには、複数の NAT IP 構成をリンクすることができます。Private Link service can have more than one NAT IP configurations linked to it. 複数の NAT IP 構成を選択すると、サービス プロバイダーをスケーリングするのに役立ちます。Choosing more than one NAT IP configurations can help service providers to scale. 現在、サービス プロバイダーは、Private Link サービスごとに最大 8 つの NAT IP アドレスを割り当てることができます。Today, service providers can assign up to eight NAT IP addresses per Private Link service. 各 NAT IP アドレスを使用して TCP 接続により多くのポートを割り当てることにより、スケールアウトすることができます。Private Link サービスに複数の NAT IP アドレスを追加した後で NAT IP アドレスを削除することはできません。With each NAT IP address, you can assign more ports for your TCP connections and thus scale out. After you add multiple NAT IP addresses to a Private Link service, you can't delete the NAT IP addresses. これは、NAT IP アドレスの削除時にアクティブな接続が影響を受けないようにするためです。This is done to ensure that active connections are not impacted while deleting the NAT IP addresses.

エイリアスAlias

別名 は、対象のサービスのグローバルに一意の名前です。Alias is a globally unique name for your service. これは、対象のサービスの顧客データをマスクすると同時に、容易に共有できるサービス名を作成するのに役立ちます。It helps you mask the customer data for your service and at the same time creates an easy-to-share name for your service. Private Link サービスを作成すると、対象のサービスの別名が Azure によって生成されます。この別名は、顧客と共有することができます。When you create a Private Link service, Azure generates an alias for your service that you can share with your customers. 顧客は、この別名を使用して、対象のサービスへの接続を要求できます。Your customers can use this alias to request a connection to your service.

別名は、3 つの部分から構成されます: <プレフィックス> .GUID. <サフィックス>The alias is composed of three parts: Prefix.GUID.Suffix

  • プレフィックスはサービス名です。Prefix is the service name. 独自のプレフィックスを選択できます。You can pick you own prefix. "別名" は、作成後に変更することはできないため、適切なプレフィックスを選択してください。After "Alias" is created, you can't change it, so select your prefix appropriately.
  • GUID は、プラットフォームによって提供されます。GUID will be provided by platform. これは、名前をグローバルに一意なものにするのに役立ちます。This helps make the name globally unique.
  • サフィックスは、Azure によって追加されます: <リージョン>.azure.privatelinkserviceSuffix is appended by Azure: region.azure.privatelinkservice

完全な別名: <プレフィックス> .Complete alias: Prefix. {GUID}.<リージョン>.azure.privatelinkservice{GUID}.region.azure.privatelinkservice

サービスの公開を制御するControl service exposure

Private Link サービスには、"可視性" 設定を使用して対象のサービスの公開を制御するオプションが用意されています。Private Link service provides you options to control the exposure of your service through "Visibility" setting. 所有するさまざまな VNet (Azure RBAC アクセス許可のみ) からの使用に向けて、サービスをプライベートに設定したり、信頼するサブスクリプションの限られたセットのみに公開を制限したりできます。また、サービスをパブリックに設定して、すべての Azure サブスクリプションが Private Link サービス上で接続を要求できるようにすることもできます。You can make the service private for consumption from different VNets you own (Azure RBAC permissions only), restrict the exposure to a limited set of subscriptions that you trust, or make it public so that all Azure subscriptions can request connections on the Private Link service. 可視性の設定により、コンシューマーが対象のサービスに接続できるかどうかが決まります。Your visibility settings decide whether a consumer can connect to your service or not.

サービス アクセスを制御するControl service access

Private Link サービスの公開対象 (可視性設定により制御) のコンシューマーは、自分の VNet にプライベート エンドポイントを作成し、対象の Private Link サービスへの接続を要求できます。Consumers having exposure (controlled by visibility setting) to your Private Link service can create a private endpoint in their VNets and request a connection to your Private Link service. プライベート エンドポイント接続は、Private Link サービス オブジェクト上で "Pending (保留中)" 状態で作成されます。The private endpoint connection will be created in a "Pending" state on the Private Link service object. 接続要求の処理は、サービス プロバイダーが行います。The service provider is responsible for acting on the connection request. 接続の承認、接続の拒否、または接続の削除を行えます。You can either approve the connection, reject the connection, or delete the connection. 承認された接続のみが、Private Link サービスにトラフィックを送信できます。Only connections that are approved can send traffic to the Private Link service.

接続を承認するアクションは、Private Link サービスの自動承認プロパティを使用して自動化できます。The action of approving the connections can be automated by using the auto-approval property on the Private Link service. 自動承認は、サービス プロバイダーがそのサービスへの自動アクセスのためにサブスクリプションのセットを事前に承認する機能です。Auto-Approval is an ability for service providers to preapprove a set of subscriptions for automated access to their service. サービス プロバイダーが自動承認リストへの追加を行うには、顧客がそのサブスクリプションをオフラインで共有する必要があります。Customers will need to share their subscriptions offline for service providers to add to the auto-approval list. 自動承認は、可視性配列のサブセットです。Auto-approval is a subset of the visibility array. 可視性は公開設定を制御し、自動承認はサービスの承認設定を制御するものです。Visibility controls the exposure settings whereas auto-approval controls the approval settings for your service. 顧客が自動承認リスト内のサブスクリプションから接続を要求した場合、接続は自動的に承認され、確立されます。If a customer requests a connection from a subscription in the auto-approval list, the connection is automatically approved and the connection is established. サービス プロバイダーは、要求を手動で承認する必要はありません。Service providers don’t need to manually approve the request anymore. 一方、自動承認配列に含まれず可視性配列に含まれるサブスクリプションから顧客が接続を要求した場合、要求はサービス プロバイダーに到達しますが、サービス プロバイダーは接続を手動で承認する必要があります。On the other hand, if a customer requests a connection from a subscription in the visibility array and not in the auto-approval array, the request will reach the service provider but the service provider has to manually approve the connections.

TCP プロキシ v2 を使用した接続情報の取得Getting connection Information using TCP Proxy v2

プライベート リンク サービスを使用する場合、プライベート エンドポイントから送信されるパケットのソース IP アドレスは、プロバイダーの仮想ネットワークから割り当てられた NAT IP を使用して、サービス プロバイダー側でネットワーク アドレス変換 (NAT) されます。When using private link service, the source IP address of the packets coming from private endpoint is network address translated (NAT) on the service provider side using the NAT IP allocated from provider's virtual network. そのため、アプリケーションでは、サービス コンシューマーの実際のソース IP アドレスではなく、割り当てられた NAT IP アドレスを受け取ります。Hence the applications receive the allocated NAT IP address instead of actual source IP address of the service consumers. アプリケーションでコンシューマー側からの実際のソース IP アドレスが必要な場合は、サービスでプロキシ プロトコルを有効にし、プロキシ プロトコル ヘッダーから情報を取得することができます。If your application needs actual source IP address from consumer side, you can enable Proxy protocol on your service and retrieve the information from the proxy protocol header. ソース IP アドレスに加えて、プロキシ プロトコル ヘッダーには、プライベート エンドポイントの LinkID も含まれます。In addition to source IP address, proxy protocol header also carries the LinkID of the private endpoint. ソース IP アドレスと LinkID の組み合わせにより、サービス プロバイダーはコンシューマーを一意に識別できます。Combination of source IP address and LinkID can help service providers uniquely identify their consumers. プロキシ プロトコルの詳細については、こちらをご参照ください。For more information on Proxy Protocol, visit here.

この情報は、次のようにカスタムの Type-Length-Value (TLV) ベクターを使用してエンコードされます。This information is encoded using a custom Type-Length-Value (TLV) vector as follows:

カスタムの TLV の詳細:Custom TLV details:

フィールドField 長さ (オクテット)Length (Octets) 説明Description
TypeType 11 PP2_TYPE_AZURE (0xEE)PP2_TYPE_AZURE (0xEE)
長さLength 22 値の長さLength of value
Value 11 PP2_SUBTYPE_AZURE_PRIVATEENDPOINT_LINKID (0x01)PP2_SUBTYPE_AZURE_PRIVATEENDPOINT_LINKID (0x01)
44 プライベート エンドポイントの LINKID を表す UINT32 (4 バイト)。UINT32 (4 bytes) representing the LINKID of the private endpoint. リトル エンディアン形式でエンコードされます。Encoded in little endian format.

注意

サービス プロバイダーは、プロキシ プロトコルが非公開リンク サービスで有効になっている場合 仕様 に従って、プロキシ プロトコル ヘッダーを解析するように、標準のロード バランサーの背後にあるサービスが構成されていることを確認します。Service provider is responsible for making sure that the service behind the standard load balancer is configured to parse the proxy protocol header as per the specification when proxy protocol is enabled on private link service. プロキシ プロトコル設定がプライベート リンク サービスで有効になっていても、サービス プロバイダーのサービスがヘッダーを解析するように構成されていない場合、要求は失敗します。The request will fail if proxy protocol setting is enabled on private link service but service provider's service is not configured to parse the header. 同様に、設定がプライベート リンク サービスで有効になっていない場合に、サービス プロバイダーのサービスがプロキシ プロトコル ヘッダーを必要とすると、要求は失敗します。Similarly, the request will fail if the service provider's service is expecting a proxy protocol header while the setting is not enabled on the private link service. プロキシ プロトコル設定を有効にすると、ヘッダーにクライアント情報が存在しなくても、プロキシ プロトコル ヘッダーは、ホストからバックエンド仮想マシンへの HTTP/TCP 正常性プローブにも含まれます。Once proxy protocol setting is enabled, proxy protocol header will also be included in HTTP/TCP health probes from host to the backend virtual machines, even though there will be no client information in the header.

制限事項Limitations

Private Link サービスを使用する場合の既知の制限事項は次のとおりです。The following are the known limitations when using the Private Link service:

  • Standard Load Balancer でのみサポートされるSupported only on Standard Load Balancer
  • IPv4 トラフィックのみがサポートされるSupports IPv4 traffic only
  • TCP および UDP トラフィックのみがサポートされるSupports TCP and UDP traffic only

次のステップNext steps