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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    プライベート リンク リソース名 リソースの種類 サブリソース
    Application Gateway Microsoft.Network/applicationgateways フロントエンド IP 構成名
    Azure AI Search Microsoft.Search/searchServices searchService
    Azure AI サービス Microsoft.CognitiveServices/accounts アカウント
    Azure API for FHIR (高速ヘルスケア相互運用性リソース) Microsoft.HealthcareApis/services fhir
    Azure API Management Microsoft.ApiManagement/service ゲートウェイ
    Azure App Configuration Microsoft.Appconfiguration/configurationStores configurationStores
    Azure App Service Microsoft.Web/hostingEnvironments hosting environment
    Azure App Service Microsoft.Web/sites sites
    Azure Attestation サービス Microsoft.Attestation/attestationProviders standard
    Azure Automation Microsoft.Automation/automationAccounts Webhook、DSCAndHybridWorker
    Azure Backup Microsoft.RecoveryServices/vaults AzureBackup, AzureSiteRecovery
    Azure Batch Microsoft.Batch/batchAccounts batchAccount、nodeManagement
    Azure Cache for Redis Microsoft.Cache/Redis redisCache
    Azure Cache for Redis Enterprise Microsoft.Cache/redisEnterprise redisEnterprise
    Azure Container Registry Microsoft.ContainerRegistry/registries 使用)
    Azure Cosmos DB Microsoft.AzureCosmosDB/databaseAccounts SQL、MongoDB、Cassandra、Gremlin、Table
    Azure Cosmos DB for MongoDB 仮想コア Microsoft.DocumentDb/mongoClusters mongoCluster
    PostgreSQL 用 Azure Cosmos DB Microsoft.DBforPostgreSQL/serverGroupsv2 コーディネーター
    Azure Data Explorer Microsoft.Kusto/clusters cluster
    Azure Data Factory Microsoft.DataFactory/factories dataFactory
    Azure Database for MariaDB Microsoft.DBforMariaDB/servers mariadbServer
    Azure Database for MySQL - フレキシブル サーバー Microsoft.DBforMySQL/flexibleServers mysqlServer
    Azure Database for MySQL - 単一サーバー Microsoft.DBforMySQL/servers mysqlServer
    Azure Database for PostgreSQL - フレキシブル サーバー Microsoft.DBforPostgreSQL/flexibleServers postgresqlServer
    Azure Database for PostgreSQL - 単一サーバー Microsoft.DBforPostgreSQL/servers postgresqlServer
    Azure Databricks Microsoft.Databricks/workspaces databricks_ui_api, browser_authentication
    Azure デバイス プロビジョニング サービス Microsoft.Devices/provisioningServices iotDps
    Azure Digital Twins Microsoft.DigitalTwins/digitalTwinsInstances API
    Azure Event Grid Microsoft.EventGrid/domains domain
    Azure Event Grid Microsoft.EventGrid/topics topic
    Azure Event Hub Microsoft.EventHub/namespaces namespace
    Azure File Sync microsoft.storagesync/storagesyncservices File Sync Service
    Azure HDInsight Microsoft.HDInsight/clusters cluster
    Azure IoT Central Microsoft.IoTCentral/IoTApps IoTApps
    Azure IoT Hub Microsoft.Devices/IotHubs iotHub
    Azure Key Vault Microsoft.KeyVault/vaults コンテナー
    Azure Key Vault HSM (ハードウェアセキュリティモジュール) Microsoft.Keyvault/managedHSMs HSM (HSM)
    Azure Kubernetes Service - Kubernetes API Microsoft.ContainerService/managedClusters management
    Azure Machine Learning Microsoft.MachineLearningServices/registries amlregistry
    Azure Machine Learning Microsoft.MachineLearningServices/workspaces amlworkspace
    Azure Managed Disks Microsoft.Compute/diskAccesses managed disk
    Azure Media Services Microsoft.Media/mediaservices keydelivery、liveevent、streamingendpoint
    Azure Migrate Microsoft.Migrate/assessmentProjects project
    Azure Monitor のプライベート リンク スコープ Microsoft.Insights/privatelinkscopes azuremonitor
    Azure Relay Microsoft.Relay/namespaces namespace
    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 SQL Managed Instance Microsoft.Sql/managedInstances managedInstance
    Azure Static Web Apps Microsoft.Web/staticSites staticSites
    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 Synapse Microsoft.Synapse/privateLinkHubs web
    Azure Synapse Analytics Microsoft.Synapse ワークスペース Sql, SqlOnDemand, Dev
    Azure Virtual Desktop - ホスト プール Microsoft.DesktopVirtualization/hostpools つながり
    Azure Virtual Desktop - ワークスペース Microsoft.DesktopVirtualization/workspaces feed
    グローバル
    Device Update for IoT Hub Microsoft.DeviceUpdate/accounts DeviceUpdate
    統合アカウント (Premium) Microsoft.Logic/integrationAccounts integrationAccount
    Microsoft Purview Microsoft.Purview/accounts account
    Microsoft Purview Microsoft.Purview/accounts ポータル
    Power BI Microsoft.PowerBI/privateLinkServicesForPowerBI Power BI
    Private Link サービス (独自のサービス) Microsoft.Network/privateLinkServices
    リソース管理のプライベート リンク Microsoft.Authorization/resourceManagementPrivateLinks ResourceManagement

    Note

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

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

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

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

    プライベート エンドポイントは、ネットワーク ポリシーをサポートします。 ネットワーク ポリシーを使用すると、ネットワーク セキュリティ グループ (NSG)、ユーザー定義ルート (UDR)、アプリケーション セキュリティ グループ (ASG) をサポートできるようになります。 プライベート エンドポイントのネットワーク ポリシーの有効化の詳細については、「プライベート エンドポイントのネットワーク ポリシーを管理する」を参照してください。 プライベート エンドポイントで ASG を使用するには、「プライベート エンドポイントを使用してアプリケーション セキュリティ グループ (ASG) を構成する」を参照してください。

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

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

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

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

    ワークフロ承認ープロセスのダイアグラム。

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

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

    注意

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

    別名を使用した接続

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

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

    注意

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

    DNS の構成

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

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

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

    制限事項

    以下の情報は、プライベート エンドポイントの使用に関する既知の制限事項をまとめたものです。

    静的 IP アドレス

    制限事項 説明
    静的 IP アドレス構成は現在サポートされていません。 Azure Kubernetes Service (AKS)
    Azure Application Gateway
    HD Insight
    Recovery Services コンテナー
    サードパーティのプライベート リンク サービス

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

    制限事項 説明
    プライベート エンドポイントのネットワーク インターフェイスで有効なルートとセキュリティ規則が利用できない。 有効なルートとセキュリティ規則は、Azure portal のプライベート エンドポイント NIC には表示されません。
    NSG フロー ログがサポートされない。 NSG フロー ログは、プライベート エンドポイント宛ての受信トラフィックでは利用できません。
    アプリケーション セキュリティ グループのメンバーは 50 人以下である。 50 は、プライベート エンドポイント サブネットで NSG に結合されているそれぞれの ASG に結びつけられる IP 構成の数です。 メンバーの数が 50 を超える場合、接続に失敗することがあります。
    宛先ポートの範囲は、最大 25 万の要素がサポートされます。 宛先ポートの範囲は、SourceAddressPrefixes、DestinationAddressPrefixes、DestinationPortRanges を掛けた値がサポートされます。

    インバウンド規則の例:
    ソース数 1 * 宛先数 1 * portRanges の数 4,000 = 4,000 は有効
    ソース数 10 * 宛先数 10 * portRanges の数 10 = 1,000 は有効
    ソース数 50 * 宛先数 50 * portRanges の数 50 = 125,000 は有効
    ソース数 50 * 宛先数 50 * portRanges の数 100 = 250,000 は有効
    ソース数 100 * 宛先数 100 * portRanges の数 100 = 1,000,000 は無効 (NSG のソース、宛先、またはポートの数が多すぎる)。
    ソース ポートのフィルター処理は * と解釈される ソース ポートのフィルター処理は、プライベート エンドポイント宛てのトラフィックに対するトラフィックのフィルター処理の有効なシナリオとして積極的に使用されていません。
    この機能は一部のリージョンでは使用できません。 現在、次のリージョンでは使用できません:
    インド西部
    オーストラリア中部 2
    南アフリカ西部
    ブラジル南東部
    すべての Government リージョン
    すべての中国リージョン

    NSG に関するその他の考慮事項

    • サービス プロバイダーからトラフィックを送信することはできないため、プライベート エンドポイントから拒否された送信トラフィックは有効なシナリオではありません。

    • 次ののサービスでは、プライベート エンドポイントを使用し、NSG セキュリティ フィルターを追加する際に、すべての宛先ポートを開く必要がある場合があります。

    UDR

    制限事項 説明
    SNAT は常に推奨されます。 プライベート エンドポイントのデータプレーンは本来可変的なものであるため、戻りトラフィックが確実に処理されるように、プライベート エンドポイント宛てのトラフィックには SNAT を適用することをお勧めします。
    この機能は一部のリージョンでは使用できません。 現在、次のリージョンでは使用できません。
    インド西部
    オーストラリア中部 2
    南アフリカ西部
    ブラジル南東部

    アプリケーション セキュリティ グループ

    制限事項 説明
    この機能は一部のリージョンでは使用できません。 現在、次のリージョンでは使用できません。
    インド西部
    オーストラリア中部 2
    南アフリカ西部
    ブラジル南東部

    次の手順