マネージド Prometheus と Azure Monitor ワークスペースにプライベート エンドポイントを使用する

マネージド Prometheus と Azure Monitor ワークスペースで、仮想ネットワーク (VNet) 上のクライアントが Private Link 経由で安全にデータのクエリを実行できるようにするには、プライベート エンドポイントを使います。 プライベート エンドポイントでは、Azure Monitor ワークスペース リソースの VNet アドレス空間内の個別の IP アドレスが使われます。 VNet 上のクライアントとワークスペース リソースの間のネットワーク トラフィックは、VNet と Microsoft バックボーン ネットワーク上のプライベート リンクを経由することで、パブリック インターネットから露出することがなくなります。

Note

Azure Managed Grafana を使ってデータのクエリを実行する場合は、Managed Grafana から Azure Monitor ワークスペースへのクエリがインターネットを経由せずに Microsoft バックボーン ネットワークを使うよう、、マネージド プライベート エンドポイントを構成してください。

ワークスペースにプライベート エンドポイントを使うと、次のことが可能になります。

  • パブリック アクセス ネットワークの設定を構成して、ワークスペースに対するパブリック クエリ エンドポイント上のすべての接続をブロックすることで、ワークスペースをセキュリティ保護します。
  • VNet からのデータの流出をブロックできるようにすることで、VNet のセキュリティを強化します。
  • VPN または ExpressRoute とプライベート ピアリングを使って VNet に接続するオンプレミス ネットワークからワークスペースに安全に接続します。

概念の概要

Azure Monitor ワークスペース用のプライベート エンドポイントの概要を示す図。

プライベート エンドポイントは、仮想ネットワーク (VNet) 内の Azure サービス用の特別なネットワーク インターフェイスです。 ワークスペース用のプライベート エンドポイントを作成すると、VNet 上のクライアントとワークスペースの間にセキュリティ保護された接続が提供されます。 プライベート エンドポイントには、VNet の IP アドレス範囲から IP アドレスが割り当てられます。 プライベート エンドポイントとワークスペースの間の接続には、セキュリティ保護されたプライベート リンクが使われます。

VNet 内のアプリケーションは、プライベート エンドポイント経由でワークスペースにシームレスに接続できます。使われる接続文字列と認可メカニズムは、それを経由しない場合と同じです

プライベート エンドポイントは、サービス エンドポイントを使用するサブネットに作成できます。 その後、サブネット内のクライアントは、プライベート エンドポイントを使ってワークスペースに接続できますが、他のサービスにアクセスするにはサービス エンドポイントを使います。

VNet にワークスペース用のプライベート エンドポイントを作成すると、承認を得るために同意要求がワークスペース アカウント オーナーに送信されます。 プライベート エンドポイントの作成を要求しているユーザーがワークスペースの所有者でもある場合、この同意要求は自動的に承認されます。

Azure Monitor ワークスペースの所有者は、Azure portal でワークスペースの [ネットワーク] ページの [プライベート アクセス] タブを使って、同意要求とプライベート エンドポイントを管理できます。

ヒント

ワークスペースへのアクセスをプライベート エンドポイント経由のみに制限する場合は、Azure portal でワークスペースの [ネットワーク] ページの [パブリック アクセス] タブで [パブリック アクセスを無効にし、プライベート アクセスを使用する] をオンにします。

プライベート エンドポイントの作成

Azure portal、Azure PowerShell、または Azure CLI を使ってプライベート エンドポイントを作成するには、次の記事をご覧ください。 これらの記事では、ターゲット サービスとして Azure Web アプリを使っていますが、Azure Monitor ワークスペースでもプライベート リンクの作成手順は同じです。

プライベート エンドポイントを作成するときは、[リソースの種類]Microsoft.Monitor/accounts を選び、それを接続する Azure Monitor ワークスペースを指定します。 ターゲット サブリソースとしては prometheusMetrics を選びます。

プライベート エンドポイントへの接続

プライベート エンドポイントを使う VNet 上のクライアントは、パブリック エンドポイントに接続するクライアントと同じクエリ エンドポイントを、Azure Monitor ワークスペースに対して使う必要があります。 VNet からの接続をプライベート リンク経由でワークスペースに自動的にルーティングするために、DNS 解決に依存しています。

デフォルトでは、VNet に接続されているプライベート DNS ゾーンが作成され、プライベート エンドポイントに必要な更新も行われます。 ただし、独自の DNS サーバーを使用している場合は、DNS 構成に追加の変更が必要になることがあります。 以下の DNS の変更に関するセクションで、プライベート エンドポイントに必要な更新について説明しています。

プライベート エンドポイントの DNS の変更

Note

プライベート エンドポイントの DNS 設定を構成する方法の詳細については、「Azure プライベート エンドポイントの DNS 構成」を参照してください。

