Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
AWSの基礎を学ぼう 特別編 最新サービスをみんなで触ってみる LambdaとRDS Proxy RDS Proxyを試してみてた/awsbasics-rds-proxy
Kenichiro Wada
October 02, 2021
Technology
0
500
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
現地初参加(と思われていない)の人のAWS re:Invent 2022 & AWS Lambda SnapStart for Java functionsについて / jawsugchiba-19
kwada
0
73
今だからこそ知っておきたいIoT ~ IoTとLINEをつなげるいい関係〜 SORACOM UG パート/rev-up2022
kwada
0
29
1501回目のプロポーズ - 世界最速(銀河系最速)?で1500回を使い切る- /iotbutton-1500
kwada
0
210
AWS CDKでLambda Function URLsを設定してみた話/jawsug-cdk-2
kwada
2
340
Lambdaトリガーでピタゴラスイッチしてみた / jawsug_bgnr46lt
kwada
0
370
M1 Macきたことだし、Graviton2のLambdaを試してみた /20220114-jawsugchiba-jawsug-bgnr-lt
kwada
0
270
SORACOMは何ができるの?/soracom-nervesjp-1
kwada
0
210
Personal development of an intrusion detection system using Amazon Location Service. /jaws-pankration-2021
kwada
1
290
SORACOM UG x LINE DC合同 仮想デバイスハンズオン #1 成果物説明/soracom-ug-linedc-handson
kwada
0
340
Other Decks in Technology
See All in Technology
RDS/Aurora バージョンアップのポイント
hmatsu47
PRO
8
1.6k
MoT/コネヒト/Kanmu が語るプロダクト開発xデータ分析 - 分析から機械学習システムの開発まで一人で複数ロールを担う大変さ
masatakashiwagi
2
530
ついに来る!TypeScript5.0の新機能
uhyo
16
8.7k
テクニカルライターよ概念図を描くのです 〜テクニカルライターのためのイラストテクニック2〜 / cybozu illust technique2
yuki_kondo
13
3.7k
【NGK2023S】 ノードエディタ形式の画像処理ツール「Image-Processing-Node-Editor」
kazuhitotakahashi
0
190
データベースの発表には RDBMS 以外もありますよ
maroon1st
0
220
PCL (Point Cloud Library)の基本となぜ点群処理か_2023年_第2版.pdf
cvmlexpertguide
0
100
デイリースクラムの”守破離”(日々をより楽しく有意義にするヒント)
m3hiro3
3
4.3k
マイクロサービス宣言から8年 振り返りとこれから / Eight Years After the Microservices Declaration A Look Back and A Look Ahead
eisuke
2
120
NGINXENG JP#2 - 3-NGINX Plus・プロダクトのアップデート
hiropo20
0
130
エアドロップ for オープンソースプロジェクト
epicsdao
0
120
チケットNFTの仕組み
sbtechnight
0
330
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
22
42k
Facilitating Awesome Meetings
lara
33
4.6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
109
16k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
22
1.7k
Ruby is Unlike a Banana
tanoku
93
9.5k
Music & Morning Musume
bryan
36
4.6k
A Tale of Four Properties
chriscoyier
149
21k
Mobile First: as difficult as doing things right
swwweet
213
7.8k
Six Lessons from altMBA
skipperchong
15
2.3k
Support Driven Design
roundedbygravity
88
8.9k
Become a Pro
speakerdeck
PRO
6
3.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
56
2.5k
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 ご静聴ありがとうございました