Amazon ECS の EC2 起動タイプ - Amazon Elastic Container Service

Amazon ECS の EC2 起動タイプ

EC2 起動タイプは、料金を最適化する必要がある大規模なワークロードに適しています。

EC2 起動タイプを使用してタスク定義とサービスをモデル化する方法を検討する際には、一緒に実行する必要があるプロセスはどれか、また、各コンポーネントをどのようにスケーリングするかについて検討することをお勧めします。

例えば、以下のコンポーネントで構成されるアプリケーションがあるとします。

  • ウェブページに情報を表示するフロントエンドサービス

  • フロントエンドサービスに API を提供するバックエンドサービス

  • データストア

この例では、共通の目的で使用されるコンテナをまとめてグループ化するタスク定義を作成します。異なるコンポーネントは、複数の個別なタスク定義に分割します。以下の例のクラスターでは、3 つのコンテナインスタンスにより、3 つのフロントエンドサービスコンテナ、2 つのバックエンドサービスコンテナ、さらに 1 つのデータストアサービスコンテナを実行しています。

一緒に実行する必要のあるリンクされたコンテナなど、関連するコンテナをタスク定義にグループ化できます。例えば、フロントエンドサービスに追加するログストリーミングコンテナは、同じタスク定義に含めることができます。

タスク定義を作成したら、それらの定義からサービスを作成して、使用可能なタスクの必要数を維持できます。詳細については、「コンソールを使用した Amazon ECS サービスの作成」を参照してください。サービスでは、コンテナを Elastic Load Balancing ロードバランサーに関連付けることができます。詳細については、「ロードバランサーを使用して Amazon ECS サービストラフィックを分散する」を参照してください。アプリケーションの要件が変更された際には、サービスを更新してタスクの必要数を増減できます。あるいは、サービスを更新して、タスクに新しいバージョンのコンテナをデプロイすることも可能です。詳細については、「コンソールを使用した Amazon ECS サービスの更新」を参照してください。

3 つのインスタンスを使用するアプリケーションアーキテクチャの例。インスタンス 1 には、フロントエンドサービスコンテナとデータベースサービスコンテナが含まれています。インスタンス 2 とインスタンス 3 には、フロントエンドサービスコンテナとバックエンドサービスコンテナが含まれています。