このモジュールでは、Amazon Elastic Container Service (Amazon ECS) を使用して、EC2 コンピューティングインスタンスのマネージドクラスターをインスタンス化し、イメージをクラスターで実行されるコンテナとしてデプロイします。構築を開始する
a. クライアント
クライアントはポート 80 を介してロードバランサーにリクエストを行います。
b. ロードバランサー
ロードバランサーは、利用可能なすべてのポート全体にリクエストを分散します。
c. ターゲットグループ
インスタンスはアプリケーションのターゲットグループに登録されます。
d. コンテナポート
各コンテナは、node.js クラスターの親をその名前空間内のポート 80 に結び付ける単一のアプリケーションプロセスを実行します。
e. node.js モノリスのコンテナ化
node.js クラスターの親は、モノリシックアプリケーション内のワーカーにトラフィックを分散する役割を担います。このアーキテクチャはコンテナ化されていますが、各コンテナは残りのコンテナと全く同じ機能を持っているため、モノリシックのままです。
Amazon Elastic Container Service (Amazon ECS) は、Docker コンテナをサポートし、Amazon EC2 インスタンスのマネージドクラスターでアプリケーションを容易に実行することを可能にする、拡張性の高い高性能コンテナ管理サービスです。 シンプルな API コールで、Docker 対応アプリケーションの起動と停止、クラスターの完全な状態のクエリ、セキュリティグループ、Elastic Load Balancing、EBS ボリューム、IAM ロールといった馴染みのある機能の多くにアクセスすることができます。
Amazon ECS を使用することで、リソースニーズと可用性要件に基づいて、クラスター全体のコンテナの配置をスケジューリングできます。ビジネスまたはアプリケーション固有の要件を満たすために、独自のスケジューラーまたはサードパーティ製のスケジューラーを統合することもできます。
Amazon Elastic Container Service の使用には追加料金がかかりません。アプリケーションを保存して実行するために作成した AWS リソース (例 : EC2 インスタンスまたは EBS ボリューム) の料金のみが発生します。