ALB Ingress は、Alibaba Cloud が提供するクラウドネイティブな Ingress ゲートウェイです。Container Service for Kubernetes (ACK) や ACK Serverless などの Kubernetes プロダクトと深く統合されており、レイヤー 7 負荷分散を提供し、外部トラフィックをクラスター内のサービスにルーティングします。このトピックでは、ALB Ingress の基本概念、使用方法、利点、およびユースケースについて説明します。
基本概念
Container Service for Kubernetes (ACK) や ACK Serverless などの Kubernetes プロダクトでは、ALB Ingress を使用して外部トラフィックをクラスター内のサービスにルーティングし、レイヤー 7 負荷分散を実装できます。これは、クラスターにデプロイされたコンポーネントである ALB Ingress コントローラーによって管理されます。ALB Ingress コントローラーは、API サーバーを監視して AlbConfig、Ingress、Service などのリソースの変更を検出し、これらの変更を必要な Application Load Balancer (ALB) の構成に動的に変換します。ALB Ingress コントローラーの詳細については、「ALB Ingress コントローラー」をご参照ください。
ALB Ingress の使用
ALB Ingress は、Alibaba Cloud の Application Load Balancer (ALB) 上に構築されており、Ingress トラフィックを管理するためのより強力な方法を提供します。NGINX Ingress と互換性があり、複雑なビジネスルーティングや証明書の自動検出を処理でき、HTTP、HTTPS、QUIC プロトコルをサポートし、クラウドネイティブアプリケーションシナリオにおける弾力性と大規模なレイヤー 7 トラフィック処理の要求に応えます。
操作手順
ALB Ingress は Container Service for Kubernetes によって管理されます。サービス例外を防ぐため、ALB コンソールで設定しないでください。ALB のクォータの詳細については、「クォータと使用制限」をご参照ください。
ALB Ingress はクラウドネイティブサービスと深く統合されており、豊富な機能と使いやすさを提供します。ALB Ingress を使用する手順は次のとおりです。
|
ステップ |
説明 |
|
ALB Ingress コントローラーのインストール |
ALB Ingress コントローラーは、クラスター作成時または [アドオン] ページでインストールできます。詳細については、次のトピックをご参照ください。
説明
|
|
(オプション) ACK 専用クラスターへの権限付与 |
ACK 専用クラスターでは、ALB Ingress コントローラーをインストールした後、ALB Ingress を介してアクセスするサービスをデプロイする前に、「ALB Ingress コントローラーに必要な権限を付与する必要があります。 |
|
バックエンドサービスのデプロイ |
Kubernetes に Deployment や Service などのバックエンドサービスをデプロイして、ALB Ingress からのトラフィックを受信できます。詳細については、次のトピックをご参照ください。
|
|
(オプション) AlbConfig と IngressClass の作成 |
重要
ALB Ingress コントローラーのインストール時に [ALB インスタンスソース] で [新規作成] または [既存] を選択した場合、コントローラーは自動的に ALB Ingress コントローラーに権限を付与した後、AlbConfig と IngressClass を作成して関連付けることができます。詳細については、次のトピックをご参照ください。
|
|
Ingress の作成 |
上記の手順を完了したら、Ingress を作成します。Ingress で転送ルールを設定してリクエストをバックエンドサービスにルーティングし、Ingress を IngressClass および AlbConfig に関連付けます。これにより、クライアントは ALB Ingress を介して Kubernetes のリソースにアクセスできます。詳細については、次のトピックをご参照ください。
|
アノテーションを使用して、ALB Ingress の転送ルールを設定するだけでなく、セッション維持やカナリアリリースなどの高度な機能も実装できます。他の ALB Ingress 機能の詳細については、次のトピックをご参照ください。
-
ACK クラスター:「ALB Ingress の高度な設定」
-
ACK Serverless クラスター:「ALB Ingress の高度な設定」
仕組み
ALB Ingress は、ネイティブの Kubernetes 機能との互換性に加えて、AlbConfig CRD と Ingress アノテーションを通じて高度な機能を提供します。
-
AlbConfig CRD:ALB インスタンスとリスナーの設定に使用されます。1 つの AlbConfig が 1 つの ALB インスタンスに対応します。
-
Ingress アノテーション:HTTP/HTTPS リクエストを対応するサービスにルーティングするための転送ルールを設定するために使用されます。
-
Service:レプリケートされた Pod のセットで実行されているバックエンドアプリケーションの抽象化です。1 つの Service で複数の同一のバックエンドサービスを表すことができます。

