Ingressコントローラは、Kubernetes(およびその他のコンテナ化された)環境に特化したロード バランサです。Kubernetesは、コンテナ化されたアプリケーションを管理するためのデファクト スタンダードです。多くの企業では、本番環境のワークロードをKubernetesに移行することで、アプリケーション トラフィック管理の課題が増え、より複雑になります。Ingressコントローラは、Kubernetesのアプリケーションのトラフィック ルーティングを抽象化して複雑さを排除し、Kubernetesサービスと外部サービスを橋渡しします。

Kubernetes Ingress Controllerは、次のように機能します。

  • Kubernetesプラットフォーム外部からのトラフィックを受け入れ、プラットフォーム内部で稼働するポッド(コンテナ)にロード バランシングする
  • クラスタ外の他のサービスとの通信を必要とするサービス用に、クラスタ内のエグレス トラフィックを管理する
  • 「Ingressリソース」と呼ばれるオブジェクトを導入するように、Kubernetes APIを使用して構成される
  • Kubernetesで稼働するポッドを監視し、ポッドがサービスに追加されたりサービスから削除されたりした場合にはロードバランシング ルールを自動的に更新する

NGINX Sprintのこのセッションで、Kubernetesネットワーキングの概念とIngressコントローラの機能の詳細をご覧ください。また、基本的な3種類のIngressコントローラ(オープン ソース、クラウド ベンダーのデフォルト、商用)のうち、どれが最適かを判断するための実践的なアドバイスもご確認ください。

NGINX Plusがお手伝いできること

Ingressコントローラの構成を頻繁に変更する場合や、Kubernetesサービスを攻撃から守ることが最優先事項である場合は、以下のような機能を提供する本番環境グレードのIngressコントローラが必要です。

NGINX Ingress Controllerは、Kubernetes環境でNGINX Open SourceNGINX Plusインスタンスと一緒に動作する本番環境グレードのIngressコントローラ(デーモン)です。このデーモンは、NGINX IngressリソースKubernetes Ingressリソースを監視して、イングレスのロード バランシングが必要なサービスに対するリクエストを検出します。また、NGINX App Protectと互換性があります。これは最新の軽量なWAFであり、サービスまたはポッドごとのプロキシとして導入することも可能です。

NGINX Ingress Controllerにより、Kubernetesのレイヤ4~7のネットワーキングを活用して、Kubernetesサービス間のセキュリティとトラフィックの制御を強化できます。

NGINXを使用するIngressコントローラは数多くあるため、自社に適したものを見極めるのは難しいかもしれません。当社のブログでは、NGINX上に構築された3つの最も一般的なIngressコントローラの概要を紹介しています。

適切なIngressコントローラの選択は、ユース ケースによって異なります。本番環境グレードのアプリケーション デリバリが必要な場合は、上記の機能が重要ですが、これらの機能を提供しているのは、NGINX PlusベースのバージョンのNGINX Ingress Controllerだけです。

お客様による最新のアプリケーションのデリバリについて当社がお手伝いできることについては、ぜひ当社までお問い合わせください