次の方法で共有


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

Azure Private Link を使用すると、プライベート エンドポイントを使用して仮想ネットワークから Azure PaaS (サービスとしてのプラットフォーム) リソースにアクセスすることができます。 Azure Monitor Private Link スコープ (AMPLS) は、監視ネットワークの境界を定義する Azure Monitor リソースのセットにプライベート エンドポイントを接続します。 この記事では、Azure Kubernetes Service (AKS) クラスターからのデータ インジェストにプライベート リンクを使用するように Container insights と Managed Prometheus を構成する方法について説明します。

Note

前提条件

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

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

マネージド Prometheus のデータは Azure Monitor ワークスペースに格納されるため、プライベート リンク経由でこのワークスペースにアクセスできるようにする必要があります。

DCE を構成する

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

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

AKS クラスターが Azure Monitor ワークスペースと同じリージョンにない場合は、AKS クラスターと同じリージョン内に別の DCE を作成する必要があります。 この場合は、マネージド Prometheus を有効にしたときに作成されたデータ収集ルール (DCR) を開きます。 この DCR には、MSProm-<clusterName>-<clusterRegion> という名前が付けられます。 このクラスターは、[リソース] ページに一覧表示されます。 [データ収集エンドポイント] のドロップダウンで、AKS クラスターと同じリージョン内の DCE を選択します。

Azure Monitor ワークスペースの [データ収集ルール] ページを示すスクリーンショット。

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

既定では、プライベート AKS クラスターは、パブリック データ収集エンドポイントを使用して、パブリック ネットワーク経由でマネージド Prometheus と Azure Monitor ワークスペースにデータを送信できます。

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 ワークスペースに格納されるため、プライベート リンク経由でこのワークスペースにアクセスできるようにする必要があります。

Note

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

マネージド 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
    

次のステップ

  • ソリューションのオンボードを試みた際に問題が発生した場合は、トラブルシューティング ガイドを確認してください。
  • AKS クラスターと実行中のワークロードの正常性とリソース使用率を収集するための監視を有効にしたうえで、Container insights を使用する方法について学習します。