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
AWSの基礎を学ぼう 特別編 最新サービスをみんなで触ってみる LambdaとRDS Prox...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kenichiro Wada
October 02, 2021
Technology
1.4k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWSの基礎を学ぼう 特別編 最新サービスをみんなで触ってみる LambdaとRDS Proxy RDS Proxy を試してみてた/awsbasics-rds-proxy
2021.10.02
AWSの基礎を学ぼう 特別編
」最新サービスをみんなで触ってみる LambdaとRDS Proxy」のLT発表資料です。
Kenichiro Wada
October 02, 2021
More Decks by Kenichiro Wada
See All by Kenichiro Wada
[未発表]GPS + Beacon Edge Unit SORACOM Editionを試す 〜開封編〜 LT Version /discovery-night-2026
kwada
0
35
楽しく学ぼう!サーバーレス入門 /jawsdays2026
kwada
0
140
JAWS-UGとLambdaに感謝を込めて~ AWS と共に歩んだX年 ~/kmj-20260117
kwada
1
96
My First Impression Of Kiro / 20250801-kumoben-lt
kwada
0
150
(全日本人)待望のS3トリガーのLambda無限ループ対応について / chibaraki-1
kwada
0
220
AWS Lambdaに出会って人生が変わった1人の10年間 /awslambda10th
kwada
0
150
GPSデバイスを使った簡易位置案内システムの構築をしてみた話。/jawsfesta2024
kwada
0
1.3k
とある航空会社の飛行機の乗り方をお教えします。/20240913-lt
kwada
3
440
Building a Simple Navigation Guide Service Using GPS Devices/jaws-pankration2024
kwada
0
220
Other Decks in Technology
See All in Technology
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
250
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
4
1.4k
USB PDを使ってスマホを労わりたい
raspython3
0
180
[JAWS-UG彩の国埼玉#12]そろそろ準備する?re:Invent2026をやさしく解説 / reinvent2026-sainokuni
sh_fk2
1
340
触りたくないデータに、どう触るか AI時代のRBACアクセスガバナンス
ivry_presentationmaterials
0
260
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
580
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
570
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
940
大型犬好きによるPugの紹介
yamanoku
1
160
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
1
190
Featured
See All Featured
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
The SEO identity crisis: Don't let AI make you average
varn
0
590
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
What's in a price? How to price your products and services
michaelherold
247
13k
Into the Great Unknown - MozCon
thekraken
41
2.8k
Transcript
3%41SPYZ Λࢼͯ͠Έͯͨ BXTCBTJDT KBXTVHDIJCB 2021.10.02 AWSの基礎を学ぼう 特別編 最新サービスをみんなで触ってみる LambdaとRDS Proxy
和⽥健⼀郎@Keni_W
⾃⼰紹介 ⽒名:和⽥ 健⼀郎 所属:アイレット株式会社 エンジニア JAWS-UG 千葉 運営メンバー SORACOM UG東京
運営メンバー Twitter: @Keni_W Facebook : kenichiro.wada.3 好きなAWSサービス : AWS Lambda 2021 APN AWS Top Engineers 昨年、共著でサーバーレスの本書きました
͓ͼ "84ͷجૅΛֶ΅͏ ಛผฤ BXTCBTJDT KBXTVHDIJCB こちらの内容は、 2020年8⽉27⽇にあった JAWS UG千葉⽀部勉強会 Online
#6 のLTで話した内容にちょっと加筆したものです。
71$-BNCEBͱ "84ͷجૅΛֶ΅͏ ಛผฤ BXTCBTJDT KBXTVHDIJCB • VPC内リソースにアクセスするためのLambda 関数のこと • ⼀番多いであろう(多分)⽤途はLambdaの
データストアとして、RDBMS(RDS)を使う ケース • エンプラ⽤途では今なおよくあるケースでは
71$-BNCEBͱ "84ͷجૅΛֶ΅͏ ಛผฤ BXTCBTJDT KBXTVHDIJCB 今の会社⼊って、 最初に担当した案件、 VPC Lambda +
RDS(Aurora)案件でした。 (2016年、Node.js v4.3時代)
71$-BNCEBͱ "84ͷجૅΛֶ΅͏ ಛผฤ BXTCBTJDT KBXTVHDIJCB こんな感じの構成図(ざっくり)
71$-BNCEBͱ "84ͷجૅΛֶ΅͏ ಛผฤ BXTCBTJDT KBXTVHDIJCB (その当時の) VPC Lambdaの問題点 • ENI作成問題(いわゆるコールドスタンバイ問題)
• DBコネクション問題 しかし、2019年のアップデートで、 この辺が全部解消されました
71$-BNCEBͱ "84ͷجૅΛֶ΅͏ ಛผฤ BXTCBTJDT KBXTVHDIJCB 2019年にあったアップデートは、以下 1. ENI作成タイミングの変更 2. Provisioned
Concurrency 3. RDS Proxy(厳密にはLambdaのアップデートではない) この辺の詳細は、AWSJ下川さんが作成された 「Serverless Services Update at AWS re:Invent 2019 」という資料をご覧いただくといいかなと 思います。 https://speakerdeck.com/_kensh/serverless-services-update-at-aws-re-invent-2019
3%41SPYZݕূͯ͠Έͨ "84ͷجૅΛֶ΅͏ ಛผฤ BXTCBTJDT KBXTVHDIJCB 2019年のアップデートと書きましたが、 RDS Proxyは、Previewとして使えていて、 GAになったのは、2020年7⽉1⽇のことでした。
3%41SPYZݕূͯ͠Έͨ "84ͷجૅΛֶ΅͏ ಛผฤ BXTCBTJDT KBXTVHDIJCB ちょうど、最終稿のチェックをしているあたりで して、本の中でも、無論RDS Proxyについても、 触れているんですが・・・。 執筆中は、Previewでしたので、変わる可能性が
ありますというっていう案内を書いてあったんで すが・・・。
3%41SPYZݕূͯ͠Έͨ "84ͷجૅΛֶ΅͏ ಛผฤ BXTCBTJDT KBXTVHDIJCB 消しましたね。 そして、 GAされましたという記載を追加したという 思い出があるRDS Proxyです。
3%41SPYZݕূͯ͠Έͨ "84ͷجૅΛֶ΅͏ ಛผฤ BXTCBTJDT KBXTVHDIJCB さらに謝っておきますと、 このやってみたの元ネタは、 2020年7⽉28⽇に開催された AWSJさんのイベント、 「RDS+Lambda
が始まる。 過去のアンチパターンはどう変わるのか」 であった、AWSJ福井さんのDEMOになります
3%41SPYZݕূͯ͠Έͨ "84ͷجૅΛֶ΅͏ ಛผฤ BXTCBTJDT KBXTVHDIJCB 構成 RDS Proxyなし RDS Proxyあり
3%41SPYZݕূͯ͠Έͨ "84ͷجૅΛֶ΅͏ ಛผฤ BXTCBTJDT KBXTVHDIJCB テスト条件 • 処理件数は500件と1000件で実施 • SQSへのメッセージ送信は10件毎に5秒Waitしながら実施
• なるべくLambdaの起動数を増やしたいので • SQSは3回リトライ失敗するとDLQ⾏き • RDS(Aurora)のmax_connectionsは100に設定 • Auroraだったので、もともと45だった(汗) • RDS Proxyは50%の接続を設定 • SQSトリガーのLambdaはDBコネクション接続後、90秒 SleepしてからデータInsert
3%41SPYZݕূͯ͠Έͨ "84ͷجૅΛֶ΅͏ ಛผฤ BXTCBTJDT KBXTVHDIJCB • 500件のケース
3%41SPYZݕূͯ͠Έͨ "84ͷجૅΛֶ΅͏ ಛผฤ BXTCBTJDT KBXTVHDIJCB • 500件のケース
3%41SPYZݕূͯ͠Έͨ "84ͷجૅΛֶ΅͏ ಛผฤ BXTCBTJDT KBXTVHDIJCB • 1000件のケース
3%41SPYZݕূͯ͠Έͨ "84ͷجૅΛֶ΅͏ ಛผฤ BXTCBTJDT KBXTVHDIJCB • 1000件のケース
·ͱΊ "84ͷجૅΛֶ΅͏ ಛผฤ BXTCBTJDT KBXTVHDIJCB • RDS Proxy 想像以上にすごい •
意図的にコネクションが溜まるようなロジックにしたけど、 ちゃんとエラーなく処理される • しかも、単純にRDS Proxyに接続先を変えただけ • ピン留めという事象もあるらしいので、利⽤の際は注意必要 • RDS Proxy⾃体は別にLambda専⽤ではないので、活⽤でき るケースは多そう • お⾦かかるので、ご利⽤は計画的に
·ͱΊ "84ͷجૅΛֶ΅͏ ಛผฤ BXTCBTJDT KBXTVHDIJCB • Aurora(MySQL)でやってしまったが、⾮AuroraのMySQL でも試した⽅が良かったかもしれないのは反省 • SQSトリガーって、EventのRecordsオブジェクト内に複数
メッセージを格納していることを失念(知らなかった)して いた。 • SQSトリガーの復習にもなったので今回よかった(SQSト リガー絶賛活⽤中です) • VPC Lambda⾃体は、使いやすくなったので、VPC内のリ ソースアクセス以外にも、別APIを叩く際のIP固定にも活⽤ できるケースもありそう
͓ΘΓ "84ͷجૅΛֶ΅͏ ಛผฤ BXTCBTJDT KBXTVHDIJCB ご静聴ありがとうございました