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 インスタンスと 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
- ECS01 の EIP アドレスをブラウザに入力します。