Application Gateway イングレス コントローラーとは

Application Gateway イングレス コントローラー (AGIC) は Kubernetes アプリケーションであり、これにより、Azure Kubernetes Service (AKS) のお客様が、Azure のネイティブ Application Gateway L7 ロード バランサーを活用してクラウド ソフトウェアをインターネットに公開できるようにします。 AGIC では、ホストされている Kubernetes クラスターを監視し、Application Gateway を継続的に更新して、選択されたサービスがインターネットに公開されるようにします。

イングレス コントローラーは、お客様の AKS の独自のポッドで実行されます。 AGIC では、Kubernetes リソースのサブセットに変更がないかを監視します。 AKS クラスターの状態は Application Gateway の特定の構成に変換され、Azure Resource Manager (ARM) に適用されます。

ヒント

また、「Application Gateway for Containers とは」も参照してください。

Azure Application Gateway イングレス コントローラーの利点

AGIC を使用すると、AKS クラスターの前に別のロード バランサー/パブリック IP アドレスを用意する必要がなくなり、要求が AKS クラスターに到達する前に、データパス内の複数のホップを回避できます。 Application Gateway は、プライベート IP アドレスを直接使用してポッドと通信し、NodePort サービスや KubeProxy サービスを必要としません。 この機能により、デプロイのパフォーマンスも向上します。

イングレス コントローラーは、Standard_v2 および WAF_v2 SKU でのみサポートされ、自動スケーリングの利点も得られます。 Application Gateway は、トラフィックの負荷の増減に反応し、それに応じてスケールでき、ご利用の AKS クラスターのリソースを消費しません。

AGIC に加えて Application Gateway を使用すると、TLS ポリシーと Web アプリケーション ファイアウォール (WAF) 機能を提供して、ご利用の AKS クラスターを保護することもできます。

Azure Application Gateway + AKS

AGIC は、サービスおよびデプロイ/ポッドと共に、Kubernetes のイングレス リソースを使用して構成されます。 これは、Azure のネイティブ Application Gateway L7 ロード バランサーを使用して、さまざまな機能を提供します。 以下にいくつか例を挙げます。

  • URL ルーティング
  • Cookie ベースのアフィニティ
  • TLS 終了
  • エンドツーエンド TLS
  • パブリック、プライベート、ハイブリッド Web サイトのサポート
  • Web アプリケーション ファイアウォールを統合

Helm デプロイと AKS アドオンの違い

AKS クラスター用の AGIC をデプロイする方法は 2 つあります。 最初の方法は、Helm を通すことです。2 つ目は、AKS をアドオンとして使用することです。 AGIC を AKS アドオンとしてデプロイすることの主な利点は、Helm を使用したデプロイよりもシンプルであることです。 新しいセットアップでは、Azure CLI の 1 つの行で、新しいアプリケーション ゲートウェイと AKS クラスターを、アドオンとして有効にした AGIC と共にデプロイできます。 アドオンは、フル マネージド サービスでもあり、自動更新やサポートの強化などの追加のメリットが提供されます。 AGIC (Helm および AKS アドオン) をデプロイする方法は、どちらも Microsoft によって完全にサポートされています。 また、アドオンを使用すると、第一級のアドオンとしての AKS との統合を向上させることができます。

AGIC アドオンは顧客の AKS クラスターにポッドとしてデプロイされますが、AGIC の Helm デプロイ バージョンとアドオン バージョンにはいくつかの違いがあります。 この 2 つのバージョンの違いの一覧を以下に示します。

  • AKS アドオンで Helm デプロイの値を変更することはできません。
    • verbosityLevel は、既定では 5 に設定されています
    • usePrivateIp は、既定では false に設定されています。この設定は、use-private-ip 注釈によって上書きできます
    • shared は、アドオンではサポートされていません
    • reconcilePeriodSeconds は、アドオンではサポートされていません
    • armAuth.type は、アドオンではサポートされていません
  • Helm を通してデプロイされた AGIC では ProhibitedTargets がサポートされます。つまり、AGIC では、他の既存のバックエンドに影響を与えずに、AKS クラスター専用のアプリケーション ゲートウェイを構成できます。 AGIC アドオンでは、現時点ではこの機能はサポートされていません。
  • AGIC アドオンはマネージド サービスであるため、顧客の AGIC アドオンは自動的に最新バージョンに更新されます。この点は、Helm を使用してデプロイされる AGIC (顧客が手動で AGIC を更新する必要があります) とは異なります。

Note

お客様は、AKS クラスターあたり 1 つの AGIC アドオンのみをデプロイできます。現在、各 AGIC アドオンでは、1 つの Application Gateway のみをターゲットにすることができます。 クラスターあたり複数の AGIC を必要とする、または 1 つの Application Gateway をターゲットとした複数の AGIC を必要とするデプロイでは、Helm を通じてデプロイされた AGIC を引き続き使用してください。

次のステップ