Classic Load Balancer の登録済みインスタンス
Classic Load Balancer を作成した後、そのロードバランサーに対し EC2 インスタンスを登録する必要があります。同じリージョン内の 1 つまたは複数のアベイラビリティーゾーンにある EC2 インスタンスをロードバランサーとして選択できます。Elastic Load Balancing は、登録済み EC2 インスタンスに関するヘルスチェックを定期的に実行し、正常な登録済み EC2 インスタンスに対し、ロードバランサーの DNS 名への受信リクエストを自動的に分散させます。
インスタンスのベストプラクティス
-
ロードバランサーが、リスナーポートとヘルスチェックポートの両方で、インスタンスと通信できることを確認する必要があります。詳細については、「Classic Load Balancer のセキュリティグループの設定」を参照してください。インスタンスのセキュリティグループは、両方のポート (ロードバランサー用の各サブネットのポート) で、双方向のトラフィックを許可する必要があります。
-
ロードバランサーに登録するすべてのインスタンスに Apache や Internet Information Services (IIS) などのウェブサーバーをインストールします。
-
HTTP および HTTPS リスナーを使用する場合は、ロードバランサーが複数のクライアントリクエストに対応するためインスタンスへの接続を再利用できるようにするキープアライブオプションを EC2 インスタンスで有効にすることをお勧めします。これによってウェブサーバーの負荷が軽減し、ロードバランサーのスループットが向上します。キープアライブのタイムアウトは、ロードバランサーがインスタンスへの接続を確実に閉じることができるように、60 秒以上にする必要があります。
-
Elastic Load Balancing では、パスの最大送信単位 (MTU) 検出をサポートしています。パス MTU 検出が正しく機能するようにするため、インスタンスのセキュリティグループで ICMP フラグメント化に必要な (タイプ 3、コード 4) メッセージが許可されるようにする必要があります。詳細については、「Amazon EC2 ユーザーガイド」の「パス MTU 検出」を参照してください。
VPC の推奨事項
仮想プライベートクラウド (VPC)
2014 年より前に AWS アカウント を作成していない限り、各リージョンにデフォルトの VPC があります。ロードバランサーには既存のデフォルト VPC を使用するか、新しい VPC を作成できます。詳細については、Amazon VPC ユーザーガイドを参照してください。
ロードバランサーのサブネット
ロードバランサーが正しくスケーリングできるように、ロードバランサー毎に各サブネットの CIDR ブロックを、最低でも /27 ビットマスク (例: 10.0.0.0/27) にし、少なくとも 8 個の空き IP アドレスを用意してください。ロードバランサーははこれらの IP アドレスを使用してインスタンスとの接続を確立し、必要に応じてスケールアウトします。IP アドレスが不十分な場合、ロードバランサーがスケーリングできず、容量不足が原因で 503 エラーが発生する可能性があります。
インスタンスを起動する各アベイラビリティーゾーンにサブネットを作成します。アプリケーションに応じて、パブリックサブネット、プライベートサブネット、またはパブリックサブネットとプライベートサブネットの組み合わせでインスタンスを起動できます。パブリックサブネットには、インターネットゲートウェイへのルートがあります。デフォルト VPC には、アベイラビリティーゾーンごとにデフォルトで 1 つのパブリックサブネットがあることに注意してください。
ロードバランサーを作成する場合は、ロードバランサーに 1 つ以上のパブリックサブネットを追加する必要があります。インスタンスがプライベートサブネットにある場合、インスタンスのサブネットと同じアベイラビリティーゾーンにパブリックサブネットを作成し、このパブリックサブネットをロードバランサーに追加します。
ネットワーク ACL
VPC のネットワーク ACL では、リスナーポートおよびヘルスチェックポートで両方向のトラフィックが許可される必要があります。詳細については、「Classic Load Balancer のインスタンスのネットワーク ACL」を参照してください。