SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

これだけは押さえておきたい! AWSサービス最新アップデート

「Amazon ECS」「AWS App Runner」がより便利に! コンテナ管理サービスのアップデートを紹介

第10回 Amazon ECS、AWS App Runner

  • X ポスト
  • このエントリーをはてなブックマークに追加

ECSのアップデート紹介

ECSのサービスロードバランシングの精度向上

 2023年2月に、Amazon Elastic Container Service でサービスロードバランシングの精度を向上したというアップデートがアナウンスされました。

 まず、ECSの用語と仕組みを簡単に振り返りたいと思います。

 ECSは、コンテナのグループをタスクという単位で管理し、それをEC2もしくはFargate上で稼働させます。

 また、ELBを利用することで、アクセスをタスク間で負荷分散させることができますが、タスクは定期的に終了されることがあり(注)、終了するタスクに振り分けてしまうと、クライアント側にエラーを返すこととなります。

 タスクが終了される要因としては、オートスケーリングによるスケールイン、実行基盤の障害やシャットダウンなどがあります。

 そのため、終了するタスクには負荷分散させないようにすることが重要で、今回のアップデートでその精度が向上したとアナウンスされています。

ECSタスク
ECSタスク

 また、今回のアップデートでは、Fargateのスポットインスタンスを利用している場合に有用であるとアナウンスされています。

 ECSの実行基盤には、キャパシティが予約されたオンデマンドインスタンスと、最大90%程度のコスト低減ができる代わりに常時起動が保証されないスポットインスタンスを選択可能です。

 スポットインスタンスを利用している場合、AWS側のリソース空き状況に応じてインスタンスが停止され、タスクも停止されてしまいます。

 このような場合にも、私たちとしては可能な限りエラーを低減させ、アクセスを処理し続けることが重要です。

 この話については、AWSからブログ記事が公開されておりますので、詳しくはこちらをご参照ください。

 これまで、EC2スポットインスタンスを利用している場合は、自動ドレイニングという機能があり、 インスタンスのシャットダウンとともにタスクが停止される前に、ELBの負荷分散先から該当タスクを除外するような動きをすることが可能でした。

 一方、2021年5月時点のブログ記事では、Fargateのスポットインスタンスを利用する場合は、上記の保証がなく、エラーを返してしまうことが記載されています。

 今回のアップデートで、タスクが停止状態に入る前にELBの負荷分散先からタスクを除外するような動きをするようになったため、Fargateのスポットインスタンスを利用している場合でも、エラー発生の可能性を低減させることができるようになったようです。

 上記のような背景で、これまでFargateのスポットインスタンスはあまり商用環境で利用されていなかったか、利用するにしても作り込みが必要だったかもしれません。今回のアップデートで商用環境にも利用しやすくなったのではないでしょうか。

Amazon CloudWatch アラームと統合し、デプロイの安全性が向上

 ECSでは、ECSサービスの機能である「ローリングアップデート」により、タスクをデプロイすることが可能です。

 ローリングアップデートでは、ECSが稼働させているタスクを停止させる前に、新しいタスクをデプロイし、接続断が生まれないようにデプロイを行うことが可能です。

 ローリングアップデートでは、新たにデプロイしたタスクが正常に稼働しなかった場合にロールバックをするサーキットブレイカーという機能がありました。

 これにより、タスクのステータスが正常ではなかった場合に、自動でロールバックを行い、失敗したデプロイの影響を抑えることが可能でした。

 今回、上記のロールバック機能に加えて、CloudWatchアラームと連携してロールバックを行うことができるアップデートが発表されました。

 これにより、サーキットブレイカーの判定としてはタスクが正常にデプロイされていたように見えていても、レイテンシの増加などで期待する性能を下回っている場合などにロールバックすることが可能になりました。

 ロールバックに有用なアラーム設定先はAWSの公式ドキュメントに記載されていますので、具体的な内容はこちらをご参照ください。

まとめ

 今回は、App Runner、ECSの直近のアップデートを紹介しました。それぞれ、ユーザ側としてはサービスをより利用しやすくなるようなアップデートだったと思います。

 コンテナ管理サービスの今後の発展についても引き続きウォッチしたいと思います。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
これだけは押さえておきたい! AWSサービス最新アップデート連載記事一覧

もっと読む

この記事の著者

橋原 朋央(株式会社NTTデータ)(ハシハラ トモヒロ)

 2017年にNTTデータに入社。 入社以来、小売・流通業界や金融業界に対して、パブリッククラウドを活用したシステム構築、運用に携わる。 興味のある領域は、コンテナ、CICD、IaC(Infrastructure as Code)等。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/17860 2023/06/07 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング