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
400
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
(全日本人)待望のS3トリガーのLambda無限ループ対応について / chibaraki-1
kwada
0
120
AWS Lambdaに出会って人生が変わった1人の10年間 /awslambda10th
kwada
0
84
GPSデバイスを使った簡易位置案内システムの構築をしてみた話。/jawsfesta2024
kwada
0
700
とある航空会社の飛行機の乗り方をお教えします。/20240913-lt
kwada
3
300
Building a Simple Navigation Guide Service Using GPS Devices/jaws-pankration2024
kwada
0
110
IaCジェネレーターを使って、昔に作ったLambda関数をCDK管理下においてみた / jaws-ug-josys-30
kwada
0
130
SORACOM UG Explorer 2023ハンズオンの裏側サービスを紹介 / soracom-ug-online-17
kwada
0
300
(2023.08.17 Update)Detecting and stopping recursive loops in AWS Lambda functionsでAWS Lambdaの無限ループを防ぐ! / jaws-ug-shizuoka
kwada
0
240
三国志好きの自分が一番最初に出会った三国志のゲームを令和になってやってみた / retrogstudy-8
kwada
0
150
Other Decks in Technology
See All in Technology
2025-06-26_Lightning_Talk_for_Lightning_Talks
_hashimo2
2
100
ドメイン特化なCLIPモデルとデータセットの紹介
tattaka
1
210
Snowflake Summit 2025全体振り返り / Snowflake Summit 2025 Overall Review
mtpooh
2
420
20250625 Snowflake Summit 2025活用事例 レポート / Nowcast Snowflake Summit 2025 Case Study Report
kkuv
1
340
KubeCon + CloudNativeCon Japan 2025 Recap
ren510dev
1
220
生成AI開発案件におけるClineの業務活用事例とTips
shinya337
0
100
LangChain Interrupt & LangChain Ambassadors meetingレポート
os1ma
2
120
フィンテック養成勉強会#54
finengine
0
180
Delegating the chores of authenticating users to Keycloak
ahus1
0
130
ひとり情シスなCTOがLLMと始めるオペレーション最適化 / CTO's LLM-Powered Ops
yamitzky
0
450
Amazon ECS & AWS Fargate 運用アーキテクチャ2025 / Amazon ECS and AWS Fargate Ops Architecture 2025
iselegant
17
5.8k
Node-RED × MCP 勉強会 vol.1
1ftseabass
PRO
0
170
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
53
7.7k
Speed Design
sergeychernyshev
32
1k
Fireside Chat
paigeccino
37
3.5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
A designer walks into a library…
pauljervisheath
207
24k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Bash Introduction
62gerente
614
210k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
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 ご静聴ありがとうございました