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

Amazon ECS 起動タイプ

タスク定義の起動タイプは、タスクを実行できる容量を定義します。例: AWS Fargate

起動タイプを選択すると、Amazon ECS は、設定したタスク定義パラメータが起動タイプで機能することを確認します。

Fargate

Fargate はサーバーレスの従量制料金計算エンジンであり、サーバーを管理することなく、アプリケーションの構築に集中できます。Fargate を選択する場合、EC2 インフラストラクチャを管理する必要はありません。必要なのは、コンテナイメージを構築し、アプリケーションを実行するクラスターを定義することだけです。Fargate は、次のような AWS サービスとネイティブに統合されています。

  • Amazon VPC

  • Auto Scaling

  • Elastic Load Balancing

  • IAM

  • Secrets Manager

アプリケーションが必要とする正確な CPU とメモリを選択できるため、ユーザーは EC2 よりも Fargate でより多くの制御を行えます。Fargate が容量のスケールアウトを処理するため、トラフィックの急増を心配する必要はありません。つまり、Fargate では運用上の労力が少なくて済みます。

Fargate は、PCI、FIPS 140-2、FedRAMP、HIPAA などのコンプライアンスプログラムの基準を満たしています。詳細については、「コンプライアンスプログラムによる対象 AWS サービス」を参照してください。

Fargate は、次のワークロードに適しています:

  • 運用上で低いオーバーヘッドを必要とする大規模なワークロード

  • 時折バーストが発生する小さなワークロード

  • 小さなワークロード

  • バッチワークロード

Fargate をサポートするリージョンの情報については、「AWS Fargate で使用する Amazon ECS でサポートされているリージョン」 を参照してください。

次の図に、一般的なアーキテクチャを示します。

Amazon ECS のアーキテクチャ概要

Fargate の Amazon ECS の詳細については、「Amazon ECS の AWS Fargate」を参照してください。

EC2

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

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

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

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

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

  • データストア

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

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

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

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

外部

External 起動タイプは、コンテナ化されたアプリケーションを Amazon ECS クラスターに登録してリモートで管理するオンプレミスサーバーまたは仮想マシン(VM)で実行するために使用されます。詳細については、「外部起動タイプ用の Amazon ECS クラスター」を参照してください。