プライベート エンドポイントを作成すると、ワークスペースの DNS CNAME リソース レコードは、プレフィックス privatelink を持つサブドメイン内のエイリアスに更新されます。 既定で、privatelink サブドメインに対応するプライベート DNS ゾーンも作成されます。これには、プライベート エンドポイントの DNS A リソース レコードが含まれます。

プライベート エンドポイントを使用する VNet の外部からのクエリ エンドポイント URL を解決すると、ワークスペースのパブリック エンドポイントに解決されます。 プライベート エンドポイントをホストしている VNet から解決されるときは、クエリ エンドポイント URL はプライベート エンドポイントの IP アドレスに解決されます。

次の例では、米国東部リージョンにある k8s02-workspace を使っています。 リソース名は一意であることが保証されないため、名前の後に文字をいくつか追加して、URL パスを一意にする必要があります (例: k8s02-workspace-<key>)。 この一意のクエリ エンドポイントは、Azure Monitor ワークスペースの [概要] ページに表示されます。

Azure Monitor ワークスペースの概要ページを示すスクリーンショット。

Azure Monitor ワークスペースの DNS リソース レコードは、プライベート エンドポイントをホストしている VNet の外部から解決されると、次のようになります。

名前 種類
k8s02-workspace-<key>.<region>.prometheus.monitor.azure.com CNAME k8s02-workspace-<key>.privatelink.<region>.prometheus.monitor.azure.com
k8s02-workspace-<key>.privatelink.<region>.prometheus.monitor.azure.com CNAME <AMW リージョン サービスのパブリック エンドポイント>
<AMW リージョン サービスのパブリック エンドポイント> A <AMW リージョン サービスのパブリック IP アドレス>

既に説明したように、ワークスペースの [ネットワーク] ページの [パブリック アクセス] タブを使って、VNet の外部のクライアントによるパブリック エンドポイント経由のアクセスを拒否または制御することができます。

"k8s02-workspace" の DNS リソース レコードは、プライベート エンドポイントをホストしている VNet 内のクライアントによって解決されると、次のようになります。

名前 種類
k8s02-workspace-<key>.<region>.prometheus.monitor.azure.com CNAME k8s02-workspace-<key>.privatelink.<region>.prometheus.monitor.azure.com
k8s02-workspace-<key>.privatelink.<region>.prometheus.monitor.azure.com A <プライベート エンドポイントの IP アドレス>

この方法を使うと、プライベート エンドポイントをホストしている VNet 上のクライアントと、VNet の外部のクライアントから、同じクエリ エンドポイントを使ってワークスペースにアクセスできます。

ネットワークでカスタム DNS サーバーを使っている場合は、クライアントでワークスペース クエリ エンドポイントの FQDN を、プライベート エンドポイントの IP アドレスに解決できる必要があります。 プライベート リンク サブドメインを VNet のプライベート DNS ゾーンに委任するように DNS サーバーを構成するか、プライベート エンドポイントの IP アドレスを使用して k8s02-workspace の A レコードを構成する必要があります。

ヒント

カスタムまたはオンプレミスの DNS サーバーを使っている場合は、privatelink サブドメインのワークスペース クエリ エンドポイント名を、プライベート エンドポイントの IP アドレスに解決するように、DNS サーバーを構成する必要があります。 これを行うには、VNet のプライベート DNS ゾーンに privatelink サブドメインを委任するか、DNS サーバー上で DNS ゾーンを構成し、DNS A レコードを追加します。

Azure Monitor ワークスペースのプライベート エンドポイントに推奨される DNS ゾーン名は次のとおりです。

リソース ターゲット サブリソース ゾーン名
Azure Monitor ワークスペース prometheusMetrics privatelink.<region>.prometheus.monitor.azure.com

プライベート エンドポイントをサポートするように独自の DNS サーバーを構成する方法の詳細については、次の記事を参照してください。

価格

料金の詳細については、「Azure Private Link の料金」をご覧ください。

既知の問題

Azure Monitor ワークスペース用のプライベート エンドポイントに関する以下の既知の問題に注意してください。

プライベート エンドポイントがある VNet 内のクライアントに対するワークスペース クエリ アクセスの制約

既存のプライベート エンドポイントを含む VNet 内のクライアントには、プライベート エンドポイントがある他の Azure Monitor ワークスペースにアクセスするときに、制約があります。 たとえば、VNet N1 に、ワークスペース A1 用のプライベート エンドポイントがあるとします。 ワークスペース A2 のプライベート エンドポイントが VNet N2 にある場合、VNet N1 のクライアントも、プライベート エンドポイントを使ってアカウント A2 のワークスペース データのクエリを実行する必要があります。 ワークスペース A2 にプライベート エンドポイントが構成されていない場合は、VNet N1 のクライアントは、プライベート エンドポイントを使わずに、そのワークスペースのデータのクエリを実行できます。

この制約は、ワークスペース A2 がプライベート エンドポイントを作成するときに行われる DNS の変更の結果です。

次のステップ