過去の記事でAWS re:Invent 2025 でアナウンスされた Amazon ECS Express Mode を紹介しました。
https://serverless.co.jp/blog/p6irs-87h/
今日は2025年9月にアナウンスされたもう一つのECS 起動オプションであるECS Managed Instanceの紹介です。
ECS Managed Instance とは
これは、コンテナオーケストレーションサービスである Amazon Elastic Container Service(ECS)向けの新しいフルマネージド型コンピューティングオプション で、従来ユーザー自身が担っていたインフラ管理の負荷を大幅に軽減しつつ、Amazon EC2 の柔軟な機能をそのまま活用できる環境 を提供します。
現在ECSでは合計4つの起動オプションを提供しています。
- ECS on EC2
- Fargate on ECS
- Fargate on ECS Express Mode
- ECS on EC2 Managed Instance
です。
ECS Managed Instances を使うことで、開発者はタスクに必要な vCPU やメモリ、CPU アーキテクチャなどの要件を定義するだけで、AWS が最適な EC2 インスタンスの プロビジョニング、スケーリング、構成、セキュリティパッチ適用、最適化 までを自動で実行します。これにより、インフラ運用の負担を AWS に委ねながら、高いパフォーマンスとコスト効率を両立したコンテナ実行基盤 を素早く構築することが可能になります。
従来Fargateでは利用可能なインスタンスタイプに制限があったため、ECS on EC2を利用しなければならないケースがいくつかありました。GPU やネットワーク最適化、高パフォーマンス要件などがそれにあたります。ECS Managed Instance を利用することで、定期的なセキュリティパッチやタスク配置の最適化によって、セキュリティと運用効率の向上が期待できます。
利用にあたっての注意点
類似のサービスとして同じくAWS re:Invent 2025でアナウンスされた AWS Lambda Managed Instance があります。このサービスと同じようにEC2の管理費用として12%の料金が上乗せされます。Savings Plan や Reserved Instance の値引きは通常のEC2と同じように適応されます。
また起動されるインスタンスは14日毎にローテーション対象となるため入替が行われます。このためコンテナタスクが14日毎に再配置が行われることに注意してください。
さっそくやってみる
では起動を行ってみます。
ECS クラスターの作成
まずはECSクラスターを作成します。

クラスターの作成 をクリックします。
適当な名前を付けマネージドインスタンスを指定します。

インスタンスプロファイル と インフラストラクチャロール を作成します。

作成ボタンをクリックすれば適切なIAMロールが自動作成されます。それぞれ以下の枠割を持ちます。
インスタンスプロファイル:管理されるEC2インスタンスに付与され、ECSの様々な起動を操作する権利を保有します
インフラストラクチャロール:ECSがEC2を管理するために必要な権限を保有し、パッチ適応、起動と終了などをを行うさいに利用されます
インスタンス選択 が本機能のメインです。EC2インスタンスを指定できます。例えば以下の様に t2.nimcro 等明示的にEC2インスタンスタイプを指定できます。この手順ではまず基本機能を知るためデフォルトで進めます。


nginxを起動してみますので、Public Subnetを2つ指定します。

作成 をクリックしてしばらく待てばクラスターが起動します。

タスク定義の作成
次に作成されたクラスターで起動するサービスを定義する タスク定義 を作成します。

新しいタスク定義の作成 をクリックします。
適当名前を付け マネージドインスタンス を指定します。

コンテナイメージはシンプルに nginxの公開イメージを使います。
docker.io/library/nginx:latest

あとはすべてデフォルトのまま 作成 をクリックします。

サービスのデプロイ
ではこのタスク定義を使って先ほど作成したクラスターの中にサービスを定義します。
クラスターの詳細画面から 作成 をクリックします。

まず タスク定義ファミリー から先ほど作成したタスク定義を指定します。

ロードバランサー を以下のように指定します。



作成 をクリックしてしばらく待ちます。
ECSサービスに加えて、ロードバランサーとEC2インスタンスが起動されていることがわかります。


サービスも以下の通り起動しました。

ALBのエンドポイントにアクセスを行えば以下の通りnginxが起動されています。

注意点:
何度かテスト実行を行ってみましたが以下の問題が発生するため注意してください。
1.サービスの削除がCloudFormation実行中にもかかわらずエラー停止します。ただしCloudFormationは削除実行中ですのでしばらく待つと完了しました。
2.一部のインスタンスタイプを指定するとエラーでタスク定義作成が失敗しますが、エラーメッセージが原因不明でした。
AWSの事ですからそのうち改善されると思いますがやってみるときには気を付けてください。

