Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
副作用のある Lambda でも Lambda Power Tuning は使えるのか / l...
Search
koukihosaka
July 22, 2026
Technology
200
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
副作用のある Lambda でも Lambda Power Tuning は使えるのか / lambda-power-tuning-side-effects
JAWS-UG 茨城 #15 Japan AWS Jr.Champion & TopE LT大会 登壇資料です。
koukihosaka
July 22, 2026
Other Decks in Technology
See All in Technology
猫付きpingコマンドを自作
uyuki234
0
300
MulticaとPi Coding Agentで、小規模OSSを30本同時運用した流れ
eiei114
0
140
作って理解するCoding Agent 〜フレームワークに頼らないピュア Python での実装〜
takapy
3
1.1k
ハッカソンで入賞した話 @ Findy LT
asari194617
0
1.5k
同じWAFが、攻撃の“形”は弾く── 正当な“形”の不正は通す
kuroneko13
0
270
AIに持続⼒を与える 判断の⻑期記憶設計
eiei114
1
680
Rust×eBPFでEDRっぽいものをつくる
sunlife3
2
900
【GCC2026】大規模言語モデルを活用した内製検索サービスの社内展開や業務活用
bandainamcostudios
PRO
0
520
暗号化?某ファイルストレージはどうなるの!? 3rd Partyとうまく付き合う秘密度ラベル設計
kasada
0
170
Sets in Go
ramalho
1
1.2k
コーチングの奥義 何もしないテクニック
jinwatanabe
0
160
VLMで2.3万枚のPyCon JP写真を検索!
terapyon
1
420
Featured
See All Featured
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Building Applications with DynamoDB
mza
96
7.2k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
Darren the Foodie - Storyboard
khoart
PRO
3
3.7k
Site-Speed That Sticks
csswizardry
13
1.5k
AI: The stuff that nobody shows you
jnunemaker
PRO
9
940
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
420
Design in an AI World
tapps
1
290
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Transcript
2026年7月22日 JAWS-UG 茨城 #15 Japan AWS Jr.Champion & TopE LT大会
保坂 光希
自己紹介 保坂 光希 NTT ME株式会社(NTT東日本グループ) ハマっているサービス: Lambda Durable Functions 表彰など:
2026 AWS Community Builders (Serverless) 2026 Japan AWS Top Engineers (Services) 2025 - 2026 Japan All AWS Certifications Engineers ほうき星 𝕏 @H0ukiStar 2 / 20
本日の資料など • Speaker Deck: https://speakerdeck.com/koukihosaka/lambda-power-tuning-side-effects • Qiita: https://qiita.com/h0uk1st4r/items/52a9238f3a275ee8f09c 3 /
20
みなさん、AWS Summit で学びはありましたか?
特に学びの多かったセッション おにぎり月 40 個から 32 万個へ — ビジネスの成⾧痛を和らげるサーバーレスアーキテクチャの育て方 公式資料:https://pages.awscloud.com/rs/112-TZM-766/images/R04_0626_CNS347_v3.pdf 5
/ 20
本日のテーマ 副作用のある Lambda でも Lambda Power Tuning は使 えるのか 6
/ 20
結論: 使えます ただし、前処理・後処理で 副作用を制御する必要があります • 同じレコードを何度も処理しない • 実行ごとにユニークなテストデータを用意する • 後処理でテストデータを片付ける
7 / 20
Lambda Power Tuning とは Lambda 関数のメモリ割り当てに関する特徴 • Lambda 関数に割り当てるメモリ量に応じて、CPU パワーも比例し増える
• CPU パワーが増えると、処理内容によっては実行時間が減少する • Lambda 関数の課金はざっくりメモリ割り当て量×実行時間 Lambda Power Tuning が行ってくれること • 指定した Lambda 関数で、複数のメモリ割り当て設定を試し実行時間を計測 • 試したメモリ割り当て設定の中で、コスト最適(メモリ割り当て量×実行時間)と なる設定値をレコメンド • 各メモリ割り当て設定ごとに指定した回数実行(推奨10~100回)し平均値を算出 8 / 20
Lambda Power Tuning のデプロイ SAR から Deploy ボタンを3回クリックするだけ! https://serverlessrepo.aws.amazon.com/applications/arn:aws:serverlessrep o:us-east-1:451282441545:applications~aws-lambda-power-tuning
パラメータカスタマイズ欄 省略 9 / 20
早速コスト最適化をしてみる 最適化対象の Lambda • IoT センサから1分ごとに送られてきた計測値(生値)を 1時間のタイムウィンドウごとの平均値にする処理 • Zabbix触ったことある人なら History
→ Trend への変換処理相当 • データ取得、保存先は DynamoDB Lambda Power Tuning の開始方法 • 作成されたステートマシンに以下を入力して実行 { "lambdaARN": "your-lambda-function-arn", "powerValues": [128, 256, 512, 1024], "num": 50, "payload": {} } # 最適化を実施する Lambda 関数のARN # 試行するメモリ設定 # メモリ設定ごとの試行回数 # 最適化を実施する Lambda 関数に渡す ペイロード 10 / 20
このまま実行してはいけません
副作用のある Lambda 関数での注意点 Lambda Power Tuning のチューニング方法 • 各メモリ割り当て設定間は並列、同一メモリ設定内では指定した回数直列で チューニング対象の
Lambda 関数を実行し、実行結果からコスト最適なメモリ割 り当て設定を探し出す チューニング 開始 メモリ:128MB 1回目 メモリ:128MB 2回目 ・・・ メモリ:128MB 10回目 メモリ:256MB 1回目 メモリ:256MB 2回目 ・・・ メモリ:256MB 10回目 ・・・ メモリ:1024MB 10回目 ・ ・ ・ メモリ:1024MB 1回目 メモリ:1024MB 2回目 チューニング 終了 12 / 20
副作用のある Lambda 関数での注意点 そのまま実行すると副作用が問題になる • チューニング対象の Lambda 関数は複数回・並列的に繰り返し実行される • DB
更新・削除などがあると、各実行が互いに影響し、計測条件がそろわない 並列実行(複数回) DB 実行A 実行B 実行C 処理対象のレコードが 既にあります / ありません レコードA ・・・ レコードB ・・・ レコードC ・・・ ・・・ ・・・ 13 / 20
副作用のある Lambda 関数での注意点 そのまま実行すると副作用が問題になる • チューニング対象の Lambda 関数は複数回・並列的に繰り返し実行される • DB
更新・削除などがあると、各実行が互いに影響し、計測条件がそろわない 並列実行(複数回) DB 実行A 実行B 実行C 各実行を独立させる レコードA ・・・ レコードB ・・・ レコードC ・・・ ・・・ ・・・ 14 / 20
どうすればいいのか 各実行の前後で、テストデータを準備・削除する • チューニング対象の Lambda 関数の実行前後で、DB に対しユニークなテストレ コードの準備やお片付けを実施する チューニング 開始
前 128MB 1回目 後 前 128MB 2回目 後 ・・・ 前 128MB 10回目 後 前 256MB 1回目 後 前 256MB 2回目 後 ・・・ 前 256MB 10回目 後 1024MB 後 2回目 ・・・ 前 1024MB 後 10回目 ・ ・ ・ 前 1024MB 後 1回目 前 チューニング 終了 15 / 20
どうすればいいのか 前・後処理を指定し各実行ごとに DB 内のデータ準備・削除を行う • ステートマシンへ preProcessorARN / postProcessorARNとして 前処理・後処理を行う
Lambda 関数を指定可能 { "lambdaARN": "your-lambda-function-arn", "powerValues": [128, 256, 512, 1024], "num": 50, "payload": {}, "preProcessorARN": "pre-process-lambda-function-arn", "postProcessorARN": "post-process-lambda-function-arn" } # 前処理を行う Lambda 関数のARN # 後処理を行う Lambda 関数のARN 注意:前処理の出力が、チューニング対象 Lambda の入力になる • チューニング対象の Lambda 関数がペイロードを受け取る必要がある場合、前処 理で出力する必要がある payloadの流れ: [payload = execute Pre-processor (payload)] results = execute Main Function (payload) [execute Post-processor (results)] 16 / 20
気を取り直して…
Lambda Power Tuning の結果 コスト最適なメモリ割り当て設定をグラフィカルに確認可能 • ステートマシンの出力「visualization」に記載されたURLを開くと各メモリごとの 実行時間とコスト最適なメモリ設定を確認可能 コスト最適化は、勘ではなく実測で判断する •
元々 128MB で動かしていたが、512MB がコスト最適だと判明 18 / 20
まとめ Lambda Power Tuning は複数のメモリ割り当て設定 を自動で試しコスト最適なメモリを確認可能 preProcessorARN / postProcessorARN で
前処理・後処理を指定することで 副作用のある Lambda 関数でも安全に利用可能 19 / 20
ご清聴ありがとうございました