ALB Ingress の利点
ALB Ingress は、強力な Ingress トラフィック管理機能を提供するフルマネージドサービスです。NGINX Ingress はセルフマネージド型であり、広範なゲートウェイのカスタマイズが必要なシナリオに適しています。NGINX Ingress と ALB Ingress は、製品の位置付け、アーキテクチャ、パフォーマンス、セキュリティの点で異なります。詳細な比較については、「NGINX Ingress と ALB Ingress の比較」をご参照ください。
ALB Ingress は、次のシナリオにおいて NGINX Ingress よりも大きな利点があります。
-
接続保持が必要なシナリオ
接続保持は、IoT (Internet of Things)、オンライン金融サービス、オンラインゲームなど、頻繁なやり取りが発生するビジネスシナリオに適しています。設定変更には NGINX Ingress のプロセスの再読み込みが必要であり、これにより接続保持が中断されます。対照的に、ALB Ingress は設定のホットアップデートをサポートしており、接続保持の安定性を確保します。
-
高い同時実行性が求められるシナリオ
IoT サービスでは、多数の端末デバイスにより高い同時実行性が生じることがよくあります。Luoshen クラウドネットワークプラットフォーム上に構築された ALB Ingress は、セッションを効率的に管理できます。単一の ALB インスタンスで数千万の接続をサポートします。NGINX Ingress はサポートするセッション数が限られており、自己メンテナンスが必要です。NGINX Ingress のスケーリングはクラスターリソースを消費し、手動での介入が必要なため、スケーリングコストが高くなります。
-
高 QPS シナリオ
インターネットサービスは、プロモーションイベントや突然のトラフィックスパイク時など、秒間クエリ数 (QPS) が高いことが特徴です。ALB Ingress は自動スケーリングをサポートしています。高 QPS を処理するために、より多くの VIP が自動的にプロビジョニングされます。単一の ALB インスタンスは最大 100 万 QPS をサポートでき、NGINX Ingress よりも低いレイテンシーを提供します。対照的に、NGINX Ingress はクラスターリソースに依存するため、高 QPS シナリオではパフォーマンスボトルネックに遭遇しやすくなります。
-
トラフィック変動があるシナリオ
ALB Ingress は、e コマースやゲームなど、トラフィックが変動するサービスに対してよりコスト効率が高いです。ALB Ingress は従量課金制です。オフピーク時には、消費されるロードバランサーキャパシティーユニット (LCU) が少なくなり、コストが削減されます。自動スケーリングにより、手動でのトラフィック監視や管理が不要になります。NGINX Ingress を使用する場合、クラスターリソースを予約する必要があり、オフピーク時にはアイドルリソースのコストが発生し、手動でのリソース予約が必要になります。
-
アクティブなゾーン冗長性およびアクティブ地理的冗長性のディザスタリカバリシナリオ
ソーシャルネットワーキングプラットフォームやストリーミングメディアサービスなど、業務継続性と信頼性に対する要件が高い業界やアプリケーションでは、Distributed Cloud Container Platform for Kubernetes (ACK One) で ALB マルチクラスターゲートウェイを作成し、「ALB Ingress を使用したマルチクラスターのトラフィック管理」を行うことで、アクティブなゾーン冗長性およびアクティブ地理的冗長性のディザスタリカバリソリューションを実装できます。
ユースケース
ALB Ingress は、高性能、自動スケーリング、最小限の運用オーバーヘッド、およびオープンなプログラマビリティを提供します。
-
多層の負荷分散とスケジューリングにより、インスタンスあたり最大 100 万 QPS を処理します。
-
統合されたソフトウェア、ハードウェア、およびハードウェアアクセラレーションカードを使用して、高い転送パフォーマンスを実現します。
-
自動スケーリングにより O&M (運用保守) を簡素化し、最大 99.995% のマルチインスタンス可用性 SLA を提供します。
-
さまざまな高度なルーティング機能を備えた、カスタマイズ可能な転送プラットフォームを提供します。
ALB Ingress は、さまざまなビジネスシナリオで使用できます。次の図は、いくつかの一般的なユースケースを示しています。