Elastic Load Balancing の特徴
製品の比較
アプリケーションのニーズに応じて、最適なロードバランサーを選択できます。柔軟なアプリケーション管理が必要な場合は、Application Load Balancer の使用を推奨します。非常に高度なパフォーマンスと静的 IP がアプリケーションで必要な場合は、Network Load Balancer の使用を推奨します。EC2-Classic ネットワーク内で構築された既存のアプリケーションがある場合は、Classic Load Balancer を使用する必要があります。
機能 | Application Load Balancer | Network Load Balancer | Gateway Load Balancer | Classic Load Balancer |
---|---|---|---|---|
ロードバランサーの種類 | レイヤー 7 | レイヤー 4 | レイヤー 3 Gateway + レイヤー 4 Load Balancing | レイヤー 4/7 |
ターゲットの種類 | IP、インスタンス、Lambda | IP、インスタンス、Application Load Balancer | IP、インスタンス | |
フロー/プロキシの動作を終了する | 有 | 有 | いいえ | 有 |
プロトコルリスナー | HTTP、HTTPS、gRPC | TCP、UDP、TLS | IP | TCP、SSL/TLS、HTTP、HTTPS |
以下の経由で到達可能 | VIP | VIP | ルートテーブルのエントリ | |
レイヤー 7 | ||||
リダイレクト | ✔ | |||
固定レスポンス | ✔ | |||
非同期緩和モード | ✔ | |||
HTTP ヘッダーベースのルーティング | ✔ | |||
HTTP2/gRPC | ✔ | |||
一般的な構成と特性 | ||||
スロースタート | ✔ | |||
Outpost のサポート | ✔ | |||
ローカルゾーン | ✔ | |||
IP アドレス - 静的、伸縮自在 | ✔ | |||
Connection Draining (登録解除の遅延) | ✔ | ✔ | ✔ | ✔ |
設定可能なアイドル接続のタイムアウト | ✔ | ✔ | ||
PrivateLink のサポート | ✔ (TCP、TLS) | ✔ (GWLBE) | ||
ゾーンごとの分離 | ✔ | ✔ | ||
セッション再開 | ✔ | ✔ | ||
存続期間の長い TCP 接続 | ✔ | ✔ | ||
同一のインスタンスで複数ポートに負荷分散 | ✔ | ✔ | ✔ | |
ロードバランサーの削除保護 | ✔ | ✔ | ✔ | |
送信元 IP アドレスの保持 | ✔ | ✔ | ✔ | |
WebSocket 対応 | ✔ | ✔ | ✔ | |
対応ネットワーク/プラットフォーム | VPC | VPC | VPC | EC2-Classic、VPC |
クロスゾーン負荷分散 | ✔ | ✔ | ✔ | ✔ |
IAM 権限 (リソース、タグベース) | ✔ | ✔ | ✔ | ✔ (リソースベースのみ) |
フローの維持設定 (フローのすべてのパケットが 1 つのターゲットに送信され、リターントラフィックは同一ターゲットから送信されます) |
Symmetric |
Symmetric |
Symmetric |
Symmetric |
ターゲット障害の動作 |
すべてのターゲットが異常でない限り、ターゲットでフェールクローズ (フェールオープン) | すべてのターゲットが異常でない限り、ターゲットでフェールクローズ (フェールオープン) | 既存のフローは引き続き既存のターゲットアプライアンスに送信され、新しいフローは正常なターゲットアプライアンスに再ルーティングされます。 | |
ヘルスチェック | HTTP、HTTPS、gRPC | TCP、HTTP、HTTPS | TCP、HTTP、HTTPS | TCP、SSL/TLS、HTTP、HTTPS |
セキュリティ | ||||
セキュリティグループ | ✔ | ✔ | ✔ | |
SSL のオフロード | ✔ | ✔ | ✔ | |
Server Name Indication (SNI) | ✔ | ✔ | ||
バックエンドサーバーの暗号化 | ✔ | ✔ | ✔ | |
ユーザー認証 | ✔ | |||
カスタムセキュリティポリシー | ✔ | |||
ALPN | ✔ | ✔ | ||
Kubernetes Controller | ||||
ポッドに直接 | ✔ | ✔ (Fargate ポッド) | ||
複数の名前空間への負荷分散 | ✔ | |||
プライベートな EKS クラスターの完全サポート | ✔ | ✔ | ||
ログ記録とモニタリング | ||||
CloudWatch メトリクス | ✔ | ✔ | ✔ | ✔ |
ログ記録 | ✔ | ✔ | ✔ | ✔ |
セキュリティ
Amazon Virtual Private Cloud (VPC) を使用する際は、Elastic Load Balancing に関連付けられているセキュリティグループを作成および管理して、Application Load Balancer、Network Load Balancer および Classic Load Balancer に追加のネットワーキングおよびセキュリティオプションを提供できます。任意の Load Balancer をインターネットに接続するよう設定することもできますし、パブリック IP アドレスを使用せずに内部的な (インターネットに接続しない) ロードバランサーを作成することもできます。
高可用性
Elastic Load Balancing は可用性に優れています。単一のアベイラビリティーゾーンまたは複数のアベイラビリティーゾーンにある Amazon EC2 インスタンス間で受信トラフィックを分散できます。Elastic Load Balancing は、受信するアプリケーショントラフィックに応じて、リクエスト処理能力を自動的にスケールします。ターゲットが使用可能かつ正常な状態であることを確認するために、Elastic Load Balancing は構成可能な流れでターゲットの正常性チェックを実施します。
高スループット
Elastic Load Balancing は、トラフィックが増大した場合でも処理できるよう設計されており、1 秒間に数百万件ものリクエストでも負荷分散できます。また、突発的で不安定なトラフィックパターンにも対処できます。
ヘルスチェック
Elastic Load Balancing は、EC2 インスタンス、コンテナ、IP アドレス、マイクロサービス、Lambda 関数、アプライアンスなどの正常なターゲットにのみトラフィックをルーティングします。Elastic Load Balancing を使用すると、アプリケーションの状態の詳細情報を次の 2 つの方法で取得できます。(1) ヘルスチェック機能が改善され、詳細なエラーコードを設定できるようになりました。ヘルスチェックを使用すると、ロードバランサーの内側にある各サービスの状態をモニタリングできます。(2) 新しいメトリクスにより、EC2 インスタンスで実行される各サービスのトラフィックに関する情報が提供されます。
スティッキーセッション
スティッキーセッションは、同一のクライアントから同一のターゲットにリクエストをルーティングするメカニズムです。Elastic Load Balancing はスティッキーセッションをサポートします。維持設定はターゲットグループレベルで定義されます。
運用のモニタリングとログ記録
Amazon CloudWatch により、リクエスト数、エラー数、エラータイプ、およびリクエストレイテンシーなどの Application Load Balancer および Classic Load Balancer のメトリクスがレポートされます。Amazon CloudWatch は、アクティブなフロー数、新規フロー数、処理済みバイト数などの Network Load Balancer および Gateway Load Balancer のメトリクスも追跡します。Elastic Load Balancing は、ELB への API コールを追跡する AWS CloudTrail とも統合されています。
削除保護
Elastic Load Balancing で削除保護を有効にして、誤って削除されることを防止できます。