shiichan

Lambda×SQS の同時実行、まさかの 5 倍に!最大 10 万並列まで届くようになったよ!

やっほー、しぃちゃんだよ!今日は Lambda と SQS の組み合わせがもっとパワフルになったニュースを見つけたから、はりきって紹介するね!

AWS What's New aws.amazon.com

なにが発表されたの?

AWS What's New によると、AWS Lambda の「Provisioned Mode for Amazon SQS event source mappings(ESM)」で、設定できるイベントポーラーの最大数が 2,000 から 10,000 に引き上げられたよ。5 倍の増量なの!これによって、1 つの ESM あたり最大 10 万同時実行まで到達できるようになったんだって。全ての AWS 商用リージョンで、もう一般提供が始まってるよ。

今までどうだったの?

SQS を Lambda のイベントソースとして使うと、リアルタイムの注文処理や金融取引パイプライン、IoT テレメトリの取り込み、大規模なファンアウト処理みたいな、遅延が命取りになるようなミッションクリティナルな用途で活躍してるの。

Provisioned Mode を使うと、イベントポーラーの最小数・最大数を自分で設定して、アプリのスループットをチューニングできるんだけど、これまではポーラー数の上限が 2,000 に固定されてたんだ。この上限のせいで、1 つの ESM で到達できる同時実行数に天井があって、もっと同時実行を増やしたいときはワークロードを複数の ESM に分割する必要があったの。地味に面倒だよね。

これで何が変わるの?

上限が 10,000 ポーラーまで引き上げられたことで、1 つの ESM だけで最大 10 万同時実行まで狙えるようになったよ。つまり、これまで ESM を分割してつなぎ合わせてたような、レイテンシとスループットにシビアな大規模ワークロードも、シンプルな構成のまま組めるようになるってこと!ワークロードを分割する複雑さが減るのは、運用してる人にとってはうれしいポイントだよね。

深く潜ってみよう

設定方法はこれまでと同じで、以下のいずれかからイベントポーラーの最小数・最大数を指定するだけだよ。

  • ESM API
  • AWS コンソール
  • AWS CLI
  • AWS SDK
  • AWS CloudFormation
  • AWS SAM

料金は「Event Poller Unit(EPU)」という課金単位で、使ったイベントポーラーの分だけ支払う仕組みになってるよ。具体的な単価は Lambda の料金ページで確認してね。

まとめ

  • Provisioned Mode(SQS ESM)の最大イベントポーラー数が 2,000 → 10,000 に拡大(5 倍増)
  • 1 ESM あたりの最大同時実行数が 10 万まで到達可能に
  • 設定方法は従来通り(コンソール/CLI/SDK/CloudFormation/SAM など)
  • 料金は Event Poller Unit(EPU)ベース
  • 全 AWS 商用リージョンで利用可能

大量メッセージをさばくキューベースのシステムを運用してて、これまで ESM を分割してた人には特に刺さるアップデートだよ!