サーバーロードバランサー(SLB)は、Alibaba Cloudでのトラフィック転送に推奨されるサービスです。SLBは、クラシックロードバランサー(CLB)とアプリケーションロードバランサー(ALB)の2つのタイプに分類できます。SLBは、高可用性、スケーラビリティ、費用対効果、セキュリティ、および並行性を提供します。Enterprise Distributed Application Service(EDAS)のアプリケーションインスタンスをバックエンドサーバーとしてSLBインスタンスに関連付けることができます。このようにして、SLBインスタンスは、指定された転送ポリシーに基づいて、関連付けられたアプリケーションインスタンスにトラフィックを転送するためのトラフィックイングレスとして機能します。
EDASのECSクラスターにデプロイされたアプリケーションにアクセスするためにSLBインスタンスを使用する
EDASを使用して、Alibaba Cloud Elastic Compute Service(ECS)クラスターまたはEDASによって提供されるハイブリッドクラウド ECSクラスターにアプリケーションをデプロイすることにより、Spring Cloud、Dubbo、High-speed Service Framework(HSF)などのJavaマイクロサービスフレームワークを使用するアプリケーションを管理できます。EDASにアプリケーションがデプロイされると、アプリケーションのインスタンスは連携してサービスを提供します。したがって、アプリケーションには統合トラフィックイングレスが必要であり、転送ポリシーに基づいてアクセス トラフィックをアプリケーションのインスタンスに転送するためのトラフィック分散サービスが必要です。
EDASのアプリケーションは、SLBインスタンスをトラフィックイングレスとして使用し、SLBインスタンスはアプリケーションのインスタンスをバックエンドサーバーとして使用します。SLBインスタンスは、転送ポリシーに基づいてトラフィックをアプリケーションのインスタンスに転送します。次の図は、EDASのアプリケーションインスタンスとSLBインスタンス間の関連付けを示しています。

アプリケーションが複数のインスタンスにデプロイされている場合は、インスタンスをバックエンドサーバーとしてSLBインスタンスに関連付けることができます。これにより、アプリケーションの高可用性が確保され、各インスタンスの負荷が軽減され、トラフィック分散が実装されます。SLBインスタンスでは、ラウンドロビンや加重ラウンドロビン アルゴリズムなど、バックエンドサーバーをスケジューリングするためのアルゴリズムを設定できます。セッション永続化機能を有効にすると、クライアントからのリクエストを同じインスタンスに転送できます。これにより、アクセス パフォーマンスが向上します。
EDASは、ALBインスタンスとCLBインスタンスをサポートしています。ルーティングルールが複雑な場合は、ALBインスタンスを使用することをお勧めします。
- ALB:Alibaba Cloudのクラウドネイティブイングレスゲートウェイとして、ALBはHTTP、HTTPS、およびQUICを介したレイヤー7ロードバランシングを目的としており、高度なルーティング機能を提供します。詳細については、「ALBとは」をご参照ください。
- CLB:同じリージョンにデプロイされているECSインスタンスをCLBインスタンスに追加すると、CLBは仮想IPアドレス(VIP)を使用してこれらのECSインスタンスを高パフォーマンスで可用性の高いサーバープールに結合します。次に、CLBは転送ルールに基づいて受信リクエストをECSインスタンスに転送します。CLBはECSインスタンスのヘルスを監視し、異常なECSインスタンスをサーバープールから自動的に削除します。このメカニズムにより、単一障害点(SPOF)が排除され、アプリケーションの可用性が向上します。CLBは、DDoS攻撃からアプリケーションも保護します。詳細については、「CLBとは」をご参照ください。
SLBソリューション
EDASは、さまざまなシナリオでトラフィックを転送するために複数のSLBソリューションを提供しています。次の表に、さまざまなシナリオでのSLBソリューションへの参照を示します。
| シナリオ | 参照 |
| 単一アプリケーションのインスタンスにSLBインスタンスを関連付ける | アプリケーション専用のSLBインスタンスを設定する |
| 単一アプリケーションのインスタンス グループのURLベースのトラフィック転送ポリシーを設定する | URLを使用してアプリケーションのインスタンス グループにトラフィックを転送する |
| 同じSLBインスタンスを共有する複数アプリケーションにトラフィックを転送するようにリスニング ポートを設定する | 共有SLBインスタンスとリスニング ポートを使用してトラフィックを転送する |
| 同じSLBインスタンスを共有する複数アプリケーションのドメイン名ベースまたはURLベースのトラフィック転送ポリシーを設定する | 共有SLBインスタンスと専用のドメイン名またはURLを使用してトラフィックを転送する |