SLB サービスを使用する前に、配信されたクライアントリクエストを処理するために、1 つ以上の ECS インスタンスをバックエンドサーバーとして SLB インスタンスに追加する必要があります。
SLB サービスは、同一リージョンに追加された ECS インスタンスを、高性能かつ高可用性を備えたアプリケーションプールに仮想化します。 また、VServer グループを通してバックエンドサーバーを管理することもできます。 リスナーごとに異なるサーバーグループに関連付けることができるため、SLB インスタンス内のリスナーは、ポートの異なるバックエンドサーバーにリクエストを転送できます。
バックエンド ECS インスタンスの数をいつでも増減できるほか、リクエストを受信する ECS インスタンスも指定できます。 ただし、ヘルスチェック機能を有効にすることを推奨します。サービスの安定性を維持するには、正常な ECS が少なくとも 1 つ必要です。
- SLB は、クロスリージョンのデプロイに対応していません。 ECS インスタンスのリージョンと、SLB インスタンスのリージョンが同じであることを確認してください。
- SLB は、複数の ECS インスタンスにデプロイされているアプリケーションが同じで、かつデータが一致している限り、ECS インスタンスに使用されるオペレーティングシステムを制限しません。 ただし、管理とメンテナンスを容易にするために、同じオペレーティングシステムを使用することを推奨します。
- SLB インスタンスには最大 50 のリスナーを追加できます。 各リスナーは、バックエンド ECS インスタンスにデプロイされたアプリケーションに対応しています。 SLB インスタンスのリスニングポートは、ECS インスタンスで開かれたアプリケーションポートに対応しています。
- バックエンドサーバープールの ECS インスタンスごとに重みを指定できます。 重み付けの大きい ECS インスタンスは、より多くの接続リクエストを受信します。
- セッション維持機能を有効にしている場合、バックエンド ECS インスタンスに配信されるリクエストは不均衡になる可能性があります。 その場合は、セッション維持機能を無効にして、引き続きこの問題が発生するかどうか確認することを推奨します。
トラフィックが均等に分散されない場合は、次のトラブルシューティングを行います。
- 一定期間の Web サービスのアクセスログを収集します。
- SLB 設定に従って、複数の ECS インスタンス間でログの数が異なっているか確認します。 セッション維持機能が有効になっている場合は、同一 IP アドレスからのアクセスログを取り除く必要があります。 SLB に重みが設定されている場合、アクセスログの割合が、重みの比率と一致するかどうかを計算する必要があります。
- ECS インスタンスがライブマイグレーションを実行中の場合、SLB の持続接続は切断されることがありますが、再接続することによって復旧できます。 再接続の準備をしておいてください。
デフォルトのサーバーグループ
デフォルトのサーバーグループには、リクエストを受信する ECS インスタンスが含まれています。 リスナーが VServer グループまたはアクティブ/スタンバイサーバーグループに関連付けられていない場合、デフォルトでは、デフォルトのサーバーグループ内の ECS インスタンスにリクエストが転送されます。
アクティブ/スタンバイサーバーグループ
アクティブ/スタンバイサーバーグループには、2 つの ECS インスタンスのみが含まれています。 そのうちの 1 つはアクティブサーバーとして機能し、もう 1 つはスタンバイサーバーとして機能します。 スタンバイサーバーでは、ヘルスチェックは実行されません。 アクティブサーバーが正常に動作していないと判断された場合、トラフィックはスタンバイサーバーに転送されます。 アクティブサーバーが復帰したと判断されると、トラフィックが再びアクティブサーバーに転送されます。
VServer グループ
異なるバックエンドサーバーに異なるリクエストを配信する必要がある場合、あるいはドメイン名または URL に基づいた転送ルールを設定する場合は、VServer グループを使用できます。