1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon ECS Express Mode で作成したサービスにサイドカーコンテナを追加する

Posted at

本記事は AWS Containers Advent Calendar 2025 の 9 日目 (12/9) のエントリーです。

はじめに

2025年11月21日に Amazon ECS Express Mode (以降 ECS Express Mode と記載) が発表されました。

この機能は従来 ECS でコンテナアプリケーションをセットアップする際に必要とされたネットワークや自動スケーリングなどの設定をシンプルな方法でまとめ、容易にデプロイ可能とするものです。

コンテナアプリケーションをシンプルかつ容易にデプロイ可能とするサービスとして既に AWS App Runner が存在しますが、料金体系や各種設定のカスタマイズの柔軟性の違いなど様々な点で違いがあるため App Runner からの単純な置き換えが可能な機能ではないものの、Express mode の責任範囲外(後述)となってしまいますがシンプルさを維持しつつ従来 App Runner で対応しきれなかった要件に対応できる余地があります。

特に、App Runner で対応を希望する方も多かったサイドカーコンテナ対応(現時点で App Runner は非サポート)について ECS Express Mode でのサービスデプロイ後の追加対応で利用可能である旨がドキュメントにも記載されているため、今回はこのサイドカーコンテナ追加について実際にデプロイしたうえで、Express Mode による更新を実施した際の動作検証を行いたいと思います。

ECS Express Mode におけるリソースの管理と責任

ドキュメントに記載があるように、ECS Express Mode でデプロイしたリソースはすべて AWS アカウントに残り Express Mode の API を介さずに通常の ECS リソースと同様に管理可能です。

しかし Express Mode API 以外で直接操作した場合、ECS Express Mode でのサービスの管理に影響する可能性があります。直接操作した場合の変更が Express Mode での設定と競合する場合にそれを抑止したり設定の上書きを防止することはしないため、直接操作による影響について把握しそれによって生じた問題を解決する責任は ECS Express Mode の責任範囲外ということになります。

今回検証するサイドカーコンテナの追加に関しても ECS Express Mode の範囲外での対応となるため、競合発生の有無や設定の上書きなど事前の検証が必要になります。

前提条件

以下の条件で検証を実施します。

  • 東京リージョン
  • Public subnet * 3 を持つ VPC
    • 上記以外の VPC なし
  • メインコンテナ
  • サイドカーコンテナ
  • その他設定は ECS Express Mode のデフォルト値を使用

サービス作成とサイドカー追加

ECS Express Mode でサービスを作成

スクリーンショット 2025-12-08 午後4.36.11.png

デプロイ完了。

スクリーンショット 2025-12-08 午後4.44.08.png

サイドカーコンテナ追加

ECS Express Mode が自動作成したタスク定義の新しいリビジョンを作成し、AWS for Fluent bit コンテナを追加する。

  • 合わせてメインコンテナの logDriver を awsfirelens に修正
  • memoryReservation をタスクの範囲を超えないよう適宜調整

スクリーンショット 2025-12-08 午後5.06.23.png

サービスを更新(ECS Express Mode 外)。

スクリーンショット 2025-12-09 午前10.14.51.png

完了まで待機。

スクリーンショット 2025-12-08 午後5.56.46.png

ここまで実施することで ECS Express Mode で管理されたサービスにサイドカーコンテナを追加して利用可能な状態になります。

ECS Express Mode による更新の影響確認

作成したサービスについて更新を Express Mode 経由で実施した場合に設定の上書きなどが発生するか検証します。(結論から言うとそもそもの更新操作自体が失敗してしまいました・・・)

コンピューティング設定の更新

更新前:
スクリーンショット 2025-12-08 午後6.06.59.png

更新後の設定:
スクリーンショット 2025-12-08 午後6.10.00.png

結果

ServerException が発生し、更新失敗。
スクリーンショット 2025-12-08 午後6.13.08.png

その他設定の更新

コンピューティング設定と同様に ServerException が発生し失敗。

ECS Express Mode 外での更新の影響確認

Express Mode での更新操作が期待と異なり失敗してしまったので、Express Mode 外(update-service)での追加の更新操作は可能かを検証します。

(例)スケーリングポリシー設定の更新

更新前:
スクリーンショット 2025-12-09 午前10.29.24.png

更新後の設定:
スクリーンショット 2025-12-09 午前10.30.32.png

結果

更新成功。
スクリーンショット 2025-12-09 午前10.32.50.png

  • 特にその他設定の上書き等は見られず

まとめ

サイドカーコンテナの追加後に ECS Express Mode による更新実施の影響を検証する予定でしたが、それ以前に更新操作自体がエラーで失敗するという結果となってしまいました。Express Mode 外での更新であればデプロイメント戦略(CANARY)以外の設定は通常のサービスと同様に更新できそうなので、Express Mode でまずはサービスデプロイを行いその後サイドカーコンテナも利用したいという場合にはこちらでの更新操作が必要そうです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?