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
420
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
JAWS-UGとLambdaに感謝を込めて~ AWS と共に歩んだX年 ~/kmj-20260117
kwada
1
56
My First Impression Of Kiro / 20250801-kumoben-lt
kwada
0
97
(全日本人)待望のS3トリガーのLambda無限ループ対応について / chibaraki-1
kwada
0
170
AWS Lambdaに出会って人生が変わった1人の10年間 /awslambda10th
kwada
0
120
GPSデバイスを使った簡易位置案内システムの構築をしてみた話。/jawsfesta2024
kwada
0
980
とある航空会社の飛行機の乗り方をお教えします。/20240913-lt
kwada
3
360
Building a Simple Navigation Guide Service Using GPS Devices/jaws-pankration2024
kwada
0
160
IaCジェネレーターを使って、昔に作ったLambda関数をCDK管理下においてみた / jaws-ug-josys-30
kwada
0
160
SORACOM UG Explorer 2023ハンズオンの裏側サービスを紹介 / soracom-ug-online-17
kwada
0
370
Other Decks in Technology
See All in Technology
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
680
Greatest Disaster Hits in Web Performance
guaca
0
280
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
200
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
3
210
Webhook best practices for rock solid and resilient deployments
glaforge
2
300
OWASP Top 10:2025 リリースと 少しの日本語化にまつわる裏話
okdt
PRO
3
820
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
AIエージェントに必要なのはデータではなく文脈だった/ai-agent-context-graph-mybest
jonnojun
0
160
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
260
We Built for Predictability; The Workloads Didn’t Care
stahnma
0
140
Agent Skils
dip_tech
PRO
0
120
Featured
See All Featured
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
590
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
240
The agentic SEO stack - context over prompts
schlessera
0
640
The Language of Interfaces
destraynor
162
26k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
260
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
350
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
450
GitHub's CSS Performance
jonrohan
1032
470k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
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 ご静聴ありがとうございました