Azure Kubernetes Service (AKS) 用 の Advanced Container Networking Services のコンテナー ネットワーク ログを使用すると、AKS クラスター内のネットワーク トラフィックを詳細に把握できます。
ログには、送信元と宛先の IP アドレス、ポッドとサービスの名前、ポート、プロトコル、トラフィックの方向など、ネットワークの動作に関する詳細な分析情報を得るための重要なメタデータがキャプチャされます。
コンテナー ネットワーク ログは、レイヤー 3 (IP)、レイヤー 4 (TCP/UDP)、レイヤー 7 (HTTP/gRPC/Kafka) トラフィックをキャプチャして、接続の効果的な監視、トラブルシューティング、ネットワーク トポロジの視覚化、セキュリティ ポリシーの適用に役立ちます。
次の 2 つのモードから選択します。
- 保存されたログ
- オンデマンド ログ
保存されたログ
保存されたログ モードでは、Advanced Container Networking Services を有効にしてカスタム フィルターを設定すると、AKS クラスターでログの生成と収集が継続的に行われます。 ログ収集は既定で無効になっています。
ログ収集を有効にするには、監視するトラフィックの種類を指定する カスタム リソース を定義します。 たとえば、名前空間、ポッド、サービス、プロトコルなどがあります。 この機能は、無効にするまでアクティブなままです。
保存されたログ モードでは、ログリテンション期間の延長がサポートされますが、トラフィック のフィルター処理もサポートされます。 ストレージ コストを削減し、分析を容易にするために、自分に関連するログを収集して保持できます。
保存ログモードの操作方法
Advanced Container Networking Services では、eBPF テクノロジを利用して、Cilium と共にクラスター内のノードからログを取得します。 ログの収集を開始するには、監視するトラフィックの種類を指定する 1 つ以上のカスタム リソースを定義します。
カスタム リソースを使用すると、自分に関連するトラフィックを定義してキャプチャするためのきめ細かい制御が提供されます。 各ノードで実行されている Cilium エージェントは、カスタム リソースで設定された条件に一致するネットワーク トラフィックを収集します。 ログはホスト上の JSON 形式で格納され、さらに使用するための構造化されたアクセス可能な形式が提供されます。
または、Azure Monitoring アドオンが有効になっている場合、Container insights のエージェントはホストからログを収集し、既定の調整制限を適用して、Log Analytics ワークスペースに送信します。 システムはログを効率的に集計して格納し、監視、トラブルシューティング、セキュリティの適用に役立つネットワーク トラフィックを可視化します。
調整とコンテナー分析情報の詳細については、 Container insights のドキュメントを参照してください。
保存されたログ モードの主な機能
カスタマイズ可能なフィルター。 RetinaNetworkFlowLog の種類のカスタム リソースを定義することで、ログ記録を構成できます。 カスタム リソースを使用して、名前空間、ポッド、サービス、ポート、プロトコル、判定、またはトラフィックの方向 (イングレスまたはエグレス) によって細かいフィルターを適用します。 柔軟性により、特定のユース ケースに合わせた正確なデータ収集が保証されます。 関連するトラフィックのみがログに記録され、パフォーマンス、コンプライアンス、トラブルシューティングの向上のためにストレージが最適化されます。
ログ ストレージ オプション。 コンテナー ネットワーク ログ機能には、アンマネージド ストレージとマネージド ストレージという 2 つのプライマリ ストレージ オプションがあります。
アンマネージド ストレージ: カスタム リソースを適用してログ収集を開始すると、ネットワーク フロー ログは、固定マウント場所
/var/log/acns/hubble
ホスト ノードにローカルに格納されます。 ノード自体は永続的なストレージ ソリューションではないので、このストレージの場所は一時的なものです。 また、ログ ファイルのサイズが 50 MB になると、自動的にローテーションされるため、古いログが上書きされます。 このストレージ ソリューションはリアルタイム監視に適していますが、長期的なストレージやリテンション期間はサポートされていません。ログ管理機能を強化するために、OpenTelemetry コレクターなどのパートナー ログ サービスを統合できます。 パートナー統合により、Azure エコシステムの外部でログを柔軟に管理でき、特定のログ管理プラットフォームを既にデプロイしている場合に便利です。
マネージド ストレージ: 長期的なリテンション期間と高度な分析のために、ログを収集して Log Analytics ワークスペースに格納するように AKS クラスターで Azure 監視を構成することをお勧めします。 このセットアップは、セキュリティで保護され、準拠しているログ ストレージを確保するのに役立ちます。 また、異常検出、パフォーマンス チューニング、履歴データ分析などの強力な機能にアクセスすることもできます。 履歴ログを使用して傾向、ベースラインの動作を特定し、定期的な問題に積極的に対処できます。
たとえば、Prometheus のマネージド サービスを使用して、リアルタイム監視用のメトリックとログの両方でアラートを構成し、外れ値をすばやく検出できます。
ログ ストレージには同じワークスペースを使用します。 オンボード中にログ ストレージ領域を設定します。 この機能のストレージについては、Analytics と Basic ログの両方のテーブル プランがサポートされています。 テーブル プランの詳細については、「 Azure Monitor ログ」を参照してください。
Log Analytics と Grafana ダッシュボードでの簡単な視覚化。 Grafana ダッシュボードに表示されるログとデータは、複雑な情報を簡素化し、データ理解を容易にし、意思決定をより迅速に行うのに役立ちます。
Azure portal でのログの視覚化
Azure portal の Log Analytics ワークスペースで、クラスターのフロー ログを視覚化、クエリ、分析できます。
Grafana ダッシュボードでのログの視覚化
Azure Managed Grafana インスタンスのフロー ログにアクセスします。
ログの分析を簡略化するために、構成済みの Grafana ダッシュボードが 2 つ用意されています。
[Azure]>[分析情報]>[コンテナー]>[ネットワーク]>[フロー ログ] に移動します。 このダッシュボードには、ネットワーク要求、応答、ドロップ、エラーなど、相互に通信している AKS ワークロードが表示されます。 現時点では、プレビュー中の中間手順として、ユーザー ID を使用して Grafana ダッシュボードをインポートし、Azure portal でフロー ログ ダッシュボードを表示する必要があります。
Azure>Insights>Containers>Networking>Flow ログ (外部トラフィック) に移動します。 このダッシュボードには、ネットワーク要求、応答、ドロップ、エラーなど、AKS クラスターの外部からの通信を送受信する AKS ワークロードが表示されます。
詳細については、「 Advanced Container Networking Services を使用した Azure Managed Grafana のセットアップ」を参照してください。
Grafana オプションを使用してダッシュボードを使用して、Azure portal のフロー ログにアクセスします。
Azure portal ダッシュボードには、次の主要なコンポーネントがあります。
ネットワーク正常性の包括的な概要。 迅速な異常検出と効率的なトラブルシューティングのために、フロー ログの合計、一意の要求、削除された要求、転送された要求などの主要なメトリックが表示されます。 ダッシュボードでは、DNS ドロップされた要求、HTTP 2xx 応答、レイヤー 4 の要求と応答率、削除された要求数など、プロトコルと動作ごとに統計情報が分類されます。 サービス依存関係グラフでは、アプリケーションまたはクラスターの相互作用が視覚化され、トラフィック フロー、ボトルネック、および依存関係が強調表示され、パフォーマンスが最適化されます。
迅速な分析のためのフロー ログとエラー ログ。 根本原因分析のためにフロー ログをフィルター処理できます。 たとえば、ドメイン ネーム システム (DNS) の問題については、DNS プロトコルでエラー ログをフィルター処理します。
フロー ログとエラー ログのセクションを分離すると、問題をより迅速に分析できます。 関連のない情報を調べることなく、エラーをすばやく特定して対処し、トラブルシューティングとデバッグのプロセスの効率を向上させることができます。
各ログ エントリに明確なラベルとタイムスタンプを使用して、システムまたはプロセスの特定のイベントやエラーをより簡単に特定します。
上位の名前空間、ワークロード、DNS エラー。 ネットワーク フロー ログの視覚化は、AKS クラスター内の通信を監視および分析するために不可欠です。 名前空間、ワークロード、ポートとクエリの使用状況に関する分析情報が提供されます。 傾向の特定、ボトルネックの検出、問題の診断に役立ちます。 重要なネットワーク アクティビティの検出、ドロップ要求の表示、プロトコルの分散の評価 (TCP と UDP など)。 ダッシュボードのこの概要セクションでは、異常なトラフィック パターンを検出して表示することで、クラスターの正常性、リソースの最適化、セキュリティをサポートします。
オンデマンドログ
Advanced Container Networking Services では、ネットワーク フロー ログをオンデマンドでキャプチャできます。 Hubble CLI と Hubble UI を使用して、事前の構成や永続的なストレージなしでリアルタイムの可視性を実現します。 オンデマンド ログを取得するためのこのモードを使用できます。 オンデマンド ログ ストレージを設定する方法については、 Hubble CLI と Hubble UI の構成に関するページを参照してください。
Hubble CLI
Hubble コマンド ライン インターフェイス (CLI) は、ターミナルでフロー ログを直接照会、フィルター処理、分析するための柔軟で対話型の方法を提供します。 リアルタイム コマンドを実行して、運用環境を離れることなく、トラフィック フローの検査、パケット メタデータの表示、ネットワークの問題のトラブルシューティングを行うことができます。
Hubble UI
Hubble Web ベースのインターフェイスは、監視用の直感的で視覚的なプラットフォームを提供します。 ライブ トラフィック ダッシュボード、フローの概要、検索可能なログなどの機能を使用すると、サービス間の通信を簡単に追跡し、異常を検出し、クラスター アクティビティに関する分析情報を得ることができます。
Hubble UI のツールは、リアルタイムの可視性と実用的な分析情報を提供し、トラブルシューティングを高速化し、ネットワーク管理を改善します。
オンデマンド ログの主な利点
- 問題の解決を高速化します。 ネットワーク トラフィックに関する詳細で実用的な分析情報を使用すると、接続やパフォーマンスの問題をより迅速に特定して解決し、ダウンタイムや中断を最小限に抑えることができます。
- 最適化された運用効率。 集計され、効率的に格納されたログにより、データ管理のオーバーヘッドが削減されます。 チームは、大量の生データを管理するのではなく、分析と意思決定に集中できます。
- アプリケーションの信頼性の向上。 サービス間通信を監視し、異常を検出することで、潜在的な問題に事前に対処し、よりスムーズで信頼性の高いアプリケーション エクスペリエンスを確保できます。
- 意思決定の改善。 Azure Managed Grafana でネットワーク パターンを視覚化し、サービス マップを適用すると、アプリケーションのネットワーク動作に関する明確な分析情報が得られます。 その結果、インフラストラクチャの計画と最適化が改善されます。
- コスト削減。 効率的なログ集計とカスタマイズ可能なログ スコープにより、長期的なネットワーク監視のためのコスト効率の高いソリューションのストレージとデータ インジェストのコストが削減されます。
- コンプライアンスとセキュリティの合理化。 永続的で包括的なログは、監査証跡、規制コンプライアンス、疑わしいトラフィックの迅速な識別をサポートします。 これらは、セキュリティで保護された準拠環境を維持するのに役立ちます。
制限事項
- 格納されたログ モードのコンテナー ネットワーク ログは、現在 Cilium データ プレーンでのみ機能します。
- レイヤー 7 のフロー ログは、レイヤー 7 ポリシーのサポートが有効になっている場合にのみキャプチャされます。 詳細については、「 レイヤ 7 ポリシーを設定する」を参照してください。
- DNS フローとメトリックは、Cilium 完全修飾ドメイン (FQDN) ネットワーク ポリシーが適用されている場合にのみキャプチャされます。 詳細については、「 FQDN ポリシーの構成」を参照してください。
- 現在、Terraform を使用したオンボードはサポートされていません。
- Log Analytics がログ ストレージ用に構成されていない場合、コンテナー ネットワーク ログは最大 50 MB のストレージに制限されます。 この制限に達すると、新しいエントリによって古いログが上書きされます。
- テーブル プランが Basic ログに設定されている場合、事前構築済みの Grafana ダッシュボードは機能しません。
- 補助ログ テーブル プランはサポートされていません。
価格設定
Von Bedeutung
アドバンスト コンテナー ネットワークサービスは有料オファリングです。
価格の詳細については、「アドバンスト コンテナー ネットワークサービス - 価格」を参照してください。
関連コンテンツ
- コンテナー ネットワーク ログを設定する方法について説明します。
- AKS 用の高度なコンテナー ネットワーク サービスの詳細を取得します。
- Advanced Container Networking Services の Container Network Observability 機能 について説明します。
- 高度な Container Networking Services のコンテナー ネットワーク セキュリティ機能 について説明します。
Azure Kubernetes Service