Amazon Web Services ブログ

Amazon ECS マネージドインスタンスのマネージドデーモンサポートの発表

2026 年 4 月 1 日、Amazon Elastic Container Service (Amazon ECS) マネージドインスタンスのマネージドデーモンサポートを発表いたしました。この新機能により、2025 年 9 月に導入したマネージドインスタンスのエクスペリエンスが拡張されます。プラットフォームエンジニアは、アプリケーション開発チームとの調整を必要とせずに、モニタリング、ログ記録、トレースツールなどのソフトウェアエージェントを独立して制御できるようになります。また、すべてのインスタンスで必要なデーモンを常に実行し、包括的なホストレベルのモニタリングを実現できるため、信頼性も向上します。

コンテナ化されたワークロードを大規模に実行する場合、プラットフォームエンジニアは、インフラストラクチャのスケーリングやパッチ適用から、アプリケーションの確実な実行の維持、それらのアプリケーションをサポートする運用エージェントの保守まで、幅広い責任を管理します。これまで、こうした懸念事項の多くは密接に結びついていました。モニタリングエージェントを更新するということは、アプリケーションチームとの調整、タスク定義の変更、アプリケーション全体の再デプロイを意味します。数百、数千のサービスを管理している場合、これは運用上の大きな負担となります。

デーモンの分離型ライフサイクル管理

Amazon ECS では、プラットフォームチームが運用ツールを一元管理できるようにする、専用のマネージドデーモンコンストラクトが導入されました。このように懸念事項を分離することで、プラットフォームエンジニアは、アプリケーションチームによるサービスの再デプロイを必要とせずに、すべてのインスタンスで必要なツールを一貫して使用できるようにしつつ、モニタリング、ログ記録、トレースの各エージェントをインフラストラクチャに個別にデプロイして更新できます。デーモンはアプリケーションタスクの前に起動し、最後にドレインすることが保証されているため、アプリケーションで必要なときにいつでもログ記録、トレース、モニタリングを利用できます。

プラットフォームエンジニアは、マネージドデーモンを複数のキャパシティプロバイダーにデプロイしたり、特定のキャパシティプロバイダーをターゲットにしたりできるため、インフラストラクチャ全体でエージェントを柔軟に展開できます。リソース管理も一元化されており、各インスタンスが複数のアプリケーションタスクで共有されるデーモンコピーを 1 つだけ実行するため、チームはリソース使用率を最適化しながら、AMI を再構築したりタスク定義を更新したりすることなくデーモン CPU とメモリのパラメータをアプリケーション設定とは別に定義できます。

試してみましょう
ECS マネージドデーモンを試すために、最初のマネージドデーモンとして Amazon CloudWatch エージェントを使用して開始することにしました。私は以前、ドキュメントを使用してマネージドインスタンスのキャパシティプロバイダーで Amazon ECS クラスターをセットアップしていました。

Amazon Elastic Container Service コンソールで、ナビゲーションペインに新しい [デーモンタスク定義] オプションがあることに気付きました。このオプションで、マネージドデーモンを定義できます。

マネージドデーモンコンソール

[新しいデーモンタスク定義を作成] を選択して開始します。この例では、CloudWatch エージェントに 1 つの vCPU と 0.5 GB のメモリを設定しました。[デーモンタスク定義ファミリー] フィールドに、後で識別できる名前を入力しました。

[タスク実行ロール] では、ドロップダウンから [ECSTaskExecutionRole] を選択しました。[コンテナ] セクションで、コンテナにわかりやすい名前を付け、イメージ URI に public.ecr.aws/cloudwatch-agent/cloudwatch-agent/cloudwatch-agent:latest といくつかの詳細を貼り付けました。

すべてを確認したあと、[作成] を選択しました。

デーモンタスク定義が作成されたら、クラスターページに移動し、以前作成したクラスターを選択すると、新しい [デーモン] タブが見つかりました。

マネージドデーモン 2

ここで [デーモンを作成] ボタンをクリックし、フォームに記入してデーモンを設定するだけです。

マネージドデーモン 3

[デーモン設定] で、新しく作成したデーモンタスク定義ファミリーを選択してから、デーモンに名前を割り当てました。[環境設定] では、前に設定した ECS マネージドインスタンスのキャパシティプロバイダーを選択しました。設定を確認したあと、[作成] を選択しました。

これで、ECS は、選択したキャパシティプロバイダーのプロビジョニングされたすべての ECS マネージドインスタンスでデーモンタスクが最初に起動することを自動的に確認します。実際の動作を確認するために、サンプルの nginx ウェブサービスをテストワークロードとしてデプロイしました。ワークロードがデプロイされると、コンソールで ECS マネージドデーモンが CloudWatch エージェントデーモンをアプリケーションとともに自動的にデプロイしたことを確認できました。手動による操作は必要ありません。

後でデーモンを更新すると、ECS は更新されたデーモンを使用して新しいインスタンスをプロビジョニングして、まずデーモンを起動し、次にアプリケーションタスクを新しいインスタンスに移行してから古いインスタンスを終了することで、ローリングデプロイを自動的に処理しました。この「停止前に開始する」アプローチにより、デーモンを継続的にカバーできます。ログ記録、モニタリング、トレースの各エージェントは、データ収集においてギャップがなく、更新中ずっと動作し続けます。設定したドレイン率によってこの置き換えのペースが制御され、アプリケーションのダウンタイムなしでアドオンの更新を完全に制御できるようになりました。

仕組み
マネージドデーモンエクスペリエンスでは、独自のパラメータと検証スキームを備えた、タスク定義とは別の新しいデーモンタスク定義が導入されています。新しい daemon_bridge ネットワークモードにより、デーモンはアプリケーションネットワーク設定から切り離されたまま、アプリケーションタスクと通信できます。

マネージドデーモンは、運用ツールに不可欠である高度なホストレベルのアクセス機能をサポートします。プラットフォームエンジニアは、デーモンタスクを特権コンテナとして設定したり、Linux 機能を追加したり、基盤となるホストファイルシステムからパスをマウントしたりできます。これらの機能は、ホストレベルのメトリクス、プロセス、システムコールを詳細に可視化する必要があるモニタリングおよびセキュリティエージェントにとって特に役立ちます。

デーモンがデプロイされると、ECS はアプリケーションタスクを配置する前に、コンテナインスタンスごとにデーモンプロセスを 1 つだけ起動します。これにより、アプリケーションがトラフィックの受信を開始する前に、運用ツールの準備ができていることが保証されます。ECS は自動ロールバックを使用したローリングデプロイもサポートしているため、安心してエージェントを更新できます。

今すぐご利用いただけます
Amazon ECS マネージドインスタンスのマネージドデーモンサポートは、現在すべての AWS リージョンでご利用いただけます。開始するには、Amazon ECS コンソールにアクセスするか、Amazon ECS ドキュメントを確認してください。また、このウェブサイトにアクセスして、新しいマネージドデーモンのアプリケーションプログラミングインターフェイス (API) を確認することもできます。

マネージデーモンを使用するための追加コストはありません。お支払いいただくのは、デーモンタスクによって消費された標準コンピューティングリソースに対してのみです。

原文はこちらです。