Ingressコントローラ(いんぐれすこんとろーらー)
最終更新:2026/4/27
Ingressコントローラは、Kubernetesクラスタへの外部からのアクセスを管理するコンポーネントであり、HTTPやHTTPSなどのトラフィックを適切なサービスへルーティングする。
別名・同義語 イングレスコントローラーKubernetes Ingress
ポイント
Ingressコントローラは、ロードバランサやプロキシサーバの役割を担い、Kubernetes環境におけるアプリケーションへのアクセスを効率化する。設定ファイルに基づいてトラフィックを制御し、セキュリティ機能も提供する。
Ingressコントローラとは
Ingressコントローラは、Kubernetesクラスタにデプロイされたアプリケーションに対して、外部からのHTTP(S)トラフィックを効率的にルーティングするための仕組みです。KubernetesのIngressリソースを監視し、その定義に基づいてトラフィックを適切なバックエンドサービスへ転送します。
Ingressコントローラの役割
Ingressコントローラは、主に以下の役割を担います。
- ルーティング: Ingressリソースで定義されたルールに基づいて、受信したトラフィックを適切なサービスへルーティングします。
- ロードバランシング: 複数のバックエンドサービスにトラフィックを分散し、負荷を軽減します。
- SSL/TLS終端: SSL/TLS証明書を管理し、暗号化された通信を処理します。
- 名前ベースの仮想ホスティング: 複数のドメイン名やサブドメインを同じクラスタ内の異なるサービスにルーティングします。
- パスベースのルーティング: URLのパスに基づいて、異なるサービスにルーティングします。
代表的なIngressコントローラ
Kubernetes環境で利用できるIngressコントローラには、以下のようなものがあります。
- nginx-ingress: Nginxをベースとした、広く利用されているIngressコントローラです。
- traefik: 動的な設定変更に対応し、自動的に証明書を取得できるIngressコントローラです。
- haproxy-ingress: HAProxyをベースとした、高性能なIngressコントローラです。
- AWS Load Balancer Controller: AWSのロードバランサをIngressリソースとして利用するためのコントローラです。
Ingressコントローラの導入
Ingressコントローラは、KubernetesクラスタにHelmチャートやマニフェストファイルを使用してデプロイします。デプロイ後、Ingressリソースを定義することで、トラフィックのルーティングルールを設定できます。