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
AWSの基礎を学ぼう 特別編 最新サービスをみんなで触ってみる LambdaとRDS Prox...
Search
Kenichiro Wada
October 02, 2021
Technology
0
1.3k
AWSの基礎を学ぼう 特別編 最新サービスをみんなで触ってみる LambdaとRDS Proxy RDS Proxy を試してみてた/awsbasics-rds-proxy
2021.10.02
AWSの基礎を学ぼう 特別編
」最新サービスをみんなで触ってみる LambdaとRDS Proxy」のLT発表資料です。
Kenichiro Wada
October 02, 2021
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
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.2k
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
250
What happened to RubyGems and what can we learn?
mikemcquaid
0
310
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.6k
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
510
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
17k
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
200
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
2k
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
450
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
320
Featured
See All Featured
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
320
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
210
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
330
30 Presentation Tips
portentint
PRO
1
220
Joys of Absence: A Defence of Solitary Play
codingconduct
1
290
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
140
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
260
Skip the Path - Find Your Career Trail
mkilby
0
57
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
How Software Deployment tools have changed in the past 20 years
geshan
0
32k
Context Engineering - Making Every Token Count
addyosmani
9
660
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
250
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 ご静聴ありがとうございました