注意事項
Kubernetes SIG Network とセキュリティ対応委員会は、イングレス NGINX プロジェクトの今後の廃止を発表し、メンテナンスは 2026 年 3 月に終了します。 現在、 NGINX でアプリケーション ルーティング アドオンを使用する AKS クラスターには、すぐに必要なアクションはありません。 Microsoft は、 2026 年 11 月まで、アプリケーション ルーティング アドオン NGINX イングレス リソースの重要なセキュリティ パッチの公式サポートを提供します。
AKS は、イングレスと L7 トラフィック管理の長期的な標準としてゲートウェイ API に移行することで、アップストリームの Kubernetes と連携しています。 現在のセットアップに基づいて、移行パスの計画を開始することをお勧めします。
- アプリケーション ルーティング アドオン ユーザー: 運用ワークロードは、2026 年 11 月まで完全にサポートされます。 ゲートウェイ API ベースのイングレス トラフィック管理エクスペリエンスのために、 アプリケーション ルーティング ゲートウェイ API の実装 に移行します。
-
OSS NGINX ユーザー には、いくつかのオプションがあります。
- NGINX を使用してアプリケーション ルーティング アドオンに移行し、長期的なゲートウェイ API の移行を計画しながら、2026 年 11 月までの公式サポートの恩恵を受けることができます。
- ゲートウェイ API ベースのイングレス トラフィック管理エクスペリエンスのために、 アプリケーション ルーティング ゲートウェイ API の実装 に移行します。
- イングレス API とゲートウェイ API の両方をサポートする Application Gateway for Containers に移行します。
- サービス メッシュ ユーザー: サービス メッシュを採用する予定の場合は、 Istio ベースのサービス メッシュ アドオンを検討してください。 Istio イングレスを今すぐ使用し、Istio Gateway API (現在は GA) への移行を計画します。
AKS 内のイングレスとは、クラスター内にあるサービスへのトラフィック アクセスなど、外部 HTTP を管理する Kubernetes リソースのことです。 AKS イングレスは、負荷分散、SSL ターミネーション (終端)、名前ベースの仮想ホスティングなどのサービスを提供することがあります。 Kubernetes イングレスの詳細については、Kubernetes Ingress documentation (Kubernetes イングレスのドキュメント) を参照してください。
ほとんどの運用ワークロードでは、 AKS Automatic から始めます。 AKS 自動は、AKS で推奨される運用環境対応の既定値であり、ネットワーク、スケーリング、セキュリティ、監視、アップグレードに対して管理された既定値を提供します。 イングレスの場合、つまり、管理されたイングレス パスから始めて、トポロジ、ルーティング動作、またはサービス メッシュ統合をより詳細に制御する必要がある場合にのみ、より特殊なオプションに移動できます。
イングレス コントローラーの選択、デプロイ トポロジ、または高度なネットワーク統合をより明示的に制御する必要がある場合は、AKS Standard を使用します。
AKS クラスター モードとイングレス
AKS では、次の 2 つのクラスター モードがサポートされています。
- AKS Automatic: ほとんどの本番ワークロードに推奨される出発点です。 これにより、運用上のオーバーヘッドが軽減され、イングレスおよび関連するネットワーク コンポーネントの管理された既定値が提供されます。
- AKS Standard: イングレス コントローラーのホスティング、サービスの公開、高度なトラフィック管理パターンを明示的に制御する必要がある場合に最適です。
この記事のイングレス ガイダンスは、両方のモードに適用されます。 主な違いは、プラットフォームの既定値の多くを所有しているユーザーと、直接管理する必要があるカスタマイズの量です。
イングレス コントローラー
アプリケーション トラフィックを管理する場合、イングレス コントローラーはレイヤー 7 で動作し、高度な機能を提供します。 受信 URL に基づいて HTTP トラフィックをさまざまなアプリケーションにルーティングできるため、よりインテリジェントで柔軟性の高いトラフィック分散ルールを実現できます。 たとえば、イングレス コントローラーは、URL パスに応じてトラフィックをさまざまなマイクロサービスに送信できるので、開発するサービスの効率と編成を強化するのに役立ちます。
一方、LoadBalancer 型のサービスを作成する場合、基になる Azure ロード バランサー リソースを設定します。 このロード バランサーはレイヤー 4 で動作し、指定された 1 つのポートで、開発するサービス内に存在する複数のポッドへトラフィックを分散します。 ただし、レイヤー 4 のサービスは実際のアプリケーションを認識しないため、この種の複雑なルーティング規則を実装できません。
これら 2 つのアプローチの違いを理解すると、トラフィック管理のニーズに適したツールを選択するのに役立ちます。
AKS Automatic を使用している場合は、まずマネージド イングレス パスから開始し、ワークロードで必要な場合にのみ、より特殊なオプションを使用します。 AKS Standard では、アーキテクチャに最適なイングレス コントローラーとトポロジを柔軟に選択できます。
複数のイングレス オプションの比較
機能の比較
次の表に、さまざまなイングレス コントローラー オプションの機能の違いを示します。 ほとんどの運用 AKS ワークロードでは、カスタム ルーティング、サービス メッシュ統合、またはAzureホスト型イングレスが特に必要でない限り、AKS Automatic のマネージド イングレス アプローチが推奨される既定のパスです。
| 特徴量 | アプリケーション ルーティング アドオン | Application Gateway for Containers | Azure サービス メッシュ/Istio サービス メッシュ |
|---|---|---|---|
| イングレス/ゲートウェイ コントローラー | NGINX イングレス コントローラー | コンテナー用 Azure Application Gateway | Istio イングレス ゲートウェイ |
| API | イングレス API | Ingress API と Gateway API | Istio イングレス API |
| ホスティング | クラスター内 | Azure ホステッド | クラスター内 |
| スケーリング | 自動スケール | 自動スケール | 自動スケール |
| 負荷分散 | 内部/外部 | 外部 | 内部/外部 |
| SSL ターミネーション (終端) | クラスター内 | はい: オフロードと E2E SSL | クラスター内 |
| mTLS | 該当なし | はい: フロントエンドとバックエンド | はい |
| 静的 IP アドレス | はい | FQDN (静的 IP なし) | 該当なし |
| Azure Key Vault に保存済みの SSL 証明書 | はい | はい | 該当なし |
| DNS ゾーン管理用の Azure DNS 統合 | はい | はい | 該当なし |
各イングレス コントローラーを使用するタイミング
次の表に、各イングレス コントローラーを使用する場合のさまざまなシナリオを挙げます。
| イングレス オプション | 使用する場合 |
|---|---|
| マネージド NGINX - アプリケーション ルーティング アドオン | • クラスター内でホストされている、カスタマイズ可能でスケーラブルな NGINX イングレス コントローラー。 • 基本的な負荷分散とルーティング機能。 内部ロード バランサーと外部ロード バランサーの構成。 • 静的 IP アドレスの構成。 • 証明書管理のためのAzure Key Vaultとの統合。 •パブリックおよびプライベートDNS管理のためのAzure DNSゾーンとの統合。 • イングレス API をサポートします。 |
| コンテナ用アプリケーションゲートウェイ | • Azure でホストされるイングレス ゲートウェイ。 • コントローラーによって管理される柔軟なデプロイ戦略、または独自の Application Gateway for Containers の導入。 • 自動再試行、アベイラビリティーゾーンの耐障害性、バックエンドターゲットへの相互認証(mTLS)、トラフィック分割 / 重み付きラウンドロビン、オートスケーリングなどの高度なトラフィック管理機能。 • 証明書管理のためのAzure Key Vaultとの統合。 •パブリックおよびプライベートDNS管理のためのAzure DNSゾーンとの統合。 • イングレス API とゲートウェイ API をサポートします。 |
| Istio イングレス ゲートウェイ | • Envoy に基づいて、サービス メッシュ用に Istio を使用する場合。 レート制限やサーキットブレークなどの高度なトラフィック管理機能。 • mTLS のサポート。 |
注
Istio アドオンは現在、 Istio イングレス トラフィック用のゲートウェイ API をサポートしていません。
イングレス リソースを作成する
アプリケーション ルーティング アドオンは、AKS でイングレス コントローラーを構成するための推奨される方法であり、ほとんどのワークロードで AKS Automatic で開始するマネージド イングレス パスです。 アプリケーション ルーティング アドオンは、次の機能を提供する AKS 用のフル マネージドイングレス コントローラーです。
- Kubernetes NGINX イングレス コントローラーに基づくマネージド NGINX イングレス コントローラーの簡単な構成。
- パブリック ゾーンとプライベート ゾーンの管理のための Azure DNS との統合
- Azure Key Vault に格納されている証明書での SSL 終端。
ほとんどの運用環境のワークロードでは、これが最初の適切な既定値です。 カスタムイングレス トポロジ、Azureホスト型イングレス、またはサービス メッシュの動作が必要な場合は、他のいずれかのイングレス オプションに移動できます。
アプリケーション ルーティング アドオンの詳細については、「アプリケーション ルーティング アドオン を使用したマネージド NGINX イングレス」を参照してください。
クライアント ソース IP の保持
クライアント ソース IP を AKS クラスター内のコンテナーへの要求上で保持するようにイングレス コントローラーを構成します。 イングレス コントローラーによりクライアントの要求が AKS クラスター内のコンテナーにルーティングされるときに、その要求の元のソース IP は、ターゲット コンテナーでは利用できません。 クライアント ソース IP の保持を有効にすると、クライアントに対するソース IP は、X-Forwarded-For 下にある要求ヘッダー内で利用できます。
クライアント ソース IP の保持機能をイングレス コントローラー上で使用している場合は、TLS パススルーを使用できません。 クライアント ソース IP の保持と TLS パススルーは、LoadBalancer 型など、他のサービスによって使用できます。
ソース IP 処理はクラスター モードに関係なく、監視、監査可能性、アプリケーションの動作に影響するため、これは AKS Automatic と AKS Standard の両方で重要な設計上の選択です。
クライアント ソース IP の保持について詳しくは、「AKS の LoadBalancer Services でのクライアント ソース IP 保持のしくみ」をご覧ください。