Amazon Elastic Container Service (Amazon ECS) は、コンテナ化されたアプリケーションを簡単にデプロイ、管理、スケーリングできる、完全マネージド型のコンテナオーケストレーションサービスです。フルマネージドサービスである Amazon ECS には、AWS の設定と運用に関するベストプラクティスが組み込まれています。Amazon Elastic Container Registry などの AWS ツールと Docker などのサードパーティーツールの両方に統合されています。この統合により、チームは環境ではなくアプリケーションの構築に集中しやすくなります。コントロールプレーンの複雑な管理は必要なく、クラウドの AWS リージョン 間またはオンプレミスで、コンテナワークロードを実行およびスケーリングできます。
用語とコンポーネント
Amazon ECS には次の 3 つのレイヤーがあります。
-
キャパシティ - コンテナが稼働するインフラストラクチャ
-
コントローラー - コンテナ上で実行されるアプリケーションをデプロイして管理します
-
プロビジョニング - スケジューラーと連携してアプリケーションやコンテナをデプロイおよび管理するために使用できるツール
Amazon のレイヤーは以下の図のようになります。

容量は、コンテナが実行されるインフラストラクチャです。以下は、キャパシティオプションの概要です。
-
クラウド内 AWS の Amazon EC2 instances
インスタンスタイプ、インスタンス数を選択し、キャパシティを管理します。
-
AWS クラウドでの (AWS Fargate) サーバーレス
Fargate はサーバーレスの従量制料金計算エンジンです。Fargate を使用すると、サーバーを管理したり、キャパシティ計画に対処したり、セキュリティのためにコンテナワークロードを分離したりする必要がなくなります。
-
オンプレミス仮想マシン (VM) またはサーバー
Amazon ECS Anywhere は、オンプレミスサーバーや仮想マシン (VM) などの外部インスタンスを Amazon ECS クラスターに登録するためのサポートを提供します。
Amazon ECS スケジューラは、アプリケーションを管理するソフトウェアです。
機能
Amazon ECS には次の高度な機能があります。
- タスク定義
-
アプリケーションのブループリント。
- クラスター
-
アプリケーションが実行されるインフラストラクチャ。
- タスク
-
作業を実行してから停止するバッチジョブなどのアプリケーション。
- サービス
-
長時間実行されるステートレスアプリケーション。
- アカウント設定
-
機能へのアクセスを許可します。
- クラスターの自動スケーリング
-
Amazon ECS では、クラスターに登録された Amazon EC2 インスタンスのスケーリングを管理します。
- サービスのオートスケーリング
-
Amazon ECS は、サービスで必要なタスク数を自動的に増減します。
プロビジョニング
Amazon ECS のプロビジョニングには複数のオプションがあります。
-
AWS Management Console — Amazon ECSリソースへのアクセスに使用するウェブインターフェイスを提供します。
-
AWS Command Line Interface (AWS CLI) — Amazon ECSを含む一連のさまざまな AWS サービス用のコマンドを提供します。Windows、Mac、Linux でサポートされています。詳細については、「AWS Command Line Interface
」を参照してください。 -
AWS SDK — 言語固有の API を提供し、接続の詳細の多くを処理します。これらには、署名の計算、リクエストの再試行処理、エラー処理などを含みます。詳細については、AWS SDK
を参照してください。 -
AWS CDK - 使い慣れたプログラミング言語を使用して、クラウドアプリケーションリソースをモデル化およびプロビジョニングするために使用できるオープンソースのソフトウェア開発フレームワークを提供します。AWS CDK は、AWS CloudFormation を通じて安全かつ繰り返し可能な方法でリソースをプロビジョニングします。
関連サービス
Amazon ECS で使用できるサービス
他の AWS のサービス を使用して、タスクとサービスを Amazon ECS にデプロイできます。
- Amazon EC2 Auto Scaling
-
アプリケーションの負荷を処理するために適切な数の Amazon EC2 インスタンスがあることを確認できます。
- Amazon CloudWatch
-
サービスとタスクをモニタリングします。
- Amazon Elastic Container Registry
-
コンテナイメージを保存して管理します。
- エラスティックロードバランシング
-
受信サービストラフィックを自動的に分散します。
- Amazon GuardDuty
-
不正な、または悪意のある可能性がある コンテナインスタンスとワークロードの使用を検出します。