コンテナ再起動ポリシーを使用して Amazon ECS タスク内の個々のコンテナを再起動する - Amazon Elastic Container Service

コンテナ再起動ポリシーを使用して Amazon ECS タスク内の個々のコンテナを再起動する

タスク定義で定義されている必須のコンテナと必須ではないコンテナそれぞれに再起動ポリシーを有効にして、一時的な障害をより迅速に克服し、タスクの可用性を維持することができます。コンテナの再起動ポリシーを有効にすると、コンテナが終了した場合、Amazon ECS はタスクを置き換えることなくコンテナを再起動できます。

再起動ポリシーは、デフォルトではコンテナに対して有効になっていません。コンテナの再起動ポリシーを有効にすると、コンテナを再起動しない終了コードを指定できます。これらは、終了コード 0 のように再起動を必要としない成功を示す終了コードである可能性があります。再起動を試みる前に、コンテナが正常に実行する必要のある時間を指定することもできます。これらのパラメータの詳細については、「再起動ポリシー」を参照してください。これらの値を指定するタスク定義の例については、「Amazon ECS タスク定義でコンテナ再起動ポリシーを指定する」を参照してください。

Amazon ECS タスクメタデータエンドポイントまたは CloudWatch Container Insights を使用して、コンテナが再起動した回数をモニタリングできます。タスクメタデータエンドポイントの詳細については、「Amazon ECS タスクメタデータエンドポイントバージョン 4」および「Fargate のタスク用の Amazon ECS タスクメタデータエンドポイントバージョン 4」を参照してください。Amazon ECS Container Insights メトリクスの一覧については、「Amazon CloudWatch ユーザーガイド」の「Amazon ECS Container Insights メトリクス」を参照してください。

コンテナ再起動ポリシーは、Fargate、Amazon EC2 インスタンスに加えて、Amazon ECS Anywhere を使用する外部インスタンスでホストされるタスクでサポートされています。

考慮事項

コンテナの再起動ポリシーを有効にする前に、次の点を考慮してください。

  • Amazon EC2 インスタンスでホストされるタスクの場合は、この機能のためにコンテナエージェントのバージョン 1.86.0 以降が必要です。ただし、最新のコンテナエージェントのバージョンを使用することをお勧めします。エージェントのバージョンの確認方法と最新バージョンへの更新方法については、「Amazon ECS コンテナエージェントをアップデートする」を参照してください。

  • Fargate でホストされているタスクの場合、この機能にはプラットフォームバージョン 1.4.0 以降が必要です。詳細については、Amazon ECS 向け Fargate プラットフォームバージョン を参照してください。

  • bridge ネットワークモードの EC2 起動タイプを使用している場合、FireLens ログルーターコンテナ (コンテナ定義に firelensConfiguration オブジェクトがあるコンテナ) を再起動した後で、アプリケーションコンテナの FLUENT_HOST 環境変数が不正確になる可能性があります。これは、FLUENT_HOST が動的 IP アドレスであり、再起動後に変更される場合があるためです。アプリケーションコンテナから FLUENT_HOST IP アドレスへの直接的なロギングは、アドレスの変更後に失敗することがあります。FLUENT_HOST の詳細については、「高スループットの Amazon ECS ログの設定」を参照してください。

  • Amazon ECS エージェントは、コンテナの再起動ポリシーを処理します。予期しない理由で Amazon ECS エージェントが失敗するか実行されなくなったりすると、コンテナは再起動されません。

  • ポリシーで定義された再起動試行期間は、Amazon ECS がコンテナを再起動するまでにコンテナが実行される必要のある期間 (秒単位) を決定します。