次の方法で共有


Azure Monitor で Kubernetes 監視用のプライベート リンクを有効にする

Azure Private Link を使用すると、プライベート エンドポイントを使用して、Azure サービスとしてのプラットフォーム (PaaS) リソースに仮想ネットワークにアクセスできます。 Azure Monitor Private Link Scope (AMPLS) は、プライベート エンドポイントを一連の Azure Monitor リソースに接続して、監視ネットワークの境界を定義します。 Managed Prometheus/Container Insights と Azure Monitor ワークスペース/Log Analytics ワークスペースのプライベート エンドポイントを使用すると、仮想ネットワーク (VNet) 上のクライアントが Private Link 経由でデータを安全に取り込むことができます。

この記事では、Azure Kubernetes Service (AKS) クラスターからのデータ インジェストにプライベート リンクを使用するように Container insights と Managed Prometheus を構成する方法について説明します。

マネージド Prometheus (Azure Monitor ワークスペース)

プライベート AKS クラスターから Azure Monitor ワークスペースへの Prometheus メトリックのインジェストを設定するには、次の手順に従います。

概念の概要

  • プライベート エンドポイントは、仮想ネットワーク (VNet) 内の Azure サービス用の特別なネットワーク インターフェイスです。 Azure Monitor ワークスペースのプライベート エンドポイントを作成すると、VNet 上のクライアントとワークスペース間のセキュリティで保護された接続が提供されます。 詳細については、「 プライベート エンドポイント」を参照してください。

  • Azure Private Link を使用すると、プライベート エンドポイントを使用して、Azure サービスとしてのプラットフォーム (PaaS) リソースを仮想ネットワークに安全にリンクできます。 Azure Monitor は 、Azure Monitor Private Link Scope または AMPLS と呼ばれる 1 つのプライベート リンク接続を使用します。これにより、仮想ネットワーク内の各クライアントは、(複数のプライベート リンクを作成する代わりに) Log Analytics ワークスペース、Azure Monitor ワークスペースなどのすべての Azure Monitor リソースに接続できます。 詳細については、「Azure Monitor Private Link Scope (AMPLS)」を参照してください。

プライベート リンクを介したインジェストの概要を示す図。

プライベート エンドポイントを使用して仮想ネットワークから Azure Monitor ワークスペースへの Managed Prometheus メトリックのインジェストを設定するには、次の大まかな手順に従います。

  • Azure Monitor Private Link Scope (AMPLS) を作成し、Azure Monitor ワークスペースのデータ収集エンドポイントに接続します。
  • AMPLS を、プライベート AKS クラスターの仮想ネットワーク用に設定されたプライベート エンドポイントに接続します。

前提条件

Managed Prometheus が有効になっている プライベート AKS クラスター 。 Managed Prometheus の有効化の一環として、Azure Monitor ワークスペースも設定されています。 詳細については、「 AKS でマネージド Prometheus を有効にする」を参照してください。

プライベート AKS クラスターから Azure Monitor ワークスペースへのデータ インジェストを設定する

1. Azure Monitor ワークスペース用の AMPLS を作成する

Azure Managed Prometheus で収集されたメトリックは、Azure Monitor ワークスペースに取り込んで格納されるため、プライベート リンク経由でワークスペースにアクセスできるようにする必要があります。 このためには、Azure Monitor Private Link スコープまたは AMPLS を作成します。

  1. Azure portal で Azure Monitor のプライベート リンク スコープを検索し、[ 作成] をクリックします。

  2. リソース グループと名前を入力し、[インジェスト アクセス モード] で [プライベートのみ] を選択します。

    AMPLS の構成を示すスクリーンショット。

  3. [確認と作成] をクリックして AMPLS を作成します。

AMPLS のセットアップの詳細については、「 Azure Monitor のプライベート リンクを構成する」を参照してください。

2. AMPLS を Azure Monitor ワークスペースのデータ収集エンドポイントに接続する

マネージド Prometheus のデータ インジェスト用のプライベート リンクは、データを格納する Azure Monitor ワークスペースのデータ収集エンドポイント (DCE) に構成されます。 Azure Monitor ワークスペースに関連付けられている DCE を識別するには、Azure portal で Azure Monitor ワークスペースから [データ収集エンドポイント] を選択します。

  1. Azure portal で、プライベート AKS クラスターの Managed Prometheus の有効化の一環として作成した Azure Monitor ワークスペースを検索します。 データ 収集エンドポイントの名前をメモします。

    Azure Monitor ワークスペースのデータ収集エンドポイント ページを示すスクリーンショット。

  2. 次に、Azure portal で、前の手順で作成した AMPLS を検索します。 AMPLS の概要ページに移動し、 Azure Monitor リソースをクリックし、[ 追加] をクリックして、前の手順で書き込んだ Azure Monitor ワークスペースの DCE を接続します。

    AMPLS への DCE の接続を示すスクリーンショット。

