【速報】オンプレでもECSが動くAmazon ECS Anywhereが発表されました!#reinvent

オンプレやデータセンターでも稼働するECS Anywhereが発表されました!
2020.12.02

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

「ECSって便利だけれど、どこまでいってもAWSのマネージドサービスだよなぁ」

コンテナオーケストレーションとしてkubernetesの地位は確立された感はありますが、AWS上でコンテナワークロードを展開するとき、各種AWSのマネージドサービスとの連携が優れているECSも有力な選択肢として挙げられます。2014年発表でその歴史は長く、機能も豊富でぶっちゃけハマコーECS大好きです。

そんなECSですが、re:Invent 2020のKeynoteにおいて、ECS Anywhereというものが突如発表されました。

Introducing Amazon ECS Anywhere | Containers

オンプレミスなどの自社のデータセンターで、ECSのAPIを利用して、クラスターの管理、コンテナワークロードのスケジューリング、監視が可能。オンプレとAWSをまたいでECSをシームレスに利用が可能となります!

Amazon ECS Anywhereとは

Amazon ECS Anywhereを利用すると、ECSのタスクを任意の環境(AWS以外のデータセンターやオンプレミス)にデプロイ可能となります。昨年のre:Invent 2019では、AWS Outpostsが発表され、それを利用することも可能ですが、Amazon ECS AnywhereはAWS Outpostsとは完全に別物であり、より利用がシンプルになっています。

※上記ブログより引用

リリース予定は2021年とのこと。

主な特徴

  • ECSのコントロールプレーンは従来どおりAWS環境に存在
  • AWS Systems ManagerエージェントをオンプレミスのOSにインストールすることで、そのOSが「マネージドインスタンス」に変換されます
  • Amazon ECS agentがこれらのマネージドインスタンスにインストールされ、指定したECSクラスターにそのインスタンスが登録されます
  • 従来の「EC2」や「FARGATE」とは異なる「EXTERNAL」と呼ばれる起動タイプが追加されます
  • 将来的には、キャパシティプロバイダーのサポートも予定されています

サービス設計における留意点

  • ECSのコントロールプレーンは、AWSのリージョン内に残り、ユーザーはアプリケーションデプロイのためのインフラを自由に設計〜構築できます
  • オンプレミス側のデータプレーンと、ECSのコントロールプレーンとのインターフェースは、タスク管理の必要なものだけが利用されます
  • データプレーンのインフラには依存しません。ECS Anywhereエージェントはインフラ種別に関係なく、対応するOSのあらゆるインフラで動作可能です
  • コントロールプレーンとの接続が切れても、ECS Anywhereタスクはそのままインフラ上で動作し、タスクの更新やスケーリングなどが必要になったときに、ECSコントロールプレーンとの通信が必要になります

デモ動画

既に詳細な紹介用デモ動画も用意されています。流れを把握するにはこれが一番。

関連情報

EKSにも、同じようなコンセプトのAmazon EKS Anywhereが発表されています。

ECSワークロードのさらなる飛躍につながるか

AWSの完全独自仕様として進化してきたECS。コンテナオーケストレーターとして非常に高機能で使いやすいんですが、AWSのフルマネージドサービスであるため、基本的にAWSの中でしか使えないものでした。

今回のECS Anywhereは、ECS Anywhere用のエージェントをインストールすることで、データプレーンをAWSから外だしすることが可能となっており、コントロールプレーンの可用性はマネージドサービスとして管理をAWSに任せながら、オンプレ側で任意のデータプレーンを利用することで、よりオンプレ側の計算リソースを活用しつつ、高機能なECSコントロールプレーンの機能を活用することができます。

オンプレ環境やデータセンターでコンテナオーケストレーターを展開する場合、基本的にkubernetesベースのソリューション一択でしたが、コントロールプレーンだけAWS側を利用するAmazon ECS Anywhereを使うことで、よりECSの活用可能性が広がるのではと考えています。

それでは、今日はこのへんで。濱田(@hamako9999)でした。