Application Load Balancer は、アプリケーションレイヤーで実行される Elastic Load Balancing サービス向けの負荷分散オプションです。これを使用すると、1 つまたはそれ以上の Amazon Elastic Compute Cloud (Amazon EC2) インスタンスで実行される複数のサービスまたはコンテナ間で、コンテンツに基づいてルーティングルールを定義できます。

コンテンツベースのルーティング
アプリケーションが個別のサービスで構成されている場合、Application Load Balancer はリクエストのコンテンツに基づいて、リクエストをサービスにルーティングできます。

コンテナ化されたアプリケーションのサポート
Application Load Balancer を設定することにより、単一の EC2 インスタンスの複数のポート間で、コンテナを負荷分散できるようになりました。Amazon EC2 Container Service (ECS) を使用すると、ECS タスク定義でダイナミックポートを指定でき、EC2 インスタンスでスケジュールされているときに未使用のポートをコンテナに付与します。ECS スケジューラは、このポートを使用して ELB に自動的にタスクを追加します。

HTTP/2 サポート
HTTP/2 は HyperText Transfer Protocol (HTTP) の新しいバージョンで、単一の多重化された接続を使用して複数のリクエストを同じ接続で送信できるようにします。また、バイナリ形式で送信する前にヘッダーデータを圧縮し、クライアントへの TLS 接続をサポートします。

WebSocket サポート
WebSocket を使用すると、エンドユーザーがサーバーにアップデートをリクエスト (またはポーリング) する必要なく、サーバーはエンドユーザーとリアルタイムでメッセージを交換できます。WebSocket のプロトコルは、クライアントとサーバーの間で長時間実行される TCP 接続を経由して双方向通信チャンネルを提供します。

ネイティブな IPv6 サポート
Application Load Balancer では VPC 内でネイティブなインターネットプロトコルバージョン 6 (IPv6) がサポートされます。これにより、クライアントは IPv4 または IPv6 経由で Application Load Balancer に接続できます。

スティッキーセッション
スティッキーセッションは、同じクライアントから同じターゲットにリクエストをルーティングするメカニズムです。Application Load Balancer では、ロードバランサーが生成する Cookie を使用して、スティッキーセッションをサポートします。スティッキーセッションを有効にすると、同じターゲットはリクエストを受信し、Cookie を使用してセッションのコンテキストを復元できます。維持設定はターゲットグループレベルで定義されます。

ヘルスチェック
Application Load Balancer は正常なターゲットにのみトラフィックをルーティングします。Application Load Balancer を使用すると、アプリケーションの状態の詳細情報を次の 2 つの方法で取得できます。(1) ヘルスチェックの向上により、200~399 の詳細なエラーコードを設定できます。ヘルスチェックを使用すると、ロードバランサーの背後にある各サービスの状態をモニタリングできます。(2) 新しいメトリクスは、EC2 インスタンスで実行される各サービスのトラフィックに関する情報を提供します。

高可用性
Application Load Balancer では、2 つ以上のアベイラビリティーゾーンを指定する必要があります。複数のアベイラビリティーゾーンのターゲット間で、受信トラフィックを分散できます。Application Load Balancer は、受信アプリケーショントラフィックに応じて自動的にリクエスト処理能力を拡張します。

セキュリティ機能
Amazon Virtual Private Cloud (VPC) を使用する際は、Elastic Load Balancing に関連付けられているセキュリティグループを作成および管理して、追加のネットワーキングおよびセキュリティオプションを提供できます。Application Load Balancer をインターネット向けに設定できます。または、内部 (インターネットに接続しない) ロードバランサーとして機能するように、パブリック IP アドレスを使用せずにロードバランサーを作成することもできます。

レイヤー 7 の負荷分散
HTTP/HTTPS アプリケーションを負荷分散でき、X-Forwarded-For ヘッダーなどのレイヤー 7 固有の機能を使用できます。

HTTPS サポート
Application Load Balancer では、クライアントとロードバランサー間の HTTPS 終了をサポートしています。また、Application Load Balancer では、定義済みのセキュリティポリシーの AWS Identity and Access Management (IAM) および AWS Certificate Manager 経由で SSL 証明書を管理できます。

運用のモニタリング
Amazon CloudWatch は、リクエスト数、エラー数、エラータイプ、およびリクエストレイテンシーなどの Application Load Balancer のメトリクスをレポートします。

ロギング
アクセスログ機能を使用して、ロードバランサーに送信されたすべてのリクエストを記録し、ログを Amazon S3 に保存して分析に利用できます。ログは圧縮され、gzip ファイル拡張子が付けられます。圧縮されたログは、ストレージ領域および転送帯域幅の両方を節約し、アプリケーションのエラー診断やウェブトラフィックの分析に活用できます。

AWS CloudTrail を使用してアカウントの Application Load Balancer API コールを記録し、ログファイルを配信できます。API コール履歴を使用して、セキュリティ分析、リソース変更の追跡、コンプライアンスの監査を実行できます。

削除保護
Application Load Balancer で削除保護を有効にして、誤って削除されることを防止できます。

リクエストトレーシング
Application Load Balancer は、到着するすべてのリクエストに新しいカスタム識別子 “X-Amzn-Trace-Id” HTTP ヘッダーを挿入します。リクエストトレーシングでは、リクエストが、ウェブサイトや分散アプリケーションを構成しているさまざまなサービス間を移動するときに、一意の ID でリクエストを追跡することができます。一意のトレース識別子を使用すると、個々のリクエスト単位で、アプリケーションスタックでのパフォーマンスやタイミングの問題を明らかにすることができます。

ウェブアプリケーションファイアウォール
AWS WAF を使用して、Application Load Balancer 上のウェブアプリケーションを保護できるようになりました。AWS WAF は、アプリケーションの可用性、セキュリティの侵害、リソースの過剰消費などの一般的なウェブの脆弱性からウェブアプリケーションを保護するのを助けるウェブアプリケーションファイアウォールです。 

AWS を無料でお試しください

まずは無料で始める
またはコンソールにサインイン

AWS 無料利用枠には、Elastic Load Balancing の 1 か月当たり 750 時間分 (1 年間) と、Amazon Elastic Load Balancing による 15 GB のデータ処理が含まれています。

AWS 無料利用枠の詳細はこちら »

  • Application Load Balancer は、Amazon Virtual Private Cloud (VPC) 内での使用のみサポートされます。
  • リージョンごとに、Classic Load Balancer および Application Load Balancer の両方を含む最大 20 個のロードバランサーを作成できます。この制限を超える必要がある場合は、このフォームにご記入ください。