Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
劇的改善?? VPC Lambda Before&After
Search
TomoyaIwata
October 26, 2019
Technology
3.9k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
劇的改善?? VPC Lambda Before&After
2019/10/26に開催されたDevelopers.IO 2019 Fukuokaで発表させて頂いた際の資料です
TomoyaIwata
October 26, 2019
More Decks by TomoyaIwata
See All by TomoyaIwata
CIで使うClaude
iwatatomoya
0
490
Lambdaの常識はどう変わる?!re:Invent 2025 before after
iwatatomoya
1
1.3k
Aurora DSQLはサーバーレスアーキテクチャの常識を変えるのか
iwatatomoya
1
2.6k
これでLambdaが不要に?!Step FunctionsのJSONata対応について
iwatatomoya
2
6.7k
Qdrantでベクトルデータベースに入門してみよう
iwatatomoya
0
3.1k
詳解 AWS Lambdaコールドスタート
iwatatomoya
2
3.5k
真のサーバーレスへ向けたAuroraの進化Aurora Limitless Database
iwatatomoya
1
5.1k
AWS SDKのClientはFactory経由で作ろう
iwatatomoya
1
1.1k
OpentelemetryでアプリケーションのObservabilityを強化しよう
iwatatomoya
0
1.4k
Other Decks in Technology
See All in Technology
「ピッケル本」日本語版は4.0(第6版)が出版されるべき / pickaxe4-nagoyark05
kakutani
2
270
AIは推し活である。
kurazuuuuuu
1
940
AIで社員の自主発信に広報目線を組み込む
_mossann_t
0
140
aws-iot-platform-architecture-use-cases.pdf
ma2shita
0
500
あけおめLINE 傾向とその対策
nasa9084
0
240
Claude in Chrome 入門 / Introduction to Claude in Chrome
cielo1985
0
880
AIエージェントの権限管理 3: Agentic RAG の Fine grained access control 編
ren8k
0
190
[Kiro Meetup #7] Kiro Crew Dive Deep
konippi
0
170
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
4
3.6k
Making AI Agents Safe and Fast- Jev, Obsidian, and the Meta-Harness
x5gtrn
PRO
0
110
登壇の自信を奪う3匹のオバケ / 3 Ghosts That Rob You of Your Confidence in Public Speaking
pauli
9
1.1k
バイブコーディング時代のWebアプリ開発入門~Cloud Runで学ぶセキュアなビルドとデプロイ
waiwai2111
1
140
Featured
See All Featured
Amusing Abliteration
ianozsvald
1
310
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
250
sira's awesome portfolio website redesign presentation
elsirapls
0
420
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
500
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
680
Test your architecture with Archunit
thirion
2
2.4k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
330
ラッコキーワード サービス紹介資料
rakko
1
5M
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Transcript
劇的改善︖︖ VPC Lambda Before&After CX事業本部 岩⽥ 智哉
スライドは後で⼊⼿することが出来ますので 発表中の内容をメモする必要はありません。 写真撮影をする場合は フラッシュ・シャッター⾳が出ないようにご配慮ください Attention
3 ⾃⼰紹介 lクラスメソッド株式会社 lサーバーレス開発部 改め CX事業本部 l⼤阪オフィス所属 l好きなAWSサービス: AWS Lambda
岩⽥ 智哉
4 今⽇話したいこと アンチパターンとされていた VPC Lambdaの懸念事項が どのように改善されたのか︖︖
5 想定しているターゲット • AWS Lambdaの基礎的な知識を持っている⼈ • サーバーレスなシステムの開発/運⽤をやってる⼈ • VPC Lambdaの利⽤を検討している⼈
6 アジェンダ • AWS Lambdaのアーキテクチャおさらい 5分 • VPC Lambdaのアーキテクチャ(新) •
VPC Lambdaのアーキテクチャ(旧) • 改善効果について 6分 4分 6分 • どのように考え⽅を変えるべきなのか • まとめ 5分 2分
7 アジェンダ • AWS Lambdaのアーキテクチャおさらい 5分 • VPC Lambdaのアーキテクチャ(新) •
VPC Lambdaのアーキテクチャ(旧) • 改善効果について 6分 4分 6分 • どのように考え⽅を変えるべきなのか • まとめ 5分 2分
8 Lambdaのアーキテクチャについて 無駄なコスト ※Security Overview of AWS Lambda(https://d1.awsstatic.com/whitepapers/Overview-AWS-Lambda-Security.pdf)より引⽤ cgroups namespaces
seccomp iptables chroot
9 Lambdaのアーキテクチャについて(EC2モデル) 無駄なコスト • 1つのMicroVM上に複数のLambda実 ⾏環境を作成 • AWSアカウントをまたいでWorkerは 共有されない ※Security
Overview of AWS Lambda(https://d1.awsstatic.com/whitepapers/Overview-AWS-Lambda-Security.pdf)より引⽤
10 Lambdaのアーキテクチャについて(Firecrackerモデル) • 1つのMicroVM上には1つのLambda実 ⾏環境しか作成しない • AWSアカウントをまたいでWorkerを 共有する ※Security Overview
of AWS Lambda(https://d1.awsstatic.com/whitepapers/Overview-AWS-Lambda-Security.pdf)より引⽤
11 アジェンダ • AWS Lambdaのアーキテクチャおさらい 5分 • VPC Lambdaのアーキテクチャ(新) •
VPC Lambdaのアーキテクチャ(旧) • 改善効果について 6分 4分 6分 • どのように考え⽅を変えるべきなのか • まとめ 5分 2分
12 VPC Lambdaのアーキテクチャ (旧) ENIキャパシティの計算式: Projected peak concurrent executions *
(Memory in GB / 3GB) ※Announcing improved VPC networking for AWS Lambda functions (https://aws.amazon.com/jp/blogs/compute/announcing-improved-vpc-networking-for-aws-lambda-functions/)より引⽤
13 VPC Lambdaのアーキテクチャ (旧) ※A Serverless Journey: AWS Lambda Under
the Hood (SRV409-R1) - AWS re:Invent 2018 (https://www.slideshare.net/AmazonWebServices/a-serverless-journey-aws-lambda-under-the-hood-srv409r1-aws-reinvent- 2018?ref=https://dev.classmethod.jp/cloud/aws/reinvent2018-srv409/)より引⽤
14 VPC Lambdaの課題 • ENIの枯渇問題 • ENI作成のRate Limit • IPアドレス枯渇問題
• ENI作成を伴うコールドスタート時の遅延 • インターネットアクセスにNAT Gatewayが必要
15 VPC LambdaからRDB(S)を利⽤する際の課題 • 同時接続数の問題 • コネクションプーリングが使えない • RDBはスケールアウトではなくスケールアップ •
コスト最適化の課題
16 RDB(S)を使う場合のコストと同時接続数の関係 • 最⼤同時接続数を上げるにはインスタンスタイプを変える必要がある • 柔軟にスケールアップできない • コストを最適化できない 処理可能な最⼤同時接続数とコスト 実際の接続数
インスタンスタイプ変更 インスタンスタイプ変更
17 VPC Lambdaは⼀般的に アンチパターンと されていた 旧来の考え⽅
18 アジェンダ • AWS Lambdaのアーキテクチャおさらい 5分 • VPC Lambdaのアーキテクチャ(新) •
VPC Lambdaのアーキテクチャ(旧) • 改善効果について 6分 4分 6分 • どのように考え⽅を変えるべきなのか • まとめ 5分 2分
19 VPC Lambdaのアーキテクチャ (新) ※Announcing improved VPC networking for AWS
Lambda functions (https://aws.amazon.com/jp/blogs/compute/announcing-improved-vpc-networking-for-aws-lambda-functions/)より引⽤
20 VPC Lambdaのアーキテクチャ (新) ※A Serverless Journey: AWS Lambda Under
the Hood (SRV409-R1) - AWS re:Invent 2018 (https://www.slideshare.net/AmazonWebServices/a-serverless-journey-aws-lambda-under-the-hood-srv409r1-aws-reinvent- 2018?ref=https://dev.classmethod.jp/cloud/aws/reinvent2018-srv409/)より引⽤
21 Hyperplane • AWS内部で利⽤されているSDNの技術 • S3 Load Balancerがベース • EFS、NLB、Private
Link、Managed NATで利⽤ • デフォルト5Gbit/secの性能Tbitレベルまでスケール • msレベルのレイテンシー
22 新アーキテククチャへの移⾏開始 • 2019/9/3 AWSより新アーキテクチャへの段階移⾏開始の アナウンス • 2019/9/27 オハイオ、フランクフルト、東京への適⽤ 完了のアナウンス
23 • AWS Lambdaのアーキテクチャおさらい 5分 • VPC Lambdaのアーキテクチャ(新) • VPC
Lambdaのアーキテクチャ(旧) • 改善効果について 6分 4分 6分 • どのように考え⽅を変えるべきなのか • まとめ 5分 2分
Public subnet 24 検証1 AWS Cloud VPC • API GatewayのバックにVPC
Lambdaを紐付け • EC2からheyコマンドで並列アクセス
25 2019/5/29時点の実⾏結果 Summary: Total: 13.4614 secs Slowest: 13.0460 secs Fastest:
0.0194 secs Average: 1.2528 secs Requests/sec: 37.1433 Total data: 2500 bytes Size/request: 5 bytes Response time histogram: 0.019 [1] | 1.322 [448] |▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪ 2.625 [1] | 3.927 [0] | 5.230 [0] | 6.533 [0] | 7.835 [0] | 9.138 [0] | 10.441 [4] | 11.743 [9] |▪ 13.046 [37] |▪▪▪
26 2019/10/20時点の実⾏結果 Summary: Total: 1.3694 secs Slowest: 0.5470 secs Fastest:
0.0225 secs Average: 0.0970 secs Requests/sec: 365.1342 Total data: 2500 bytes Size/request: 5 bytes Response time histogram: 0.023 [1] | 0.075 [411] |▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪ 0.127 [25] |▪▪ 0.180 [1] | 0.232 [0] | 0.285 [0] | 0.337 [0] | 0.390 [9] |▪ 0.442 [7] |▪ 0.495 [33] |▪▪▪ 0.547 [13] |▪
27 もうちょっと イジメてみる
28 検証2 ENI1が追加作成されたりしない︖︖ • Lambdaの実⾏がすぐに完了しないように2秒 のSleepを追加 • heyの並列数を500に引き上げ
29 検証2の結果 Summary: Total: 21.8108 secs Slowest: 3.4042 secs Fastest:
2.0223 secs Average: 2.1532 secs Requests/sec: 458.4892 Total data: 50000 bytes Size/request: 5 bytes Response time histogram: 2.022 [1] | 2.160 [8998] |▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪ 2.299 [1] | 2.437 [0] | 2.575 [0] | 2.713 [0] | 2.851 [0] | 2.990 [0] | 3.128 [113] |▪ 3.266 [844] |▪▪▪▪ 3.404 [43] |
30 検証2実⾏後のENIの状況 VPC Lambda⽤のENIは1つのまま変わらず
31 さらにイジメてみる
Public subnet 32 検証3 AWS Cloud VPC master slave
33 検証3 • FargateでLocustのクラスタを作成し、API GW経由で VPC Lambdaに⼤量アクセス • Lambdaは3秒Sleep後にレスポンスを返却 •
Usersは1,100に設定 • Hatch rateは100に設定 • 同時実⾏数の上限に達するようなワークロード
34 検証3 スロットリングが頻発するような状況でも ⼤きな待ちは発⽣せず
35 検証3 実⾏時のLambda同時起動数
36 検証3 実⾏時のスロットリング状況
37 検証結果から.... • Lambdaの同時実⾏数が増えてもENIの追加作成が ⾛ることは無さそう • ⼤量のデータ転送を伴うLambdaだと懸念がある︖︖要検証 • Lambdaのペイロードサイズ上限を考えると⼤丈夫︖︖ •
⾮VPC Lambdaと同等レベルの耐久性がありそう
38 • AWS Lambdaのアーキテクチャおさらい 5分 • VPC Lambdaのアーキテクチャ(新) • VPC
Lambdaのアーキテクチャ(旧) • 改善効果について 6分 4分 6分 • どのように考え⽅を変えるべきなのか • まとめ 5分 2分
39 VPC Lambdaの課題(再掲) • ENIの枯渇問題 • ENI作成のRate Limit • IPアドレス枯渇問題
• ENI作成を伴うコールドスタート時の遅延 • インターネットアクセスにNAT Gatewayが必要
40 VPC LambdaからRDB(S)を利⽤する際の課題(再掲) • 同時接続数の問題 • コネクションプーリングが使えない • RDBはスケールアウトではなくスケールアップ •
コスト最適化の課題
41 新アーキテクチャでの考え⽅ • ENI周りの懸念事項は解消された • 新アーキテクチャでも課題は残る • 何でもかんでもVPC Lambdaを使っても⼤丈夫という訳で はない
• あくまでリスク受容できる範囲が広がっただけ
42 VPC Lambdaを使っても良さそうなユースケース • コールドスタートによる10秒~20秒数100ミリ秒~数秒程度の遅 延が許容できるワークロード • 利⽤予定のVPCリソースが想定される最⼤アクセス数を問題な く処理可能なワークロード 例えば、、、
アクセス数が安定しており、数秒程度のレイテンシが許 容できるB2Bサービスのバックエンドなど
43 その他 考慮しておきたいこと • VPC Lambdaを使う ≒ 何かしらのサービスを利⽤するためのラ イブラリが必要 •
パッケージやLayerが肥⼤化しがち 当然コールドスタートは遅い • アプリケーションフレームワークは使う︖それとも使わない︖ • モノリシックなアプリケーションをVPC Lamdbaに乗せ替えよう としていないか︖︖
44 • AWS Lambdaのアーキテクチャおさらい 5分 • VPC Lambdaのアーキテクチャ(新) • VPC
Lambdaのアーキテクチャ(旧) • 改善効果について 6分 4分 6分 • どのように考え⽅を変えるべきなのか • まとめ 5分 2分
45 まとめ • VPC Lambdaのアーキテクチャは様々な課題を抱えていた • そのうちいくつかの課題は改善された • いくつかの課題は継続して残り続けている •
VPC Lambdaを採⽤しても問題ないケースは増えた
46 適切なアーキテクチャを 選定できるように 常に知識のアップデートを まとめ
47 ご清聴ありがとうございました
None