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
RDS Proxyを使ってAuroraと仲良くなる
Search
chimame
February 19, 2020
Programming
0
1.2k
RDS Proxyを使ってAuroraと仲良くなる
HIGOBASHI.AWS #13
〜令和新春!AWSだらけのLT大会〜
chimame
February 19, 2020
Tweet
Share
More Decks by chimame
See All by chimame
知って得する@cloudflare_vite-pluginのあれこれ
chimame
1
160
Boost Your Web Performance with Hyperdrive
chimame
1
320
RemixでVersion skewに立ち向かう
chimame
2
1.2k
私がエッジを使う理由
chimame
10
4.1k
GraphQL Server on Edge after that
chimame
1
1.6k
Accelerating App Dev with Cloudflare Workers
chimame
1
450
GraphQL Server on Edge
chimame
12
6k
エッジで輝くフロントエンド
chimame
11
6.7k
Cloudflare Workersと状態管理
chimame
4
1.8k
Other Decks in Programming
See All in Programming
20250808_AIAgent勉強会_ClaudeCodeデータ分析の実運用〜競馬を題材に回収率100%の先を目指すメソッドとは〜
kkakeru
0
220
HTMLの品質ってなんだっけ? “HTMLクライテリア”の設計と実践
unachang113
0
360
コンテキストエンジニアリング Cursor編
kinopeee
1
740
パスタの技術
yusukebe
1
550
MLH State of the League: 2026 Season
theycallmeswift
0
210
フロントエンドのmonorepo化と責務分離のリアーキテクト
kajitack
2
150
MCPでVibe Working。そして、結局はContext Eng(略)/ Working with Vibe on MCP And Context Eng
rkaga
4
550
Updates on MLS on Ruby (and maybe more)
sylph01
1
170
個人軟體時代
ethanhuang13
0
280
Oracle Database Technology Night 92 Database Connection control FAN-AC
oracle4engineer
PRO
1
360
Langfuseと歩む生成AI活用推進
licux
3
320
もうちょっといいRubyプロファイラを作りたい (2025)
osyoyu
0
230
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Being A Developer After 40
akosma
90
590k
Making Projects Easy
brettharned
117
6.4k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
185
54k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
BBQ
matthewcrist
89
9.8k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Producing Creativity
orderedlist
PRO
347
40k
Transcript
RDS Proxyを使って Auroraと仲良くなる 2020/01/30 HIGOBASHI.AWS #13 〜令和新春!AWSだらけのLT大会〜
RDS Proxy Agenda 自己紹介 まとめ
Whoa! 名前: rito 職業: Webエンジニア (アプリケーションエンジニア) 分野: Ruby on Rails,
Nodejs, React, Docker, AWS, GCP 所属: Ateam Finergy Inc. コミュニティ: GDG Osaka Rails follow-up Osaka Osaka Web Developers Meetup twitter: @chimame_rt GitHub: chimame
“Auroraとコネクション プーリングの仕組みは 相性が悪い”
コネクションプーリングとは? 5
Application Connections 使用中 使用中 使用中 未使用 未使用
7 Q.なんで相性が悪い?
Application Connections 使用中 使用中 使用中 未使用 未使用 replica master フェイルオーバーが発生したらmaster
だったreplicaに繋いだまま
RDS Proxy Managing Connections with Amazon RDS Proxy (Preview)
AWS re:Invent 2019で発表された新しいサービス。 • その名の通りRDS(データベース)用のプロキシ • RDS接続コスト(メモリ、CPU)を肩代わりする • 接続にIAM認証が使えてセキュアになる 特に発表された段階の巷ではAWS
LambdaとRDSの接続相 性の悪さを軽減できると期待されました。 RDS Proxyとは? 10
Application Connections 使用中 使用中 使用中 未使用 未使用 Aurora RDS Proxy
new!
RDS Proxyの利点 Benefits of using RDS Proxy
コネクションプーリング問題の解決
なんで? • アプリケーションはProxyに対して、コネクションプールをしている • Auroraがフェイルオーバーして接続が借り変わるのはProxyが管理している そのため、Read/Writeが入れ替わってもアプリケーションは意識する必要がない 相性が悪いというフェイルオーバー時の動作 が解消される 14
15 Q.フェイルオーバー時の読み込みないし書 き込み不可時間はどれくらい?
16 A.接続が入れ替わる瞬間の 1.4秒間くらい発生する
def show Rails.logger.debug("start: #{Time.zone.now.iso8601(3)}") Test.where(id: 1).pluck(:id) head :ok rescue Rails.logger.debug("error:
#{Time.zone.now.iso8601(3)}") head :forbidden end
フェイルオーバーとしては20秒ほど
約1.2秒の間、Readができない事象が 発生。
def show Rails.logger.debug("start: #{Time.zone.now.iso8601(3)}") Test.create(name: "#{Time.zone.now.iso8601(3)}") head :ok rescue Rails.logger.debug("error:
#{Time.zone.now.iso8601(3)}") head :forbidden end
フェイルオーバーとしては30秒ほど
約1.4秒の間、Writeができない事象が 発生。
RDS Proxyの欠点 Disadvantages of using RDS Proxy
レイテンシーが高くなる
def start # 1万件のデータ登録にProxyのありなしでどれくらい時間差が出るか 10000.times do |i| Test.create(name: "proxy #{i}")
end end
Proxyを介した場合は約3分15秒で完了 直接接続した場合には約1分8秒で完了
Proxyを介した場合と直接繋いだ場合のネットワーク送受信のスループットに大きな差が出 た RDS Proxyを挟むことで通信が制御され る? 27
Proxyを介した場合と直接繋いだ場合のネットワーク送受信のスループットに大きな差が出 た RDS Proxyを挟むことで通信が制御され る? 28 Proxyを介した場合 直接の場合
Readエンドポイントがなくなる
ここに接続エンドポイントのスクリーンショットを貼る masterへのエンドポイントしかない
まとめ STAY 障害性の保険と考えれば 費用として悪くない フェイルオーバーに は対応できる GOOD! Readエンドポイントは直接Aurora 参照することになりそう STAY
スループットが落ちるけど プレビューだからと思いたい BAD
Thanks! Does anyone have any questions? rito@chimame