Amazon Elastic Container Service (Amazon ECS) は、フルマネージド型のコンテナオーケストレーションサービスです。Duolingo、Samsung、GE、Cookpad などのお客様が ECS を使用して、セキュリティ、信頼性、スケーラビリティを実現するために最も機密性が高くミッションクリティカルなアプリケーションを実行しています。
ECS がコンテナを実行するのに最適な選択肢である理由をいくつかご紹介しましょう。まず、コンテナ用サーバーレスコンピューティングである AWS Fargate を使用して、ECS クラスタを実行することを選択できます。Fargate ではサーバーのプロビジョンと管理が不要で、アプリケーションごとにリソースを指定してその分のみ料金を支払うことができるだけでなく、設計段階からのアプリケーション分離によりセキュリティを強化します。2 つ目に、ECS は Amazon 内で広く使用されており、また Amazon SageMaker、AWS Batch、Amazon Lex、Amazon.com の推奨エンジンなどのサービスを提供しているため、セキュリティ、信頼性、可用性に関して ECS を広範囲でテストしています。
加えて、ECS は主要な Amazon のサービスの基本的柱であるという理由から、Amazon Route 53、Secrets Manager、AWS Identity and Access Management (IAM)、Amazon CloudWatch などの他のサービスとネイティブに統合しており、このため使い慣れた環境でコンテナをデプロイかつスケーリングできます。ECS を他の AWS のサービスと迅速に統合させ、ECS に新しい機能を提供することも可能です。たとえば ECS を使用すると、アプリケーションで Amazon EC2 と AWS Fargate を組み合わせて、スポットやオンデマンドの料金設定オプションを柔軟に適用できます。さらに、ECS をサービスメッシュである AWS App Mesh と統合させることで、アプリケーションに豊富な視認性、トラフィックコントロール、セキュリティ機能も利用できるようになります。ECS は発売以来急速に成長しており、現在 EC2 がインスタンスを起動するよりも 5 倍多くのコンテナを 1 時間ごとに起動しています。
利点
サーバーレスのオプション
ECS は Fargate をサポートしているため、コンテナにサーバーレスコンピューティングを提供できます。Fargate ではサーバーのプロビジョンと管理が不要で、アプリケーションごとにリソースを指定してその分のみ料金を支払うことができるだけでなく、設計段階からのアプリケーション分離によりセキュリティを強化します。
Capacity Providers でアプリケーション第一に
ECS Capacity Providers で、インフラストラクチャではなくアプリケーションの構築と管理に集中できるようになります。Capacity Providers を使用すれば、アプリケーションの要求によって割り当てられるコンピューティング能力が決まるため、EC2 とFargate を組み合わせたスポットとオンデマンドの料金設定オプションをアプリケーションに柔軟に適用できます。
スケールに応じたパフォーマンス
Amazon のいくつかの主要サービスを強化してきた ECS は、長年にわたりスケーラビリティの高いサービスを運用してきた経験から培った技術で構築されています。ECS で、複雑になることなく、数千個のコンテナを迅速に起動できます。
安全性
ECS ではお客様独自の Amazon VPC でコンテナを起動するため、お客様の VPC セキュリティグループおよびネットワーク ACL が使用可能です。他のお客様とコンピューティングリソースを共有することはありません。IAM を使用して、各コンテナに対するアクセス権限をきめ細かく割り当て、各サービスへのアクセスや、コンテナがアクセスできるリソースを制限することもできます。この高い隔離性により、ECS を使用して極めて安全なアプリケーションを作成できます。
信頼性
ECS は 22 のリージョンで 69 のアベイラビリティーゾーン (AZ) を備えた最高のグローバルインフラストラクチャで実行されます。AWS は 2 番目に大きいクラウドプロバイダーよりも 2 倍以上のアベイラビリティーゾーンを提供しています (22 vs.8)。ECS は AWS Compute SLA がサポートしているため、ECS の月間稼働率が少なくとも 99.99% であることが保証されます。
コストのために最適化
ECS で Fargate スポットタスクまたは EC2 スポットインスタンスを使用すれば、ステートレスかつフォールトトレラントなアプリケーションを実行するためのオンデマンド料金と比較して、最大で 90% の割引を実現できます。Saving Plan を使用すると、永続的なワークロードに対して最大 50% の割引となります。スポットインスタンスをオンデマンドインスタンスやリザーブドインスタンスと組み合わせることで、ECS クラスターの大規模な実行を簡単に行うことが可能となります。
Amazon ECS のしくみ
ユースケース
ハイブリッドデプロイ
Outposts で ECS を使用すれば、オンプレミスシステムへの特別に低いレイテンシーを必要とするコンテナ化したアプリケーションを実行できます。AWS Outposts は、AWS のインフラストラクチャ、AWS のサービス、API、およびツールを、実質的にすべての接続サイトに拡張する完全マネージド型サービスです。Outposts で ECS を使用すれば、クラウドでコンテナを管理するように簡単にオンプレミスのコンテナを管理できます。
Machine Learning
AWS Deep Learning Containers を使って、TensorFlow、PyTorch、ECS 上の MXNet のモデルをトレーニングし提供できます。Amazon Elastic Inference (EI) で ECS の深層学習推論ワークロードを加速することもできます。
バッチ処理
AWS Batch を使って、ECS のシーケンシャルまたは並行バッチのワークロードを実行できます。AWS Batch では、送信したバッチジョブのボリュームと特定のリソース要件に基づいて、最適な量と種類のコンピューティングリソースを動的にプロビジョニングすることで、数十万単位のバッチコンピューティングジョブを簡単かつ効率的に実行できます。
ウェブアプリケーション
複数のアベイラビリティーゾーンにわたって可用性の高い設定で、自動的にスケールアップおよびダウンするウェブアプリケーションを構築できます。ECS 上で実行することにより、ウェブアプリケーションは AWS の高いパフォーマンス、規模、信頼性、可用性の利点を活用することができます。さらに、ウェブアプリケーションの負荷分散のための Application Load Balancer やネットワーク用の VPC など、AWS のネットワーキングとセキュリティサービスとすぐに統合できます。
最新情報
Amazon ECS Capacity Providers が利用可能に
Amazon Elastic Container Service (ECS) Capacity Providers がご利用いただけるようになりました。Capacity Providers は、コンテナのコンピューティング能力を管理する新しい方法です。これで、容量の使用方法に関する要件をアプリケーションで定義できるようになります。
Amazon ECS Cluster Auto Scaling が利用可能に
Amazon Elastic Container Service (ECS) Cluster Auto Scaling がご利用いただけるようになりました。ECS Cluster Auto Scaling を使用すれば、EC2 上で実行中の ECS クラスターが必要に応じて自動的にスケーリングし、クラスター内のすべてのタスクとサービスのリソース需要 (ゼロとの間のスケーリングも含む) を満たします。
Amazon ECS, Amazon EKS, and AWS App Mesh now support AWS Outposts
Amazon ECS、Amazon EKS、AWS App Mesh が、AWS のインフラストラクチャとツールをほぼすべてのデータセンター、コロケーションスペース、オンプレミスの施設に拡張し、安定したハイブリッドエクスペリエンスを実現するフルマネージドサービスである AWS Outposts のサポートを開始しました。
Amazon CloudWatch Container Insights で ECS コンテナインスタンスのモニタリングが利用可能に
Amazon Elastic Container Service (Amazon ECS) のコンテナインスタンスに影響するパフォーマンスをモニタリング、分離、診断できるようになりました。
すべての発表を見る »
ブログ投稿と記事
AWS ECS Cluster Auto Scaling が一般でご利用可能に
本日、AWS ECS Cluster Auto Scaling を開始しました。この新しい機能により、クラスターのスケールアウトの速度と信頼性が向上し、クラスターで維持する予備容量を制御でき、さらにクラスターのスケールインでインスタンスの終了を自動的に管理できるようになりました。この結果、クラスターのスケーリングエクスペリエンスが向上しました。
ECS でマイクロサービスをデプロイする
Amazon ECS を使用することにより、モノリスなアプリケーションを、コンテナを使ったマイクロサービスアーキテクチャに分割するのがいかに簡単になるか、確認してください。
コンテナの CICD パイプラインをセットアップする
コンテナ化したサービスを手動で構築およびデプロイするのは、時間がかかるうえに、エラーが発生しやすいという問題があります。AWS CodePipline を使えば、Amazon ECS へのデプロイを自動化できます。
Amazon ECS の詳細



