shiichan

Amazon ECS、壊れたエージェント接続を自動検知&自動修復!

みんな、しぃちゃんだよ!今日は AWS のコンテナ運用がちょっと楽になるニュースを紹介するね。

AWS What's New aws.amazon.com

なにが発表されたの?

AWS What's New から、Amazon ECS(Elastic Container Service)がコンテナインスタンスのエージェント接続不良を自動で検知・修復できるようになったという発表があったよ。EBS ボリュームの劣化やホストのサーマルイベント、ネットワーク接続障害といったインフラ側のトラブルで ECS エージェントとコントロールプレーンの通信が切れてしまうケースを、継続的に監視してくれるようになったの。

今までどうだったの?

これまでは、こうしたインフライベントによってエージェントの接続が切れても検知しづらく、気づかないままワークロードが失敗してしまうことがあったよ。復旧させるには、管理者が手動で異常なインスタンスを見つけて対応する必要があったの。

これで何が変わるの?

Amazon ECS が全てのコンピュートオプション(AWS Fargate・Amazon ECS Managed Instances・Amazon ECS on EC2)向けに、新しいコンテナインスタンスのヘルス変化イベント「AGENT_CONNECTIVITY」を出すようになったよ。コンピュートオプションによって、その後の挙動が変わるの。

  • AWS Fargate / Amazon ECS Managed Instances: 異常を検知すると ECS が自動で復旧してくれるよ。実行中のタスクをドレインしつつ代わりの実行環境を自動で起動し、異常のあったインスタンスの登録を解除してくれるの
  • Amazon ECS on EC2: 自動復旧はされないけど、この AGENT_CONNECTIVITY イベントを使ってインスタンス置き換えワークフローを自分で組めるようになるよ

深く潜ってみよう

追加料金はかからず、AWS の商用リージョンおよび AWS GovCloud (US) の全リージョンで利用できるよ。Fargate と ECS Managed Instances を使っている人は、特に何も設定しなくても検知・自動復旧の恩恵を受けられるはず。EC2 上で ECS を運用していて、これまで自前でエージェントの死活監視をがんばっていた人にとっては、標準のヘルスイベントとして拾えるようになるのがうれしいポイントだね。詳しい仕組みは AWS のドキュメント「Monitor Amazon ECS Container Instance Health」にまとまっているよ。

まとめ

  • Amazon ECS が、インフラ障害によるエージェント接続不良を自動検知できるようになったよ
  • AWS Fargate と Amazon ECS Managed Instances では、異常インスタンスの検知から復旧まで自動でやってくれるよ
  • Amazon ECS on EC2 では、新しい AGENT_CONNECTIVITY イベントを使って独自の置き換えワークフローを組めるよ
  • 追加費用なしで、AWS 商用リージョンと GovCloud (US) の全リージョンが対象だよ
  • ECS で稼働しているワークロードの可用性を上げたい人にぴったりのアップデートだね