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
GAされたRDS Proxy を試してみた /jawsug-chiba6
Search
Kenichiro Wada
August 27, 2020
Technology
0
410
GAされたRDS Proxy を試してみた /jawsug-chiba6
2020.08.27 JAWS-UG 千葉 オンライン #6 LT資料です。
Kenichiro Wada
August 27, 2020
Tweet
Share
More Decks by Kenichiro Wada
See All by Kenichiro Wada
My First Impression Of Kiro / 20250801-kumoben-lt
kwada
0
85
(全日本人)待望のS3トリガーのLambda無限ループ対応について / chibaraki-1
kwada
0
160
AWS Lambdaに出会って人生が変わった1人の10年間 /awslambda10th
kwada
0
110
GPSデバイスを使った簡易位置案内システムの構築をしてみた話。/jawsfesta2024
kwada
0
880
とある航空会社の飛行機の乗り方をお教えします。/20240913-lt
kwada
3
330
Building a Simple Navigation Guide Service Using GPS Devices/jaws-pankration2024
kwada
0
130
IaCジェネレーターを使って、昔に作ったLambda関数をCDK管理下においてみた / jaws-ug-josys-30
kwada
0
150
SORACOM UG Explorer 2023ハンズオンの裏側サービスを紹介 / soracom-ug-online-17
kwada
0
340
(2023.08.17 Update)Detecting and stopping recursive loops in AWS Lambda functionsでAWS Lambdaの無限ループを防ぐ! / jaws-ug-shizuoka
kwada
0
260
Other Decks in Technology
See All in Technology
“それなりに”安全なWebアプリケーションの作り方
xryuseix
0
290
はじめての OSS コントリビューション 〜小さな PR が世界を変える〜
chiroito
3
190
Dart and Flutter MCP serverで実現する AI駆動E2Eテスト整備と自動操作
yukisakai1225
0
350
探求の技術
azukiazusa1
6
1.6k
なぜインフラコードのモジュール化は難しいのか - アプリケーションコードとの本質的な違いから考える
mizzy
45
12k
クレジットカードの不正を防止する技術
yutadayo
16
6.7k
Master Dataグループ紹介資料
sansan33
PRO
1
3.9k
レビュー負債を解消する ― CodeRabbitが支えるAI駆動開発
moongift
PRO
0
150
Black Hat USA 2025 Recap ~ クラウドセキュリティ編 ~
kyohmizu
0
520
AIと自動化がもたらす業務効率化の実例: 反社チェック等の調査・業務プロセス自動化
enpipi
0
110
エンジニア採用と 技術広報の取り組みと注力点/techpr1112
nishiuma
0
130
自己的售票系統自己做!
eddie
0
430
Featured
See All Featured
Writing Fast Ruby
sferik
630
62k
Agile that works and the tools we love
rasmusluckow
331
21k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Why Our Code Smells
bkeepers
PRO
340
57k
Context Engineering - Making Every Token Count
addyosmani
9
380
The Art of Programming - Codeland 2020
erikaheidi
56
14k
We Have a Design System, Now What?
morganepeng
54
7.9k
The Cult of Friendly URLs
andyhume
79
6.7k
Documentation Writing (for coders)
carmenintech
76
5.1k
Docker and Python
trallard
46
3.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Making Projects Easy
brettharned
120
6.4k
Transcript
("͞Εͨ3%41SPYZ Λࢼͯ͠Έͨ KBXTVH KBXTVHDIJCB JAWS-UG 千葉 オンライン #6
⾃⼰紹介 ⽒名:和⽥ 健⼀郎 アイレット株式会社 エンジニア JAWS-UG 千葉 運営メンバー SORACOM UGの運営にも最近参加
好きなAWSサービス: AWS Lambda 実は最近共著で本書きました。
71$-BNCEBͱ +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • VPC内リソースにアクセスするためのLambda関数のこと • VPCにアタッチしたLambdaというのが正しいかな
• ⼀番多いであろう(多分)⽤途はLambdaのデータストアと して、RDBMS(RDS)を使うケース • エンプラ⽤途では割とあったのでは
71$-BNCEBͱ +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB 今の会社⼊って、 最初に担当した案件、 VPC Lambda
+ RDS(Aurora)案件でした。 (2016年、Node.js v4.3時代)
71$-BNCEBͱ +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB (その当時の) VPC Lambdaの問題点 l
ENI作成問題 l DBコネクション問題 しかし、2019年のアップデートで、 この辺が全部解消されました
71$-BNCEBͱ +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB 2019年にあったアップデートは、以下 1. ENI作成タイミングの変更 2.
Provisioned Concurrency 3. RDS Proxy(厳密にはLambdaのアップデートではない)
71$-BNCEBͱ +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB 詳しいことは、 AWSJのSA下川さんの資料をご覧いただくといいかなと思いま す https://speakerdeck.com/_kensh/serverless-services-
update-at-aws-re-invent-2019
3%41SPYZݕূͯ͠Έͨ +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB 2019年のアップデートと書きましたが、 RDS Proxyは、Previewとして使えていて、 GAになったのは、2020年7⽉のことでした
今回はPreview時にも検証してたんですが、 GAになったので、 RDS Proxyをあり・なしでどう変わるのかを検証してみました
3%41SPYZݕূͯ͠Έͨ +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB 先に謝っておきますと、この検証の元ネタは、 7/28に開催された「RDS+Lambda が始まる。過去のアンチ パターンはどう変わるのか」
であった、AWSJの福井さんのDEMOになります
3%41SPYZݕূͯ͠Έͨ +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB 構成 RDS Proxyなし RDS
Proxyあり
3%41SPYZݕূͯ͠Έͨ +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH 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ݕূͯ͠Έͨ +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • 500件のケース
3%41SPYZݕূͯ͠Έͨ +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • 500件のケース
3%41SPYZݕূͯ͠Έͨ +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • 1000件のケース
3%41SPYZݕূͯ͠Έͨ +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • 1000件のケース
·ͱΊ +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • RDS Proxy 想像以上にすごい
• 意図的にコネクションが溜まるようなロジックにしたけど、 ちゃんとエラーなく処理される • しかも、単純にRDS Proxyに接続先を変えただけ • 今回は⾮同期処理でテストしたけど、同期処理(API-GW 経由)のRESTAPIで使うとどうなるかは別途検証したいと ころ • ピン留めという事象もあるらしいので、利⽤の際は注意必要 • RDS Proxy⾃体は別にLambda専⽤ではないので、活⽤でき るケースは多そう • お⾦かかるので、ご利⽤は計画的に
·ͱΊ +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • Aurora(MySQL)でやってしまったが、⾮AuroraのMySQL でも試した⽅が良かったかもしれないのは反省 •
SQSトリガーって、EventのRecordsオブジェクト内に複数 メッセージを格納していることを失念(知らなかった)して いた。 • SQSトリガーの復習にもなったので今回よかった • VPC Lambda⾃体は、使いやすくなったので、VPC内のリ ソースアクセス以外にも、別APIを叩く際のIP固定にも活⽤ できるケースもありそう
͓ΘΓ +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB ご静聴ありがとうございました