Upgrade to Pro — share decks privately, control downloads, hide ads and more …

「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →
Avatar for maimyyym maimyyym
October 09, 2026

「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜

Avatar for maimyyym

maimyyym

October 09, 2026

More Decks by maimyyym

Other Decks in Technology

Transcript

  1. Introduction Click!! 宮 崎 真 衣 M A I M

    I YA Z A K I HN: mai (@maimyyym ) 株式会社Fusic 2023年10月入社 事業本部 クラウドエンジニアリング部門 チームリーダー / エンジニア ◉ Work - AWSを基盤とするシステムの開発・運用、技術提案 AWSパートナープログラム関連業務 ◉ Skill - AWS / Python / TypeScript / PHP(Laravel) Interested in: Security, Identity & Compliance ◉ Hobby 2026 Japan All AWS Certifications Engineers 2026 Japan AWS Top Engineers 野球観戦、舞台観劇 ◉ Comment - AWS re:Invent 2026 参加します! ©Fusic Co., Ltd. 1
  2. わたしたちの運用 システムのアーキテクチャ紹介 ▪ プライベートAPI Gateway → Lambda → OpenSearchがAPIの基本構成 ▪

    OpenSearchにデータを格納する機構もサーバーレスで構築 ▪ サーバーレスだが、考える範囲は非常に多い ©Fusic Co., Ltd. 4
  3. AWS Lambdaのコスト=メモリ最適化 メモリ使用量の測り方 01 追加設定なし 02 拡張機能を追加 REPORT RequestId: xxxxxxxx-xxxx-xxxxxxxx-xxxxxxxxxxx

    Duration: 14.69 ms Billed Duration: 15 ms Memory Size: 1024 MB Max Memory Used: 103 MB CloudWatch Logs の REPORT 行を見る 実行ごとに出力される REPORT 行の Max Memory Used を確認し、CloudWatch Logs Insights で集計する CloudWatch Lambda Insights を有効にする 拡張機能を追加すると、メモリ使用率や CPU 時間など のメトリクスをダッシュボードで確認できる ©Fusic Co., Ltd. 15
  4. AWS Lambdaのコスト=メモリ最適化 メモリ使用量の測り方 01 追加設定なし 02 拡張機能を追加 REPORT RequestId: xxxxxxxx-xxxx-xxxxxxxx-xxxxxxxxxxx

    Duration: 14.69 ms Billed Duration: 15 ms Memory Size: 1024 MB Max Memory Used: 103 MB CloudWatch Logs の REPORT 行を見る 実行ごとに出力される REPORT 行の Max Memory Used を確認し、CloudWatch Logs Insights で集計する CloudWatch Lambda Insights を有効にする 拡張機能を追加すると、メモリ使用率や CPU 時間など のメトリクスをダッシュボードで確認できる ©Fusic Co., Ltd. 16
  5. AWS Lambdaのコスト=メモリ最適化 メモリ使用量の測り方 01 追加設定なし 02 拡張機能を追加 REPORT RequestId: xxxxxxxx-xxxx-xxxxxxxx-xxxxxxxxxxx

    Duration: 14.69 ms Billed Duration: 15 ms Memory Size: 1024 MB Max Memory Used: 103 MB CloudWatch Logs の REPORT 行を見る 実行ごとに出力される REPORT 行の Max Memory Used を確認し、CloudWatch Logs Insights で集計する CloudWatch Lambda Insights を有効にする 拡張機能を追加すると、メモリ使用率や CPU 時間など のメトリクスをダッシュボードで確認できる Kiro CLIでLogs Insightsの集計を サクッとできる! ※従量課金に注意 ©Fusic Co., Ltd. 17
  6. AWS Lambdaのメモリ“最適値”を測る メモリ最適値を可視化するツール メモリ設定を総当たりで実測して、最適値を可視化してくれる AWS 公式のツール AWS Lambda Power Tuning

    https://github.com/alexcasalboni/aws-lambda-power-tuning Step Functionsのステートマシンとして 動き、各メモリ設定を並列に実行 ©Fusic Co., Ltd. 27
  7. 「事実」を「計測」して「解釈」する 「事実」と「解釈」は違う 「事実」 • 10240MBのLambdaの メモリ使用量が100MB程度である • メモリを下げると 処理速度が落ちる(こともある) ニーズ

    処理速度とコスト、 どちらも大事だから 最適解を見つけたい というニーズ 計測して 解釈 そのために、 「事実」を「計測」して 「解釈」する • 処理速度とコストの バランスが良いメモリ設定がある ©Fusic Co., Ltd. 32
  8. 「事実」を「計測」して「解釈」する 今回の事例を「事実・ニーズ・計測・解釈」で整理する 事実 1回目 メモリ使用量 だけで判断 2回目 Power Tuning で実測

    割り当て10240MB 実使用量110MB程度 メモリを下げると 処理速度が落ちる ことがある ニーズ 計測 解釈 Lambdaの コストを下げたい REPORT行の Max Memory Usedを CloudWatch Logs Insightsで集計 余裕を見て 256MBで十分 → Durationが悪化 処理速度とコストを 両立したい AWS Lambda Power Tuningで 各メモリ設定を 並列に実測 実行時間が短く コストも最適なのは 512〜1024MB ©Fusic Co., Ltd. 33