Server Load Balancer を使用する前に、業務に応じて、使用するインスタンスのリージョン、リスナープロトコル、およびネットワークタイプを決定する必要があります。

Server Load Balancer インスタンスのリージョンの計画

SLBインスタンスを作成するリージョンを選択する際、次の点にご注意ください。

  • レイテンシを減らして、ダウンロードの速度を上げるには、エンドユーザーに物理的に最も近いリージョンを選択することを推奨します。
  • Server Load Balancer では、安定性と信頼性の高い負荷分散サービスを提供できるよう、ほとんどのリージョンでプライマリゾーンとバックアップゾーンにデプロイして耐障害性を高めています。 プライマリゾーンとバックアップゾーンの両方を利用できるリージョンを選択することを推奨します。
  • リージョンをまたいで Server Load Balancer をデプロイすることはできません。 Server Load Balancer インスタンスとバックエンドの ECS インスタンスは、必ず同じリージョンにします。

ネットワークタイプの計画 (インターネットまたはイントラネット)

Server Load Balancer は、インターネット、イントラネット両方における負荷分散サービスを提供しています。

  • インターネットからのリクエストを Server Load Balancer で配信するには、インターネット SLB インスタンスを作成します。

    インターネット SLB インスタンスには、インターネットからのリクエストを受信するため、パブリック IP アドレスが割り当てられます。

  • イントラネットからのリクエストを Server Load Balancer で配信するには、イントラネット SLB インスタンスを作成します。

    イントラネット Server Load Balancer インスタンスには、プライベート IP アドレスのみが割り当てられるため、クラシックネットワークか VPC からのみアクセスできます。

インスタンス仕様の選択

Server Load Balancer は 2018 年 4 月 25 日、パフォーマンス専有型インスタンスの提供を開始しました。 パフォーマンス専有型インスタンスでは、インスタンスのリソースを独占的に利用することができ、サービスの可用性を確保できます。 Alibaba Cloud Server Load Balancer は、6 種類の仕様の中から選択できます。

  • 従量課金インスタンスの場合、最も高性能な仕様 (slb.s3.large) を選択できます。 業務の柔軟性 (拡張性) は保証した上で、余分な料金は発生しません。 なお、業務上、Super I (slb.s3.large) の水準まで到達することはないと想定される場合は、slb.s3.medium など、より合理的な上限を設定することもできます。

リスナープロトコルの選択

Server Load Balancer は、レイヤー 4 (TCP と UDP) とレイヤー 7 (HTTP と HTTPS) の負荷分散をサポートしています。

  • レイヤー 4 リスナーは、HTTP ヘッダを変更することなく、接続リクエストをそのままバックエンドサーバーに転送します。 リクエストがレイヤー 4 リスナーに到達すると、Server Load Balancer は、リスナーに設定されたバックエンドポートを使ってバックエンドの ECS インスタンスと TCP 接続を確立します。
  • レイヤー 7 リスナーは、リバースプロキシを実装したものです。 リクエストがレイヤー 7 リスナーに到達すると、Server Load Balancer は、データパケットを直接転送するのではなく、TCP 接続を使ってバックエンドの ECS インスタンスにデータパケットを転送します。

    レイヤー 7 リスナーの場合、受信したリクエストを転送するときの処理がレイヤー 4 より 1 つ多くなります。 レイヤー 7 リスナーでは処理が 1 つ増えるため、レイヤー 4 リスナーに比べてパフォーマンスが劣ります。 また、クライアントのポートが不足したり、バックエンドサーバーへの接続が多すぎたりした場合も、レイヤー 7 リスナーのパフォーマンスに影響します。 パフォーマンスに対する要件が高い場合は、レイヤー 4 リスナーの使用を推奨します。

    詳細については、「プロトコル」をご参照ください。

バックエンドサーバーの準備

負荷分散サービスを使用する前に、まず ECS インスタンスを作成し、その ECS インスタンス上にアプリケーションをデプロイする必要があります。次に、その ECS インスタンスを SLB インスタンスに追加して、転送されたクライアントリクエストが処理されるようにします。

ECS インスタンスを作成し、設定する際、次の点にご注意ください。
  • ECS インスタンスのリージョンとゾーン

    ECS インスタンスと Server Load Balancer インスタンスは、必ず同じリージョンにします。 また、可用性を高めるため、ECS インスタンスを複数のゾーンにデプロイすることを推奨します。 詳細は、「ウィザードを使用したインスタンスの作成」をご参照ください。

    このチュートリアルでは、中国 (杭州) リージョンに ECS インスタンスを 2 つ作成します。 次の図に示すとおり、 ECS01 と ECS02 という名前にします。
  • アプリケーションの設定
    このチュートリアルでは、次の図に示すとおり、ECS01 と ECS02 それぞれに Apache を使って静的 Web サイトをデプロイします。
    • ECS01 の EIP アドレスをブラウザに入力します。
    • ECS02 の EIP アドレスをブラウザに入力します。
    アプリケーションを ECS インスタンスにデプロイした後は、追加の設定は必要ありません。 ただし、レイヤー 4 リスナーを使用し、ECS インスタンスで Linux OS を使用する場合は、net.ipv4.conf ファイル内の次のパラメーターの値をゼロにします。
    
    net.ipv4.conf.default.rp_filter = 0
    net.ipv4.conf.all.rp_filter = 0
    net.ipv4.conf.eth0.rp_filter = 0