PERF05-BP04 ロードバランシングと暗号化のオフロードを活用する
トラフィックを複数のリソースやサービスに分散させ、ワークロードがクラウドの伸縮性を活用できるようにします。また、パフォーマンスを向上させ、トラフィックを効率的に管理およびルーティングするために、ロードバランシングを使用して暗号化終了をオフロードすることもできます。
サービス内容に応じた複数のインスタンスを利用したいスケールアウトアーキテクチャを実装する場合、Amazon VPC 内でロードバランサーを使用できます。AWS は、ELB サービスでアプリケーション向けのモデルを複数提供しています。Application Load Balancer は、HTTP および HTTPS トラフィックのロードバランシングに最適で、マイクロサービスやコンテナなど、最新のアプリケーションアーキテクチャの実現を目標とした高度なリクエストルーティングを提供します。
Network Load Balancer は、きわめて高いパフォーマンスが要求される TCP トラフィックのロードバランシングに最適です。超低レイテンシーを維持しながら 1 秒あたり数百万件ものリクエストを処理することができ、突発的、または変動しやすいトラフィックパターンを処理するために最適化されています。
Elastic Load Balancing
一般的なアンチパターン:
-
既存のロードバランサーを介して、すべてのインターネットトラフィックをルーティングしている。
-
汎用 TCP ロードバランシングを使用して、各コンピューティングノードが SSL 暗号化を処理するようにしている。
このベストプラクティスを確立するメリット: ロードバランサーは、単一のアベイラビリティーゾーンまたは複数のアベイラビリティーゾーンにおけるアプリケーショントラフィックのさまざまな負荷を処理します。ロードバランサーは、アプリケーションの耐障害性を高めるために必要な高可用性、自動スケーリング、堅牢なセキュリティを備えています。
このベストプラクティスが確立されていない場合のリスクレベル: 高
実装のガイダンス
ワークロードに適したロードバランサーを使用する: ワークロードに適したロードバランサーを選択します。HTTP リクエストをロードバランシングする必要がある場合は、Application Load Balancer をお勧めします。ネットワークおよびトランスポートプロトコル (layer4 – TCP、UDP) のロードバランシング、および極端なパフォーマンスと低レイテンシーのアプリケーションには Network Load Balancer をお勧めします。Application Load Balancers は HTTPS をサポートし、Network Load Balancer は TLS 暗号化オフロードをサポートします。
HTTPS または TLS 暗号化のオフロードを有効にする: Elastic Load Balancing には、証明書管理、ユーザー認証、SSL/TLS 復号が統合されています。TLS 設定を一元的に管理し、CPU 負荷の高いワークロードをアプリケーションからオフロードする柔軟性を提供します。ロードバランサーのデプロイの一部としてすべての HTTPS トラフィックを暗号化します。
リソース
関連ドキュメント:
関連動画:
関連サンプル: