コンテナアプリケーションの運用は年々一般化していますが、いざ本番環境を構築しようとすると、依然として多くのインフラ設定が必要になります。通常のOSよりアプリケーション実行単位が小さく、その管理を行うために、Amazon ECS を利用する場合タスク定義、サービス、ロードバランサー、ネットワーク、ヘルスチェックなど、アプリケーションそのもの以外に考慮すべき要素は多くあります。
「コンテナでアプリを動かしたいだけなのに、インフラ設定が複雑すぎる」
こうした課題は、PoC や小規模サービス、API サーバの立ち上げ時に特に顕在化します。
そこで AWS が2025年11月発表したのが Amazon ECS Express Mode です。従来ECSにはサーバレス型コンテナ実行環境を提供するサービスとしてFargateというものを提供していました。ユーザーはEC2をベースとして動作するECS、サーバレスとして動作するFargateの2種類の選択肢がありましたが、ここにECS Express Modeという第三の選択肢が加わったことになります。
Amazon ECS Express Mode
シンプルに結論を言うと、ECS Express Mode は Fargate を使いやすくしたものです。Fargateを起動する際に必要なものがまとめて設定され一度に起動させる、という構図になっています。
従来の Fargate では、以下のようなリソースや設定を利用者が個別に設計・管理する必要がありました。
- タスク定義の詳細な設定
- ECS サービスの作成
- Application Load Balancer やターゲットグループの設定
- リスナーやヘルスチェックの定義
- ネットワークやセキュリティグループの調整
Express Mode では、これらの構成要素を AWS がベストプラクティスに基づいて自動的に構成します。
利用者は「どのコンテナイメージを公開するか」といった最小限の情報を指定するだけで、アプリケーションを外部公開可能な形でデプロイできます。その分従来のFargateで指定できた項目が抽象化され設定不可になっているパラメータもありますので、しばらくの間は使い分けていくことになりそうです。
さっそくやってみる
ECSマネージメントコンソール、左ペインから Express Mode を選択します。

以下の様な設定画面が表示されます。最小設定ですとコンテナイメージURIを設定するだけでFargateサービスが起動できます。

Browse ECR images をクリックすると以下の画面が起動します。

Private repository と記載があるので、事前にECR でPrivateレポジトリを作成してそこにコンテナイメージをアップロード・・・しておく必要はありません。ちゃんとパブリックレポジトリにも対応しています。
例えばシンプルに nginx 用公開イメージを指定します。
docker.io/library/nginx:latest

基本設定はこれだけになります。そのまま Create をクリックします。
以下の様にばこばこと複数設定やリソースの起動が開始されます。

書き出すと以下がまとめて生成されています。
- タスク定義
- セキュリティグループ
- CloudWatch Logs ロググループ
- CloudWatch Alarm用メトリクス
- 外部エンドポイント(ALB)
- ALB リスナー、リスナールールとターゲットグループ
- オートスケールとスケーリングポリシー
- サービス
従来これらの設定は個別に行う必要がありましたが、このあたりの手順は本当に煩雑で苦労されていた人も多いのではないでしょうか。私も苦手でしたがかなりsンプルにまとまっています。
しばらく待つと(体感10分以内ぐらい)この通りサービスが起動します。

そしてエンドポイントにアクセスすると無事 nginx が起動します。


