プライベート エンドポイントとは

プライベート エンドポイントは、仮想ネットワークのプライベート IP アドレスを使用するネットワーク インターフェイスです。 ユーザーはこのネットワーク インターフェイスにより、Azure Private Link を利用するサービスに非公開で安全に接続します。 プライベート エンドポイントを有効にして、サービスを仮想ネットワークに取り込みます。

サービスには、以下のような Azure サービスが利用できます。

プライベート エンドポイントのプロパティ

プライベート エンドポイントでは、次のプロパティを指定します。

プロパティ 説明
名前 リソース グループ内の一意の名前。
Subnet デプロイするサブネット。プライベート IP アドレスが割り当てられます。 サブネットの要件については、この記事の後方に記載されている制限事項に関するセクションを参照してください。
プライベート リンク リソース 使用可能な種類の一覧から、リソース ID または別名を使用して接続するプライベート リンク リソース。 このリソースに送信されるすべてのトラフィックに対して、一意のネットワーク識別子が生成されます。
ターゲット サブリソース 接続するサブリソース。 それぞれの種類のプライベート リンク リソースには、好みに応じて選択できるさまざまなオプションがあります。
接続の承認方法 自動または手動。 Azure ロールベースのアクセス制御 (RBAC) のアクセス許可によっては、自分のプライベート エンドポイントを自動的に承認できます。 Azure RBAC アクセス許可を使用せずにプライベート リンク リソースに接続する場合は、手動による方法を使用して、リソースの所有者が接続を承認できるようにします。
要求メッセージ 要求された接続を手動で承認するためのメッセージを指定できます。 このメッセージは、特定の要求を識別するために使用できます。
[接続状態] プライベート エンドポイントがアクティブかどうかを指定する読み取り専用のプロパティ。 トラフィックの送信に使用できるのは、承認済み状態のプライベート エンドポイントのみです。 使用可能なその他の状態:
  • 承認済み: 接続が自動または手動で承認され、使用する準備が整っています。
  • 保留中: 接続が手動で作成され、プライベート リンク リソースの所有者による承認を待っています。
  • 拒否: プライベート リンク リソースの所有者によって接続が拒否されました。
  • 切断: プライベート リンク リソースの所有者によって接続が削除されました。 プライベート エンドポイントは情報が多くなり、クリーンアップのために削除する必要があります。
  • プライベート エンドポイントを作成するときは、次の点を考慮してください。

    • プライベート エンドポイントを使用すると、次のものが同じ顧客間で接続できるようになります。

      • 仮想ネットワーク
      • リージョンでピアリングされた仮想ネットワーク
      • グローバルにピアリングされた仮想ネットワーク
      • VPN または ExpressRoute を使用するオンプレミス環境
      • Private Link を利用するサービス
    • ネットワーク接続を開始できるのは、プライベート エンドポイントに接続するクライアントのみです。 サービス プロバイダーには、サービス顧客への接続を作成するルーティング構成はありません。 接続を確立できるのは一方向のみです。

    • プライベート エンドポイントのライフサイクルにわたって読み取り専用のネットワーク インターフェイスが自動的に作成されます。 このインターフェイスには、プライベート リンク リソースにマップされる、サブネットからの動的プライベート IP アドレスが割り当てられます。 プライベート IP アドレスの値は、プライベート エンドポイントのライフサイクル全体にわたって変更されません。

    • プライベート エンドポイントは、仮想ネットワークと同じリージョンとサブスクリプションにデプロイする必要があります。

    • プライベート リンク リソースは、仮想ネットワークおよびプライベート エンドポイントとは異なるリージョンにデプロイできます。

    • 同じプライベート リンク リソースを使用して、複数のプライベート エンドポイントを作成できます。 共通の DNS サーバー構成を使用する単一のネットワークについては、指定したプライベート リンク リソースに単一のプライベート エンドポイントを使用する方法をお勧めします。 この方法を使用して、DNS の解決で重複するエントリや競合を回避します。

    • 同じ仮想ネットワーク内の同じサブネットまたは異なるサブネットに複数のプライベート エンドポイントを作成できます。 サブスクリプションに作成できるプライベート エンドポイントの数には制限があります。 詳しくは、Azure での制限に関するページをご覧ください。

    • プライベート リンク リソースからのサブスクリプションも、Micosoft.Network リソース プロバイダーに登録する必要があります。 詳細については、「Azure リソース プロバイダーと種類」を参照してください。

    プライベート リンク リソースは、指定したプライベート エンドポイントの宛先ターゲットです。 次の表に、プライベート エンドポイントをサポートする、使用可能なリソースを一覧で示します。

    プライベート リンク リソース名 リソースの種類 サブリソース
    Azure App Configuration Microsoft.Appconfiguration/configurationStores configurationStores
    Azure Automation Microsoft.Automation/automationAccounts Webhook、DSCAndHybridWorker
    Azure Cosmos DB Microsoft.AzureCosmosDB/databaseAccounts SQL、MongoDB、Cassandra、Gremlin、Table
    Azure Batch Microsoft.Batch/batchAccounts Batch アカウント
    Azure Cache for Redis Microsoft.Cache/Redis redisCache
    Azure Cache for Redis Enterprise Microsoft.Cache/redisEnterprise redisEnterprise
    Azure Cognitive Services Microsoft.CognitiveServices/accounts account
    Azure Managed Disks Microsoft.Compute/diskAccesses managed disk
    Azure Container Registry Microsoft.ContainerRegistry/registries 使用)
    Azure Kubernetes Service - Kubernetes API Microsoft.ContainerService/managedClusters management
    Azure Data Factory Microsoft.DataFactory/factories dataFactory
    Azure Data Explorer Microsoft.Kusto/clusters cluster
    Azure Database for MariaDB Microsoft.DBforMariaDB/servers mariadbServer
    Azure Database for MySQL Microsoft.DBforMySQL/servers mysqlServer
    Azure Database for PostgreSQL - 単一サーバー Microsoft.DBforPostgreSQL/servers postgresqlServer
    Azure デバイス プロビジョニング サービス Microsoft.Devices/provisioningServices iotDps
    Azure IoT Hub Microsoft.Devices/IotHubs iotHub
    Azure IoT Central Microsoft.IoTCentral/IoTApps IoTApps
    Azure Digital Twins Microsoft.DigitalTwins/digitalTwinsInstances digitaltwinsinstance
    Azure Event Grid Microsoft.EventGrid/domains domain
    Azure Event Grid Microsoft.EventGrid/topics topic
    Azure Event Hub Microsoft.EventHub/namespaces namespace
    Azure HDInsight Microsoft.HDInsight/clusters cluster
    Azure API for FHIR (高速ヘルスケア相互運用性リソース) Microsoft.HealthcareApis/services fhir
    Azure Key Vault HSM (ハードウェアセキュリティモジュール) Microsoft.Keyvault/managedHSMs HSM (HSM)
    Azure Key Vault Microsoft.KeyVault/vaults コンテナー
    Azure Machine Learning Microsoft.MachineLearningServices/workspaces amlworkspace
    Azure Migrate Microsoft.Migrate/assessmentProjects project
    Application Gateway Microsoft.Network/applicationgateways application gateway
    Private Link サービス (独自のサービス) Microsoft.Network/privateLinkServices empty
    Power BI Microsoft.PowerBI/privateLinkServicesForPowerBI Power BI
    Microsoft Purview Microsoft.Purview/accounts account
    Microsoft Purview Microsoft.Purview/accounts ポータル
    Azure Backup Microsoft.RecoveryServices/vaults コンテナー
    Azure Relay Microsoft.Relay/namespaces namespace
    Azure Cognitive Search Microsoft.Search/searchServices search service
    Azure Service Bus Microsoft.ServiceBus/namespaces namespace
    Azure SignalR Service Microsoft.SignalRService/SignalR signalr
    Azure SignalR Service Microsoft.SignalRService/webPubSub webpubsub
    Azure SQL データベース Microsoft.Sql/servers SQL Server (sqlServer)
    Azure Storage Microsoft.Storage/storageAccounts BLOB (blob、blob_secondary)
    Table (table、table_secondary)
    Queue (queue、queue_secondary)
    File (file、file_secondary)
    Web (web、web_secondary)
    Dfs (dfs、dfs_secondary)
    Azure File Sync microsoft.storagesync/storagesyncservices File Sync Service
    Azure Synapse Microsoft.Synapse/privateLinkHubs synapse
    Azure Synapse Analytics Microsoft.Synapse ワークスペース SQL、SqlOnDemand、Dev
    Azure App Service Microsoft.Web/hostingEnvironments hosting environment
    Azure App Service Microsoft.Web/sites sites
    Azure Static Web Apps Microsoft.Web/staticSites staticSites
    Azure Media Services Microsoft.Media/mediaservices keydelivery、liveevent、streamingendpoint

    注意

    プライベート エンドポイントは、General Purpose v2 (GPv2) のストレージ アカウントでのみ作成できます。

    プライベート エンドポイントのネットワーク セキュリティ

    プライベート エンドポイントを使用すると、トラフィックがセキュリティで保護されて、プライベート リンク リソース宛てに限定されます。 このプラットフォームではネットワーク接続が検証されます。指定されたプライベート リンク リソースに到達する接続のみを許可します。 同じ Azure サービス内の追加のサブリソースにアクセスするには、追加のプライベート エンドポイントと該当するターゲットが必要です。 Azure Storage の場合、たとえば、サブリソースの "ファイル" と "BLOB" にアクセスするための個別のプライベート エンドポイントが必要になります。

    プライベート エンドポイントからは、Azure サービスでプライベート アクセスできる IP アドレスが提供されますが、それへのパブリック ネットワーク アクセスは必ずしも制限しないでください。 Azure App ServiceAzure Functions は、プライベート エンドポイントに関連付けられているとき、パブリック アクセスできなくなります。 ただし、その他の Azure サービスではすべて、追加のアクセス制御が必要になります。 これらの制御によってリソースに追加のネットワーク セキュリティ層が与えられます。プライベートリンク リソースに関連付けられている Azure サービスへのアクセスを保護します。

    次の接続の承認方法を使用して、プライベート リンク リソースに接続できます。

    • 自動的に承認: 特定のプライベートリンクリソースに対するアクセス許可を所有しているか、付与されているときに、この方法を使用します。 必要なアクセス許可は、次の形式のプライベート リンク リソースの種類に基づきます。

      Microsoft.<Provider>/<resource_type>/privateEndpointConnectionsApproval/action

    • 手動で要求: 必要なアクセス許可がなく、アクセスを要求するときに、この方法を使用します。 承認ワークフローが開始されます。 プライベート エンドポイントとその後のプライベート エンドポイント接続は、保留中状態で作成されます。 プライベート リンク リソースの所有者が、接続の承認を担当します。 次の承認ワークフロー ダイアグラムに示すように、プライベート エンドポイントは承認後に、トラフィックを正常に送信できるようになります。

    Diagram of the workflow approval process.

    プライベート エンドポイント接続で、プライベート リンク リソースの所有者は次の作業を実行できます。

    • すべてのプライベート エンドポイント接続の詳細を確認します。
    • プライベート エンドポイント接続を承認する。 対応するプライベート エンドポイントは、プライベート リンク リソースにトラフィックを送信できるようになります。
    • プライベート エンドポイント接続を拒否する。 対応するプライベート エンドポイントが更新され、状態が反映されます。
    • 任意の状態のプライベート エンドポイント接続を削除する。 対応するプライベート エンドポイントが、アクションを反映して切断状態に更新されます。 プライベート エンドポイントの所有者がリソースを削除できるのは、この時点でのみです。

    注意

    指定したプライベート リンク リソースにトラフィックを送信できるのは、承認済み状態のプライベート エンドポイントのみです。

    別名を使用した接続

    別名は、サービスの所有者が標準のロード バランサーの背後にプライベート リンク サービスを作成したときに生成される一意のモニカーです。 サービスの所有者は、この別名をサービスのコンシューマーとオフラインで共有できます。

    コンシューマーは、リソース URI と別名のいずれかを使用して、プライベート リンク サービスへの接続を要求できます。 別名を使用して接続するには、手動の接続承認方法を使用してプライベート エンドポイントを作成します。 手動の接続承認方法を使用するには、プライベート エンドポイントの作成フロー中に手動要求パラメーターを True に設定します。 詳細については、「New-AzPrivateEndpoint」と「az network private-endpoint create」を参照してください。

    注意

    プロバイダー側でコンシューマーのサブスクリプションが許可リストに登録されている場合は、この手動要求を自動承認できます。 詳細については、「サービス アクセスを制御する」を参照してください。

    DNS の構成

    プライベート リンク リソースへの接続に使用する DNS 設定は重要です。 既存の Azure サービスには、パブリック エンドポイント経由で接続するときに使用できる DNS 構成が既に存在している場合があります。 プライベート エンドポイントで同じサービスに接続するには、別個の DNS 設定が必要になります。この設定は多くの場合、プライベート DNS ゾーン経由で構成されます。 接続に完全修飾ドメイン名 (FQDN) を使用するときは、DNS 設定が正しいことを確認してください。 設定は、プライベート エンドポイントのプライベート IP アドレスに解決される必要があります。

    プライベート エンドポイントに関連付けられているネットワーク インターフェイスには、DNS を構成するために必要な情報が含まれています。 この情報には、プライベート リンク リソースの FQDN とプライベート IP アドレスが含まれています。

    プライベート エンドポイント用に DNS を構成するための推奨事項に関するすべての詳細情報については、「プライベート エンドポイントの DNS 構成」に関するページを参照してください。

    制限事項

    プライベート エンドポイントの使用に関する既知の制限を次の表に示します。

    制限事項 説明 対応策
    ユーザー定義ルート (UDR) 経由のプライベート エンドポイント宛てトラフィックは、非対称になる場合があります。 プライベート エンドポイントから返されるトラフィックは、ネットワーク仮想アプライアンス (NVA) をバイパスして、元の仮想マシンに戻ろうとします。 ソース ネットワーク アドレス変換 (SNAT) を使用して、対称的なルーティングが確実に行われるようにします。 UDR を使用するプライベート エンドポイント宛てのすべてのトラフィックについて、NVA のトラフィックに SNAT を使用することをお勧めします。

    重要

    ネットワークセキュリティグループ(NSG)とプライベートエンドポイントのUDRサポートは、一部の地域でプレビュー中です。 詳細については、「Public preview of Private Link UDR Support」と「Public preview of Private Link Network Security Group Support」を参照してください。

    このプレビュー バージョンはサービス レベル アグリーメントなしで提供されているため、運用環境のワークロードに使用することはお勧めできません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。

    詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。

    プレビュー バージョンの制限事項

    ネットワーク セキュリティ グループ

    制限事項 説明 対応策
    プライベート エンドポイント ネットワーク インターフェイスでは有効なルートとセキュリティ規則の取得機能を使用できない。 ネットワーク インターフェイスに移動して、有効なルートとセキュリティ規則に関する情報を表示できません。 Q4CY2021
    NSG フロー ログがサポートされない。 NSG フロー ログは、プライベート エンドポイント宛ての受信トラフィックに対しては機能しません。 現時点では、軽減策の情報はありません。
    ゾーン冗長ストレージ (ZRS) ストレージアカウントを使用すると断続的に切断される。 ZRS ストレージ アカウントを使用しているお客様は、ストレージのプライベート エンドポイント サブネットに NSG の許可が適用されていても定期的に断続的な切断が発生することがあります。 現時点では、軽減策の情報はありません。
    Azure Key Vault の使用時に間欠的切断が発生する。 Azure Key Vault を使用しているお客様は、Azure Key Vault のプライベート エンドポイント サブネットに NSG の許可が適用されていても定期的に断続的な切断が発生することがあります。 現時点では、軽減策の情報はありません。
    NSG あたりのアドレス プレフィックスの数が制限されている。 1 つの規則で 500 を超える NSG のアドレス プレフィックスを使用することはできません。 現時点では、軽減策の情報はありません。
    AllowVirtualNetworkAccess フラグ 仮想ネットワーク (仮想ネットワーク A) の仮想ネットワーク ピアリング設定で、別の仮想ネットワーク (仮想ネットワーク B) へのピアリング リンクの AllowVirtualNetworkAccess フラグを false に設定しているお客様が、VirtualNetwork タグを使用して、プライベート エンドポイント リソースにアクセスする仮想ネットワーク B からのトラフィックを拒否することはできません。 プライベート エンドポイントへのトラフィックを拒否するには、お客様が仮想ネットワーク B のアドレス プレフィックスのブロックを明示的に設定する必要があります。 現時点では、軽減策の情報はありません。
    デュアル ポート NSG 規則がサポートされない。 NSG 規則で複数のポート範囲が使用されている場合、許可規則と拒否規則に対して、最初のポート範囲だけが有効になります。 複数のポート範囲がある規則では、既定で、特定のポートが拒否されるのではなくすべて拒否されます。

    詳細については、次の表にある NSG 規則の例を参照してください。
    現時点では、軽減策の情報はありません。

    デュアルポート NSG 規則の例を次の表に示します。

    Priority 送信元ポート 宛先ポート アクション 有効なアクション
    10 10 ~ 12 10 ~ 12 許可/拒否 送信元/宛先ポートの単一ポート範囲は、想定どおりに動作します。
    10 10 ~ 12、13 ~ 14 14 ~ 15、16 ~ 17 Allow 送信元ポート 10 ~ 12 と宛先ポート 14 ~ 15 のみが許可されます。
    10 10 ~ 12、13 ~ 14 120 ~ 130、140 ~ 150 拒否 送信元と宛先のポート範囲が複数存在するため、すべての宛先ポートに対して、すべての送信元ポートからのトラフィックが拒否されます。
    10 10 ~ 12、13 ~ 14 120 ~ 130 拒否 宛先ポート 120 ~ 130 のみに対して、すべての発信元ポートからのトラフィックが拒否されます。 複数の送信元ポート範囲と、1 つの宛先ポート範囲があります。
    制限事項 説明 対応策
    ソース ネットワーク アドレス変換 (SNAT) が常に推奨される。 プライベート エンドポイントのデータ プレーンは本来可変的なものであるため、戻りトラフィックが確実に処理されるように、プライベート エンドポイント宛てのトラフィックには SNAT を使用することをお勧めします。 現時点では、軽減策の情報はありません。

    次の手順