NGINX(エンジンエックス)|日本公式サイト

NGINXはF5ファミリーの一員となりました。新体制の詳細はこちらを御覧ください。

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

Kubernetes Ingressコントローラーは、以下のように機能します。

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

NGINXはどのように役立ちますか?

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

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

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

NGINXを使用するIngressコントローラーは数多くあるため、自社に適した選択肢の見極めに戸惑うことがあるかもしれません。意思決定でよくあることですが、選択肢はユースケースに左右されます。本番環境グレードのアプリケーションのデリバリーには、このブログで紹介している機能が推奨されます。これらは、NGINX PlusベースのバージョンのNGINX Ingress Controller独自の機能が最適です。

代表的な以下の3バージョンについては、当社ブログで概要を紹介しています。

最新アプリのデリバリーを支援するNGINXについて、ご興味のある方は今すぐお問い合わせください。