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
82
(全日本人)待望のS3トリガーのLambda無限ループ対応について / chibaraki-1
kwada
0
150
AWS Lambdaに出会って人生が変わった1人の10年間 /awslambda10th
kwada
0
100
GPSデバイスを使った簡易位置案内システムの構築をしてみた話。/jawsfesta2024
kwada
0
840
とある航空会社の飛行機の乗り方をお教えします。/20240913-lt
kwada
3
320
Building a Simple Navigation Guide Service Using GPS Devices/jaws-pankration2024
kwada
0
130
IaCジェネレーターを使って、昔に作ったLambda関数をCDK管理下においてみた / jaws-ug-josys-30
kwada
0
140
SORACOM UG Explorer 2023ハンズオンの裏側サービスを紹介 / soracom-ug-online-17
kwada
0
330
(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
いまからでも遅くない!SSL/TLS証明書超入門(It's not too late to start! SSL/TLS Certificates: The Absolute Beginner's Guide)
norimuraz
0
230
OCI Network Firewall 概要
oracle4engineer
PRO
2
7.9k
セキュアな認可付きリモートMCPサーバーをAWSマネージドサービスでつくろう! / Let's build an OAuth protected remote MCP server based on AWS managed services
kaminashi
3
320
ビズリーチ求職者検索におけるPLMとLLMの活用 / Search Engineering MEET UP_2-1
visional_engineering_and_design
1
120
Codexとも仲良く。CodeRabbit CLIの紹介
moongift
PRO
0
200
新規事業におけるGORM+SQLx併用アーキテクチャ
hacomono
PRO
0
240
Geospatialの世界最前線を探る [2025年版]
dayjournal
1
220
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
930
PHPからはじめるコンピュータアーキテクチャ / From Scripts to Silicon: A Journey Through the Layers of Computing Hiroshima 2025 Edition
tomzoh
0
140
社内報はAIにやらせよう / Let AI handle the company newsletter
saka2jp
8
1.4k
Wasmのエコシステムを使った ツール作成方法
askua
0
160
ガバメントクラウド(AWS)へのデータ移行戦略の立て方【虎の巻】 / 20251011 Mitsutosi Matsuo
shift_evolve
PRO
2
190
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
33
2.3k
How to Think Like a Performance Engineer
csswizardry
27
2k
Designing Experiences People Love
moore
142
24k
Why Our Code Smells
bkeepers
PRO
340
57k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Building Applications with DynamoDB
mza
96
6.7k
How to train your dragon (web standard)
notwaldorf
97
6.3k
A better future with KSS
kneath
239
18k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Scaling GitHub
holman
463
140k
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 ご静聴ありがとうございました