Amazon Web Services ブログ

Amazon ECS Express Mode を使用して、インフラストラクチャを複雑化することなく、本番環境に対応したアプリケーションを構築

コンテナ化されたアプリケーションを本番環境にデプロイするには、ロードバランサー、自動スケーリングポリシー、ネットワーク、セキュリティグループにわたる何百もの設定パラメータを操作する必要があります。このオーバーヘッドにより、市場投入までの時間が遅れ、コアアプリケーション開発から焦点がずれてしまいます。

2025 年 11 月 21 日、Amazon ECS Express Mode を発表できたことを嬉しく思います。これは、Amazon Elastic Container Service (Amazon ECS) の新機能で、1 つのコマンドで可用性が高くスケーラブルなコンテナ化されたアプリケーションを起動するのに役立ちます。ECS Express Mode は、シンプルな API を使用して、ドメイン、ネットワーク、負荷分散、自動スケーリングなどのインフラストラクチャのセットアップを自動化します。つまり、Amazon Web Services (AWS) のベストプラクティスを使用して自信を持ってデプロイしながら、アプリケーションの構築に集中できます。さらに、アプリケーションが進化して高度な機能が必要になった場合でも、Amazon ECS を含むリソースの全機能をシームレスに設定してアクセスできます。

Amazon ECS Express Mode の使用を開始するには、Amazon ECS コンソールに移動します。

Amazon ECS Express Mode は、AWS 全体で一般的に使用されるリソースを作成するための新たな統合により、Amazon ECS サービスリソースへのシンプルなインターフェイスを提供します。ECS Express Mode は、ECS クラスター、タスク定義、Application Load Balancer、自動スケーリングポリシー、Amazon Route 53 ドメインを 1 つのエントリポイントから自動的にプロビジョニングして設定します。

ECS Express Mode の使用を開始する
Amazon ECS Express Mode の使用方法を順を追って説明します。ここでは、コンテナ化されたアプリケーションを最も迅速にデプロイできるコンソールエクスペリエンスに焦点を当てます。

この例では、Flask フレームワークを利用した Python 上で動作するシンプルなコンテナイメージアプリケーションを使用しています。こちらが、このデモの Dockerfile です。これを Amazon Elastic Container Registry (Amazon ECR) リポジトリにプッシュしました。


# Build stage
FROM python:3.6-slim as builder
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir --user -r requirements.txt gunicorn

# Runtime stage
FROM python:3.6-slim
WORKDIR /app
COPY --from=builder /root/.local /root/.local
COPY app.py .
ENV PATH=/root/.local/bin:$PATH
EXPOSE 80
CMD ["gunicorn", "--bind", "0.0.0.0:80", "app:app"]

[Express Mode] ページで、[Create] (作成) を選択します。インターフェイスが合理化されました。Amazon ECR からコンテナイメージ URI を指定してから、タスク実行ロールとインフラストラクチャロールを選択します。これらのロールをまだお持ちでない場合は、ドロップダウンから [Create new role] (新しいロールを作成) を選択して、AWS Identity and Access Management (IAM) 管理ポリシーからロールを作成してください。

デプロイをカスタマイズしたい場合は、[Additional configurations] (その他の設定) セクションを拡張して、クラスター、コンテナポート、ヘルスチェックパスや環境変数を定義できます。

このセクションでは、CPU、メモリ、またはスケーリングポリシーを調整することもできます。

Amazon CloudWatch Logs でのログのセットアップは、必要に応じてアプリケーションのトラブルシューティングができるように、常に設定するようにしています。設定に問題がなければ、[Create] (作成) を選択します。

[Create] (作成) を選択すると、Express Mode が自動的に完全なアプリケーションスタックをプロビジョニングします。これには、AWS Fargate タスクを含む Amazon ECS サービス、ヘルスチェック機能付き Application Load Balancer、CPU 使用率に基づく自動スケーリングポリシー、セキュリティグループとネットワーク設定、AWS が提供する URL を含むカスタムドメインなどがあります。[Resources] (リソース) タブの [Timeline view] (タイムラインビュー) でも進捗状況を確認できます。

プログラムによるデプロイが必要な場合でも、次の AWS コマンドラインインターフェイス (AWS CLI) コマンド 1 つで同じ結果が得られます。

aws ecs create-express-gateway-service \
--image [ACCOUNT_ID].ecr.us-west-2.amazonaws.com/myapp:latest \
--execution-role-arn arn:aws:iam::[ACCOUNT_ID]:role/[IAM_ROLE] \
--infrastructure-role-arn arn:aws:iam::[ACCOUNT_ID]:role/[IAM_ROLE]

完了すると、コンソールにアプリケーション URL が表示され、実行中のアプリケーションにすぐにアクセスできます。

アプリケーションを作成したら、ECS サービスにおいて指定されたクラスター、または指定しなかった場合はデフォルトクラスターにアクセスして詳細を確認し、パフォーマンスをモニタリングしたり、ログを表示したり、デプロイを管理したりできます。

アプリケーションを新しいコンテナバージョンで更新する必要がある場合は、コンソールに戻って Express サービスを選択し、[Update] (更新) を選択します。このインターフェイスを使用して、新しいイメージ URI を指定したり、リソースの割り当てを調整したりできます。

または、次のように、AWS CLI を使用して更新することもできます。

aws ecs update-express-gateway-service \
  --service-arn arn:aws:ecs:us-west-2:[ACCOUNT_ID]:service/[CLUSTER_NAME]/[APP_NAME] \
  --primary-container '{
    "image": "[IMAGE_URI]"
  }'

このエクスペリエンスで、全体的にセットアップの複雑さを軽減しながら、より高度な設定が必要なときでも、基盤となるすべてのリソースにアクセスできることがわかりました。

その他の情報
ECS Express Mode に関するその他の事項は次のとおりです。

  • 利用できるリージョン – ECS Express Mode は、ローンチの際にすべての AWS リージョンでご利用いただけます。
  • Infrastructure as Code のサポートAWS CloudFormationAWS Cloud Development Kit (CDK)、Terraform などの IaC ツールを利用して、Amazon ECS Express Mode を使ってアプリケーションをデプロイできます。
  • 料金 – Amazon ECS Express Mode の使用に追加料金はかかりません。アプリケーションを起動して実行するために作成した AWS リソースに料金がかかります。
  • Application Load Balancer の共有 – 作成された ALB は、ホストヘッダーベースのリスナールールを使用して最大 25 の ECS サービス間で自動的に共有されます。これにより、ALB のコストを大幅に分散できます。

Amazon ECS コンソールから Amazon ECS Express Mode の使用を開始してください。詳細については、Amazon ECS のドキュメントページをご覧ください。

構築がうまくいきますように!
– Donnie

原文はこちらです。