Application Load Balancer (ALB) は、強力なアプリケーションレイヤー処理機能と高度なルーティング機能を提供します。HTTP、HTTPS、QUIC などのアプリケーションレイヤープロトコルに重点を置いています。これは Alibaba Cloud の公式クラウドネイティブ Ingress ゲートウェイです。このトピックでは、ALB Ingress を使用するためのベストプラクティスについて説明します。以下を参照して、SAE アプリケーションを構成し、最適なパフォーマンスを実現できます。
背景情報
クラウドネイティブアプリケーションがマイクロサービスとサーバーレスアーキテクチャを採用するにつれて、新しい要件が生まれます。複雑なルーティングルールを構成し、HTTP、HTTPS、QUIC などの複数のアプリケーションレイヤープロトコルをサポートし、安全なサービスアクセスを確保し、トラフィックの可観測性を維持する必要があります。従来のレイヤー 4 Server Load Balancer (SLB) Ingress では、これらの要求を満たすことができなくなりました。
Serverless App Engine (SAE) の ALB Ingress Controller は、Application Load Balancer (ALB) 上に構築されています。フルマネージドで O&M フリーの Ingress トラフィック管理を提供します。SAE のゲートウェイルーティングは、Nginx Ingress のセマンティクスと互換性があります。これにより、SAE は複雑なビジネスルーティングを構成および管理できます。特徴には、証明書の自動検出、Ingress トラフィックの可観測性、QUIC などの複数のアプリケーションレイヤープロトコルとの互換性、大規模なレイヤー 7 トラフィック処理などがあります。これにより、クラウドネイティブアプリケーションのトラフィックを簡単に管理できます。
特徴
ALB
Application Load Balancer (ALB) は、HTTP、HTTPS、QUIC などのアプリケーションレイヤーのロードバランシングシナリオ向けに設計された Alibaba Cloud の Server Load Balancer (SLB) サービスです。高い弾力性を提供し、大規模なレイヤー 7 トラフィックを処理できます。
SAE のゲートウェイルーティングは、Alibaba Cloud Application Load Balancer (ALB) に基づいています。強力な Ingress トラフィック管理を提供し、Nginx Ingress のセマンティクスと互換性があり、複雑なビジネスルーティングと証明書の自動検出を処理します。HTTP、HTTPS、QUIC プロトコルをサポートしています。クラウドネイティブアプリケーションのシナリオにおける高い弾力性と大規模なレイヤー 7 トラフィック処理の要件を満たします。

シナリオ
ALB は現在、高弾力性のインターネットサービス、低遅延のビデオおよびオーディオ業界、クラウドネイティブアプリケーションなどのシナリオをサポートしています。

SAE での ALB の使用
SAE でホストされているアプリケーションの場合、SAE ルーティングルールを構成して、SLB インスタンスを使用して 1 つ以上のアプリケーションにリクエストトラフィックを転送できます。これは、次のシナリオに適用されます。
同じドメイン名を使用するがパスが異なる単一または複数のアプリケーションのトラフィックを転送します。
異なるドメイン名を使用する単一または複数のアプリケーションのトラフィックを転送します。ドメイン名は同じ IP アドレスに解決されます。
前提条件
ALB インスタンスが作成されていること。
SAE のゲートウェイルーティング機能は、SLB インスタンスをアタッチすることで機能します。SAE で構成されたゲートウェイルーティングルールは、SLB のリスナー構成にマッピングされます。リスナー名は ingress で始まります。SLB は ALB インスタンスをサポートしています。詳細については、「ALB インスタンスの作成と管理」をご参照ください。
ルールの構成
ルーティングルールを作成するときは、まず ALB インスタンスをアタッチしてゲートウェイエントリポイントを構成する必要があります。
次に、アタッチされた ALB インスタンスのカスタムおよびデフォルトの転送ルールを構成できます。ドメイン名、パス、ポートなどのパラメーターを入力します。トラフィックを受け入れるバックエンドアプリケーションを選択します。
このトピックのポート値は、デモンストレーションのみを目的としています。実際の要件に基づいてポートを構成する必要があります。
構成の確認
ルーティングルールを構成した後、名前空間の [ゲートウェイルーティング] ページに移動してルールを表示できます。次に、ドメイン名:アクセスポート/パス を使用して、対応するバックエンドサービスまたはアプリケーションにアクセスできます。
次の図は、単純なルーティングルールを示しています。www.example.com/path からのリクエストは、ポート 8080 のバックエンドアプリケーション spring-boot-provider に転送されます。カスタム転送ルールに一致しないリクエストは、バックエンドアプリケーション spring-boot-consumer に転送されます。