
直近の AWS アップデートまとめ
はじめに
今回は、直近で発表された AWS Lambda に関する 1 件のアップデートを紹介します。AWS Lambda が Amazon S3 Files のダイレクト読み込み(direct read)設定をサポートし、関数のメモリサイズに関係なく、ファイルを高性能ストレージと S3 バケットのどちらから読むかを明示的に制御できるようになりました。
注目アップデート深掘り
AWS Lambda が Amazon S3 Files のダイレクト読み込み設定に対応
なぜこのアップデートが重要なのか
S3 Files は、低レイテンシーのための高性能ストレージからの提供と、大きな読み込みで高スループットを得るための S3 バケットからの直接読み込みを、操作ごとに自動で振り分けます。告知によると、顧客は S3 Files と Lambda を組み合わせて、スケーラブルなデータ処理パイプラインやステートフルなエージェントワークロードを構築しています。
これまで Lambda では、S3 バケットからのダイレクト読み込みはメモリ 512 MB 以上で構成された関数でのみサポートされており、この設定を利用者が制御する手段はありませんでした。そのため、アプリケーション固有の要件に合わせて読み込み性能を最適化できませんでした。
今回のアップデートにより、関数のメモリサイズに関係なく、ダイレクト読み込みの有効・無効を明示的に切り替えられるようになりました。
動作の仕組み
これまで(デフォルト):
- メモリ 512 MB 以上の関数:S3 バケットからのダイレクト読み込みをサポート
- メモリ 512 MB 未満の関数:ダイレクト読み込みはサポート対象外
ダイレクト読み込みを有効にした場合:
- 1 MB 以上のファイル:S3 バケットから直接読み込み(スループット最大化)
- 1 MB 未満のファイル:高性能ストレージから提供
ダイレクト読み込みを無効にした場合:
- すべての読み込み:高性能ストレージから提供(最小レイテンシー)
設定がメモリサイズから独立したため、512 MB 未満の関数でもダイレクト読み込みを有効にでき、逆に 512 MB 以上の関数でも無効にしてすべての読み込みを高性能ストレージ経由にできます。
設定方法
AWS Management Console、AWS CLI、AWS SDK、AWS CloudFormation から設定できます。具体的なパラメータ名は告知に記載がないため、利用時は AWS Lambda のドキュメント を確認してください。料金は標準の Lambda と S3 Files の料金のみで、追加料金はかかりません。
検証のポイント
- ファイルサイズごとの比較:1 MB を境に読み込み元が切り替わるため、1 MB 未満と以上のファイルを用意し、ダイレクト読み込みの有効・無効それぞれでレイテンシーとスループットを測定します。
- メモリサイズごとの確認:512 MB 未満と以上の関数で、設定どおりの読み込み元になっているかを確認します。
- 実ワークロードでの確認:小さなファイルと大きなファイルが混在する実際のアクセスパターンで、有効・無効のどちらが要件に合うかを比較します。
SRE 視点での活用ポイント
レイテンシーを優先したい関数では、ダイレクト読み込みを無効にすると、すべての読み込みが高性能ストレージ経由になります。ユーザーリクエストに同期的に応答する処理など、読み込みのレイテンシーを揃えたい場面に向きます。
大きなファイルのスループットを優先したい関数では、ダイレクト読み込みを有効にすると、1 MB 以上のファイルが S3 バケットから直接読み込まれます。これまで 512 MB 未満のメモリ設定ではこの選択肢がなかったため、メモリを増やさずにダイレクト読み込みを使えるようになった点が実務上の変化です。
導入時の判断基準は、関数が扱うファイルサイズの分布です。1 MB 未満の小さなファイルが中心なら無効、1 MB 以上の大きなファイルが中心なら有効を起点に、実測で決めます。
設定を変えると関数の読み込み性能の特性が変わるため、本番に適用する前にステージング環境で測定し、CloudFormation などで管理している場合は設定を IaC 側にも反映して環境間の差分を作らないようにします。
全アップデート一覧
| タイトル | 概要 |
|---|---|
| AWS Lambda now supports direct read configuration for Amazon S3 Files | Lambda 関数で S3 Files のダイレクト読み込みを、メモリサイズに関係なく有効・無効にできるように。有効時は 1 MB 以上のファイルを S3 バケットから直接読み込み、無効時はすべて高性能ストレージから提供。 |
まとめ
これまでメモリ 512 MB 以上の関数に限られていた S3 Files のダイレクト読み込みを、関数ごとに明示的に選べるようになりました。有効ならスループット重視、無効ならレイテンシー重視という対応が明確なので、扱うファイルサイズの分布を確認し、1 MB の境界を基準に設定を選ぶのが出発点です。
追加料金はなく、全 AWS 商用リージョンと AWS GovCloud (US-East / US-West) で利用できます(アジアパシフィック(ニュージーランド)、中東(バーレーン)、中東(UAE)を除く)。