2a. DCE を構成する

AKS クラスターが Azure Monitor ワークスペースと同じリージョンにない場合は、Azure Monitor ワークスペース用に新しいデータ収集エンドポイントを構成する必要があります。

AKS クラスターが Azure Monitor ワークスペースと同じリージョンにない場合にのみ、次の手順に従います。 クラスターが同じリージョンにある場合は、この手順をスキップして手順 3 に進みます。

  1. AKS クラスターと同じリージョンにデータ収集エンドポイントを作成します。

  2. Azure Monitor ワークスペースに移動し、[概要] ページでデータ収集規則 (DCR) をクリックします。 この DCR の名前は、Azure Monitor ワークスペースと同じです。

    スクリーンショットは、Azure Monitor ワークスペースのデータ収集ルールを示しています。

  3. DCR の概要ページで、[ リソース ] ->+ [追加] をクリックし、AKS クラスターを選択します。

    AMW DCR を AKS に接続する方法を示すスクリーンショット

  4. AKS クラスターが追加されたら (ページを更新する必要がある場合があります)、AKS クラスターをクリックし、[ エンドポイントのデータ収集の編集] をクリックします。 表示されたブレードで、このセクションの手順 1 で作成したデータ収集エンドポイントを選択します。 この DCE は、AKS クラスターと同じリージョンに存在する必要があります。

    DCE の関連付けを示すスクリーンショット。

  5. AMPLS の概要ページに移動し、 Azure Monitor リソースをクリックし、[ 追加] をクリックして、作成した DCE を接続します。

3. AKS クラスターのプライベート エンドポイントに AMPLS を接続する

プライベート エンドポイントは、仮想ネットワーク (VNet) 内の Azure サービス用の特別なネットワーク インターフェイスです。 次に、プライベート AKS クラスターの VNet にプライベート エンドポイントを作成し、それを AMPLS に接続して、メトリックを安全に取り込みます。

  1. Azure portal で、前の手順で作成した AMPLS を検索します。 AMPLS の概要ページに移動し、[->の構成] をクリックし、[+ プライベート エンドポイント] を選択します。

  2. リソース グループを選択し、プライベート エンドポイントの名前を入力し、[ 次へ] をクリックします。

  3. [ リソース ] セクションで、リソースの種類として Microsoft.Monitor/accounts 、リソースとして Azure Monitor ワークスペースを選択し、 prometheusMetrics を選択します。 [ 次へ] をクリックします。

    プライベート エンドポイントの構成を示すスクリーンショット

  4. [ 仮想ネットワーク ] セクションで、AKS クラスターの仮想ネットワークを選択します。 これは、AKS の概要 -> 設定 -> ネットワーク -> 仮想ネットワーク統合のポータルで確認できます。

4. メトリックが Azure Monitor ワークスペースに取り込まれるかどうかを確認する

プライベート AKS クラスターからの Prometheus メトリックが Azure Monitor ワークスペースに取り込まれるかどうかを確認します。

  1. Azure portal で Azure Monitor ワークスペースを検索し、 監視 ->Metrics に移動します。
  2. メトリックス エクスプローラーでメトリックのクエリを実行し、クエリを実行できることを確認します。

プライベート AKS クラスターからのインジェスト

Azure Firewall を使用してクラスターからのエグレスを制限する場合は、次のいずれかを実装できます。

  • パブリック インジェスト エンドポイントへのパスを開きます。 ルーティング テーブルを次の 2 つのエンドポイントで更新します。
    • *.handler.control.monitor.azure.com
    • *.ingest.monitor.azure.com
  • データ インジェストに使用される Azure Monitor Private Link スコープと DCE にアクセスできるように Azure Firewall を設定します。

次の手順を使用して、プライベート リンク仮想ネットワークと Azure Monitor Private Link スコープを介して Kubernetes クラスターのリモート書き込みを設定します。

  1. Azure 仮想ネットワークを作成します。
  2. VPN ゲートウェイ、またはプライベート ピアリングを使用した ExpressRoute を使用して Azure VNET に接続するようにオンプレミス クラスターを構成します。
  3. Azure Monitor Private Link スコープを作成します。
  4. Azure Monitor Private Link スコープを、オンプレミス クラスターで使用される仮想ネットワーク内のプライベート エンドポイントに接続します。 このプライベート エンドポイントは、DCE にアクセスするために使用されます。
  5. ポータルの Azure Monitor ワークスペースで、Azure Monitor ワークスペース メニューから [データ収集エンドポイント ] を選択します。
  6. ワークスペースと同じ名前の DCE が少なくとも 1 つあります。 DCE をクリックして詳細を開きます。
  7. DCE の [ネットワーク分離 ] ページを選択します。
  8. [ 追加] をクリックし、Azure Monitor Private Link スコープを選択します。 設定が反映されるまで数分かかります。 完了すると、プライベート AKS クラスターからのデータがプライベート リンク経由で Azure Monitor ワークスペースに取り込まれます。

