投稿日: Aug 11, 2016

Amazon EC2 Container Service (ECS) が Elastic Load Balancing (ELB) サービスの Application Load Balancer をサポートするようになりました。

Application Load Balancer は、アプリケーション層で機能する高性能のロードバランシングオプションを提供し、コンテンツに基づいてルーティングルールを定義することができます。Application Load Balancer は、サービスレベルのモニタリングや可視性も提供し、各サービスの状態を監視して AWS Certificate Manager や Amazon API Gateway など、その他 AWS で人気のあるサービスと統合することができます。そのため素早く拡張性に優れたアプリケーションの構築が可能になり、各サービスをグループ化することで最適化を実現できます。Application Load Balancer により、ECS クラスターで複数のアプリケーションを実行しやすくなりました。

従来は ELB を使用してアプリケーションにトラフィックを誘導する場合、コンテナの固定ホストを定義する必要があり、同じタスクの複数のコピーを同一のホストで実行することができませんでした。また、ECS サービスと ELB 間に 1 対 1 のマッピングがあり、マイクロサービスアプリケーションの実行をより複雑にしていました。 

今後は EC2 インスタンスで予定されている場合、コンテナに未使用のポートを与えるダイナミックホストのポートを特定することができます。ECS サービススケジューラーは、このポートを使用して Application Load Balancer にタスクを自動追加するようになっています。パスベースのルーティングを使用して、1 つの ELB を複数のサービスとも共有できます。各サービスは独自の URI を定義することができ、URI はそのサービスにトラフィックを誘導します。さらに、サービスの ELB DNS 名で環境変数を作成しサービスディスカバリをサポートすることも可能です。 

Amazon ECS と Application Load Balancer の統合に関する詳細は、AWS 公式ブログおよび Amazon ECS のドキュメントをご覧ください。 Amazon EC2 Container Service の詳細については製品ページをご覧ください。