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
180
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
今こそ聞きたいソフトウェア設計 ドメイン駆動設計再入門
masuda220
PRO
17
6.2k
モダンフロントエンド 開発研修
recruitengineers
PRO
2
420
Invisible to AI? Making TYPO3 Sites Quotable by AI Search Systems
wolfgangwagner
0
130
AIがコードを書く時代、人間は何を保証するのか———馬場さんと考える、開発者に求められる新しい責任と価値 - TECH PLAY
netmarkjp
0
1.3k
初めてのGitHub Actions / GitHub Actions at First
tooppoo
0
140
Flutterをカメラで動かしたかった話
sony
1
120
Goでデータパイプラインを作ろう
sansantech
PRO
0
310
個人OSSが、机の上から世界に広がるまでの話
shinyasaita
1
350
もう一度考える SRE チームの作り方・育て方 / Rethinking SRE #1: Building and Growing SRE Teams
rrreeeyyy
6
1k
PLaMo 3.0 Primeの構造化出力サポート
pfn
PRO
0
190
メルカリのグローバルアプリで挑んだ AlloyDB 運用と課題解決の実践記
hatappi
0
230
AI時代の強いチームの作り方
yuukiyo
25
16k
Featured
See All Featured
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
430
Music & Morning Musume
bryan
47
7.3k
Embracing the Ebb and Flow
colly
88
5.1k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
420
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
520
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.7k
How GitHub (no longer) Works
holman
316
150k
The World Runs on Bad Software
bkeepers
PRO
72
12k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
710
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
770
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
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
ご清聴ありがとうございました