この記事は NTTドコモソリューションズ AdventCalendar 2025 の 24 日目の記事です。
はじめに
NTTドコモソリューションズのリンです。
普段は、Kubernetesやコンテナを中心に社内で技術支援・ナレッジ蓄積を行ってます。
2025年11月21日にECS Express Modeの機能がリリースされましたので、試してみたいと思います。
すでに多くの記事が公開されていますが、これまでにAmazon ECSで商用システムを構築・運用してきた経験を踏まえ、ECS Express Modeを使用してみた感想をまとめたいと思います。
ECS Express Modeとは
ECS Express Modeは、コンテナ化されたアプリケーションのデプロイを簡素化するために設計された新しいサービスモードです。複雑な設定や複数のAWSサービスの連携を手動で行う必要がなく、適切なデフォルト設定と自動化された構成によって、開発者は最小限の手順でECS Fargateを構築できます。
ECS Express Modeの作成および管理は、2025年12月時点で以下の方法がサポートされています。
・AWS Management Console
・AWS CLI
・AWS SDKs
・CloudFormation
・Terraform
・AWS Labs MCP Server for Amazon ECS
ECS Express Modeを使う利点、ケースは、下記想定されてます。
簡素化されたデプロイ
・本番環境でそのまま使えるベストプラクティスが詰まった設定で、コンテナアプリを即座に展開。面倒な初期設定はもう不要です。
高度な機能・制御
・簡単なだけでなく、機能性も万全です。より高度な制御やチューニングが必要な際には、いつでもAWSリソースを直接操作し、思い通りの設定を実現できます。
コスト最適化
・複数のサービスでロードバランサーを賢く共有。インフラコストを無駄なく削減し、経済的な運用をサポートします。
透過的なインフラ
・作成されるリソースはすべてお客様のAWSアカウント上で管理されるため、ブラックボックス化の心配はありません。いつでもAWSの標準ツールで確認・操作が可能です
ECS Express Modeを試してみた
デフォルト設定での作成を確認してみた
AWS Management Consoleにログインして、検索バーでECSを検索します。

出典: Amazon Web Services, Inc, Amazon Web Services (筆者利用テナント/スクリーンショット取得日:2025年12月19日)
ECS Express Modeを開き、イメージ URIには、docker hubのNginxのコンテナイメージを指定します。
タスク実行ロールとインフラストラクチャロールを選択します。
IAMロールを作成済みの場合は、既存のIAMロールを選択します。
IAMロールを未作成の場合は、「新しいロールの作成」から作成するか、デフォルトで作成されるロールを使用します。
私は、デフォルトで作成されるロールの権限で足りるので、デフォルトで作成されるロールを使用します。
デフォルトで作成されるインフラストラクチャロールのアクセス許可

ECS Express Modeの作成を実行します。
「イメージURI」「タスク実行ロール」「インフラストラクチャロール」で作成の実行ができました。
IAMロールの作成もあり、作成に7分はかかりました。
「その他の設定 - オプションの設定」を設定してないので、すべて下記ドキュメント記載のデフォルトの設定値で作成されました。
クラスター名は、defaultで作成されました。
もし、クラスター名を決めたい場合は、事前にクラスターを作成する必要がありそうです。
サービス名は、デフォルトでイメージ名から自動生成になります。
サービス名を指定したい場合は、作成時に入力できます。
サービス名は、ECS Express Modeで作成されたと分かるようにExpressが表示されてます。
タスクは、サービス内ではなく、クラスター内に作成されていました。
ECS Express Modeで作成されたリソースは、下記になります。
これらのリソースが全て自動的に作成されるのは、とても便利だと感じます。
アプリケーションURLにアクセスしてみた
アプリケーションURLが払い出されており、アクセスすると問題なく「Welcome to nginx!」の画面が表示されました。


