Application Load Balancer (ALB) は、HTTP、HTTPS、およびQUICを介したレイヤー7の負荷分散を目的としており、高度なルーティング機能を提供します。 ALBインスタンスは、Alibaba cloudのクラウドネイティブ入口ゲートウェイとして使用できます。 このトピックでは、ALBインスタンスをingressゲートウェイとして設定する方法について説明します。 最適なサービスパフォーマンスを確保するために、Serverless App Engine (SAE) アプリケーションのゲートウェイルートを設定することを推奨します。
背景情報
マイクロサービスとサーバーレスクラウドネイティブアプリケーションを管理する場合、複雑なルーティングルールを設定し、HTTP、HTTPS、QUICなどのアプリケーション層プロトコルとの互換性を確保し、サービスアクセスのセキュリティを確保し、トラフィックの可観測性を実装する必要があります。 この場合、従来のレイヤー4 Server Load Balancer (SLB) ingressゲートウェイは前述の要件を満たしていません。
Serverless App Engine (SAE) のALB Ingressコントローラーは、ALBインスタンスに基づいて、完全に管理されたメンテナンスフリーのトラフィックルーティング機能を提供します。 SAEのゲートウェイルーティング機能は、NGINX Ingressセマンティクスと互換性があります。 SAEは、複雑なビジネスルートを構成および管理するために、自動証明書発見、トラフィック進入可観測性、QUICなどのアプリケーション層プロトコルとの互換性、および大規模なレイヤ7トラフィックの処理という次の機能を提供します。 これらの機能により、クラウドネイティブアプリケーションのトラフィックを簡単に管理できます。
機能の詳細
ALB
ALBは、アプリケーション層で実行される負荷分散サービスであり、HTTP、HTTPS、QUICなどのプロトコルをサポートします。 ALBは高い弾力性を提供し、レイヤー7で大量のトラフィックを処理できます。
SAEのゲートウェイルーティング機能はNGINX Ingressと互換性があり、Application Load Balancer (ALB) インスタンスに基づいて改善されたトラフィックルーティング機能を提供します。 ALB Ingressベースのゲートウェイルーティングは、複雑なルーティング、自動証明書検出、およびHTTP、HTTPS、およびQUICプロトコルをサポートします。 ALB Ingressは、レイヤー7で超高弾力性と重いトラフィック負荷のバランスをとるためのクラウドネイティブアプリケーションの要件を満たしています。
シナリオ
ALBは、弾力性の高いインターネットシナリオ、ビデオおよびオーディオ業界での低遅延シナリオ、およびクラウドネイティブ指向のアプリケーションシナリオをサポートしています。
SAEでのALBインスタンスの使用
SAEでホストされているアプリケーションのルーティングルールを設定できます。 SLBインスタンスを使用して、リクエストトラフィックを1つ以上のアプリケーションに転送できます。 ゲートウェイルーティング機能は、次のシナリオに適しています。
単一のアプリケーションまたは複数のアプリケーションは、異なるパスで同じドメイン名を使用してトラフィックを転送する必要があります。
単一のアプリケーションまたは複数のアプリケーションは、同じIPアドレスに解決される異なるドメイン名にトラフィックを転送する必要があります。
準備
ALBインスタンスを作成します。
SAEのゲートウェイルーティング機能を使用するには、ルーティングルールをALBインスタンスに関連付ける必要があります。 SAEコンソールでゲートウェイルートを設定すると、ゲートウェイはSLBコンソールのingress
で始まるリスナーとしてマップされます。 SLBファミリーに属するALBインスタンスを使用できます。 ALBインスタンスの設定方法については、「ALBインスタンスの作成」をご参照ください。
ルーティングルールの設定
ルーティングルールを作成するときは、作成されたALBインスタンスをバインドするようにゲートウェイingressを設定する必要があります。
次に、バインドされたALBインスタンスのカスタム転送ポリシーとデフォルト転送ポリシーを設定し、ドメイン名、パス、ポートなどのパラメーターを設定し、トラフィックを受信するバックエンドアプリケーションを選択します。
この例では、ポート値は参照のためだけに提供される。 ビジネスシナリオに基づいてポート値を指定できます。 詳細については、「ALBインスタンスを使用したアプリケーションのゲートウェイルーティングの設定」をご参照ください。
結果の検証
ルーティングルールを作成した後、対応する名前空間の [ゲートウェイルーティング] ページでルーティングルールを表示できます。 その後、<ドメイン名 >:< ポート番号> /パス
形式のURLを使用して、関連するバックエンドサービスまたはアプリケーションにアクセスできます。
次の図は、ポート8080
を使用してwww.example.com/pathからバックエンドアプリケーションspring-boot-providerにリクエストを転送し、カスタム転送ポリシーが設定されていないすべてのリクエストをバックエンドアプリケーションspring-boot-consumerに転送するために使用されるルーティングルールを示しています。