Container insights (Log Analytics ワークスペース)

Container Insights のデータは Log Analytics ワークスペースに格納されるため、プライベート リンク経由でこのワークスペースにアクセスできるようにする必要があります。

このセクションでは、CLI を使用して Container insights のプライベート リンクを有効にする方法について説明します。 ARM テンプレートの使用の詳細については、「 コンテナーの分析情報を有効にする 」を参照し、パラメーターの useAzureMonitorPrivateLinkScopeazureMonitorPrivateLinkScopeResourceIdに注意してください。

前提条件

  • この記事では、クラスターを既存の Azure Monitor Private Link スコープ (AMPLS) に接続する方法について説明します。 「プライベート リンクの構成」のガイダンスに従って、AMPLS を作成します。
  • Azure CLI バージョン 2.61.0 以上。

マネージド ID 認証を使用するクラスター

既定の Log Analytics ワークスペースを持つ既存の AKS クラスター

az aks enable-addons --addon monitoring --name <cluster-name> --resource-group <cluster-resource-group-name> --ampls-resource-id "<azure-monitor-private-link-scope-resource-id>"

例:

az aks enable-addons --addon monitoring --name "my-cluster" --resource-group "my-resource-group" --workspace-resource-id "/subscriptions/my-subscription/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace" --ampls-resource-id "/subscriptions/my-subscription /resourceGroups/my-resource-group/providers/microsoft.insights/privatelinkscopes/my-ampls-resource"

既存の Log Analytics ワークスペースを持つ既存の AKS クラスター

az aks enable-addons --addon monitoring --name <cluster-name> --resource-group <cluster-resource-group-name> --workspace-resource-id <workspace-resource-id> --ampls-resource-id "<azure-monitor-private-link-scope-resource-id>"

例:

az aks enable-addons --addon monitoring --name "my-cluster" --resource-group "my-resource-group" --workspace-resource-id "/subscriptions/my-subscription/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace" --ampls-resource-id "/subscriptions/my-subscription /resourceGroups/ my-resource-group/providers/microsoft.insights/privatelinkscopes/my-ampls-resource"

新しい AKS クラスター

az aks create --resource-group rgName --name clusterName --enable-addons monitoring --workspace-resource-id "workspaceResourceId" --ampls-resource-id "azure-monitor-private-link-scope-resource-id"

例:

az aks create --resource-group "my-resource-group" --name "my-cluster" --enable-addons monitoring --workspace-resource-id "/subscriptions/my-subscription/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace" --ampls-resource-id "/subscriptions/my-subscription /resourceGroups/ my-resource-group/providers/microsoft.insights/privatelinkscopes/my-ampls-resource"

レガシ認証を使用するクラスター

クラスターがマネージド ID 認証を使用していない場合は、 Azure Private Link を使用してクラスターを Log Analytics ワークスペースに接続して、ネットワークの分離を有効にするには、次の手順に従います。 これには 、プライベート AKS クラスターが必要です。

  1. プライベート Azure Kubernetes Service クラスターの作成に関するページのガイダンスに従って、プライベート AKS クラスターを作成します。

  2. Log Analytics ワークスペースのパブリック インジェストを無効にします。

    次のコマンドを使って、既存のワークスペースでのパブリック インジェストを無効にします。

    az monitor log-analytics workspace update --resource-group <azureLogAnalyticsWorkspaceResourceGroup> --workspace-name <azureLogAnalyticsWorkspaceName> --ingestion-access Disabled
    

    次のコマンドを使って、パブリック インジェストを無効にして新しいワークスペースを作成します。

    az monitor log-analytics workspace create --resource-group <azureLogAnalyticsWorkspaceResourceGroup> --workspace-name <azureLogAnalyticsWorkspaceName> --ingestion-access Disabled
    
  3. プライベート リンクの構成に関するページの手順に従って 、プライベート リンクを構成します。 インジェスト アクセスをパブリックに設定し、プライベート エンドポイントを作成した後、監視を有効にする前にプライベートに設定します。 プライベート リンク リソースのリージョンは、AKS クラスターのリージョンと同じである必要があります。

  4. AKS クラスターの監視を有効にします。

    az aks enable-addons -a monitoring --resource-group <AKSClusterResourceGorup> --name <AKSClusterName> --workspace-resource-id <workspace-resource-id> --enable-msi-auth-for-monitoring false
    

次のステップ