プライベート エンドポイントとは
プライベート エンドポイントは、仮想ネットワークのプライベート IP アドレスを使用するネットワーク インターフェイスです。 ユーザーはこのネットワーク インターフェイスにより、Azure Private Link を利用するサービスに非公開で安全に接続します。 プライベート エンドポイントを有効にして、サービスを仮想ネットワークに取り込みます。
サービスには、以下のような Azure サービスが利用できます。
- Azure Storage
- Azure Cosmos DB
- Azure SQL データベース
- Private Link サービスを使用する独自のサービス
プライベート エンドポイントのプロパティ
プライベート エンドポイントでは、次のプロパティを指定します。
プロパティ | 内容 |
---|---|
名前 | リソース グループ内の一意の名前。 |
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 Apps | Microsoft.App/ManagedEnvironments | managedEnvironment |
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 セキュリティ フィルターを追加する際に、すべての宛先ポートを開く必要がある場合があります。
- Azure Cosmos DB - 詳細については、「サービス ポート範囲」を参照してください。
UDR
制限事項 | 説明 |
---|---|
SNAT は常に推奨されます。 | プライベート エンドポイントのデータプレーンは本来可変的なものであるため、戻りトラフィックが確実に処理されるように、プライベート エンドポイント宛てのトラフィックには SNAT を適用することをお勧めします。 |
この機能は一部のリージョンでは使用できません。 | 現在、次のリージョンでは使用できません。 インド西部 オーストラリア中部 2 南アフリカ西部 ブラジル南東部 |
アプリケーション セキュリティ グループ
制限事項 | 説明 |
---|---|
この機能は一部のリージョンでは使用できません。 | 現在、次のリージョンでは使用できません。 インド西部 オーストラリア中部 2 南アフリカ西部 ブラジル南東部 |
次の手順
プライベート エンドポイントとプライベート リンクの詳細については、「Azure Private Link とは」を参照してください。
Web アプリ用のプライベート エンドポイントの作成を開始するには、「クイックスタート: Azure portal を使用してプライベート エンドポイントを作成する」を参照してください。