メトリクスを確認してみた
オブザーバビリティは、CPU、メモリ、ロードバランサーのメトリクスが確認できます。
その他リソースの各メトリクスも確認できます。
ECS Express Modeは、ECSと関連するリソースを簡単に作成するモードであり、メトリクス収集の仕組みは通常と同じため、確認できるメトリクスが減ることはないと思われます。
デフォルトサブネットの配置を確認してみた
デフォルトのパブリックサブネットに配置されたため、ALBはインターネット向け(Internet-facing)として作成されました。

インターネット向けのALBのセキュリティグループ設定を確認してみた
インバウンドルールは、HTTP (80) と HTTPS (443) の通信を、IPv4 と IPv6 の全範囲から許可されてました。

アウトバウンドルールは、HTTP(80)をタスクのセキュリティグループに許可し、さらにALB自身のセキュリティグループ宛てにすべてのトラフィックを許可してました。

プライベートサブネットの配置を確認してみた
ECS Express Mode作成画面で「その他の設定 - オプションの設定」の「ネットワーク設定をカスタマイズ」でプライベートサブネットに配置した場合、ALBは内部向け(Internal)として作成されました。

内部向けのALBのセキュリティグループ設定を確認してみた
インバウンドルールとアウトバウンドルールともに、インターネット向けのALBのセキュリティグループと同じ設定値でした。


複数のサブネットに配置してみた
サブネットは、パブリックサブネット、プライベートサブネット両方選択できませんでした。
ALBをパブリックサブネットに、ECS Fargateをプライベートサブネットに分けて配置することはできません。

同じサブネットに複数のExpress Modeを作成してみた
ECS Express Modeを同じVPC、同じサブネットで作成すると同じALBが利用されました。

タスクを停止してみた
タスクの起動・停止(タスク数0への変更)はできませんでした。
タスク数を0にすることはできないため、停止は不可のエラーが発生しました。
「MinTaskCount and MaxTaskCount can't be null.」

ECS Execを使用してみた
ECS Execがデフォルトでは有効化されていないため、別途有効化が必要です。

ECS Express Modeを削除してみた
サービスの削除をします。
他のExpress サービスと共有されているALBは保持されました。他のExpress サービスと共有されてない場合は、ALBも削除されました。

サービスの削除ステータスは、途中で「ロードに失敗しました」となり、最後まで確認できませんでした。
一部リソース(ロググループ、タスク定義)は削除されてませんでした。

実際に触ってみた感想
◎ メリット
・簡素化されたデプロイ: ALB、ターゲットグループ、セキュリティグループ等が自動生成されるため、イメージURIさえあれば数分で公開環境が整う。
・ALBのコスト最適化: 同一ネットワーク内であればALBを自動で共有してくれるため、マイクロサービスごとのコストを抑えられる。
▲ 注意点・制限事項
・デプロイ戦略: 更新はカナリアデプロイ(Canary)がデフォルトです。つまり、スケールアウトさせている場合は、徐々にサービスが置き換わることになります。
・ネットワークの柔軟性: パブリック/プライベートサブネットの混在選択ができない。
・運用操作の制限: タスク数0(一時停止)が不可など、運用の作り込みには不向きな面もある。
・IaC管理:IaCから作成は可能ですが、各リソースが自動でデフォルトの設定で作成されるので、各リソースの管理・更新には不向きです。
最後に
ECS Express Modeを使えば、数分でECS Fargateの環境を構築できます。
ただし商用システムへの導入には、ネットワーク設計、セキュリティ要件、運用管理など、まだ壁があると感じました。
一方で、以下のような用途には非常に適していると感じました。
・アプリケーションの動作検証を素早く行いたい時
・ECSの学習や、コンテナアプリに必要なリソース構成を理解したい時
・プロトタイプやPoCを迅速に立ち上げたい時
最後にリンリンとジングルベルが鳴り響く、素敵なクリスマスをお過ごしください!
※記載されている会社名、製品名、サービス名は、各社の商標または登録商標です。












