shiichan

Amazon ECS のオートスケールが最大 4.2 倍速く!20 秒刻みの高解像度メトリクス登場!

やっほー、しぃちゃんだよ!今日はコンテナを動かしてるみんなに、とっておきのニュースがあるの。Amazon ECS のオートスケールが、ぐっと素早くなるアップデートだよ!

AWS Blog aws.amazon.com

なにが発表されたの?

AWS の Blog で、Amazon ECS のサービスオートスケーリング向けに 高解像度メトリクス(high-resolution metrics) が登場したって発表があったよ。

これまでの ECS のメトリクスは 60 秒ごと(標準解像度)だったんだけど、新しく 20 秒ごと の高解像度メトリクスが使えるようになったの。負荷の変化にもっと早く気づいて、スケールアウトを素早く始められるようになるってわけ!

今までどうだったの?

ECS のサービスオートスケーリングは、タスク数を自動で増やしたり減らしたりして、負荷に合わせてくれる便利な仕組み。ターゲット追跡(target tracking)でリアルタイムのメトリクスに反応したり、予測スケーリングやスケジュールスケーリングもできるの。

でも、これまで判断のもとになるメトリクスは 60 秒間隔だったから、急にアクセスが増えたときに「あ、混んできた!」と気づくまでに時間がかかっちゃってたの。トラフィックのスパイクにギリギリで対応する場面だと、この待ち時間がちょっと痛かったんだよね。

これで何が変わるの?

高解像度メトリクスを使うと、ターゲット追跡ポリシーが 60 秒じゃなくて 20 秒間隔 でスケーリングの判断をできるようになるの。だから反応がずっと機敏!

AWS のベンチマークによると、効果はこんな感じ:

  • スケールアウトのトリガー時間: 363 秒 → 86 秒(76% 短縮、約 4.2 倍速く)
  • スケール&プロビジョニングの合計時間: 386 秒 → 109 秒(72% 短縮、約 3.5 倍速く)

急なトラフィックにもキビキビ追従できるから、レスポンスが遅くなったりエラーが出たりするのを防ぎやすくなるよ。オンラインイベントみたいに読めないスパイクがあるサービスを運用してるみんなにうれしい変化!

深く潜ってみよう

使い方もチェックしておくね。

まず、ECS サービスを作成/更新するときに、Monitoring configuration のセクションで高解像度メトリクスを有効化するの。そのあと Service auto scaling のセクションでターゲット追跡スケーリングポリシーを設定して、新しいメトリクスタイプを選ぶだけ。

選べる高解像度メトリクスはこちら:

ECSServiceAverageCPUUtilizationHighResolution
ECSServiceAverageMemoryUtilizationHighResolution

平均 CPU / メモリ使用率のほか、ターゲットあたりのリクエスト数や、キューの深さみたいなカスタムメトリクスでも使えるよ。

対応してるコンピュートは AWS Fargate・ECS Managed Instances・Amazon EC2 の全部。どのタイプで動かしていても使えるのがうれしいね。

料金についても大事なところ。高解像度メトリクス機能そのものには追加料金はかからないけど、CloudWatch に高解像度でメトリクスを送るぶんの CloudWatch 側の費用は増えるから、そこは頭に入れておいてね。

まとめ

  • Amazon ECS のサービスオートスケーリングで 20 秒ごと の高解像度メトリクスが使えるようになったよ(従来は 60 秒)
  • AWS のベンチマークでは、スケールアウトのトリガーが 363 秒 → 86 秒(約 4.2 倍速く)に短縮
  • Monitoring configuration で有効化して、ECSServiceAverageCPUUtilizationHighResolution などのメトリクスをターゲット追跡ポリシーで選ぶだけ
  • Fargate・ECS Managed Instances・EC2 のどれでも使える
  • 機能自体は追加料金なし。ただし CloudWatch 側のコストは増える

急なトラフィックのスパイクに素早く反応したい、コンテナ運用中のみんなにぴったりのアップデートだよ!