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
2024-03-29 SRETT9 Cloud SQLの可用性について
Search
SUZUKI Masashi
March 29, 2024
Technology
590
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
2024-03-29 SRETT9 Cloud SQLの可用性について
SUZUKI Masashi
March 29, 2024
More Decks by SUZUKI Masashi
See All by SUZUKI Masashi
2026-06-18 ecspressoのtfstate参照が便利すぎた話
masasuzu
0
27
2026-04-14 Jagu'e'r Cloud Native分科会 Terraform Stateにおけるシークレットの平文保存という課題とその解決
masasuzu
1
54
2026-03-27 #terminalnight 変数展開とコマンド展開でターミナル作業をスマートにする方法
masasuzu
0
410
2026-03-23 Ops-JAWS Meetup39 Session Managerを使った セキュアなサーバーアクセス
masasuzu
2
150
2026-03-11 JAWS-UG 茨城 #12 改めてALBを便利に使う
masasuzu
3
480
2026-03-03 Jagu'e'r Tech Writer Meetup #19 登壇のネタ作りについて
masasuzu
0
220
2026-02-24 月末 Tech Lunch Online #10 Cloud Runのデプロイの課題から考えるアプリとインフラの境界線
masasuzu
0
180
2025-11-21 社内エンジニア勉強会 改めて理解するVPC Endpoint
masasuzu
0
430
2025-11-08 Security JAWS TerraformによるIAM Policy記述ガイド
masasuzu
2
1.4k
Other Decks in Technology
See All in Technology
AIのReact習熟度を測る
uhyo
2
610
やさしいA2A入門
minorun365
PRO
12
1.9k
【2026年版】 ベクトル検索䛸 Embedding最前線
mocobeta
2
250
【NRUG vol.18】KubernetesにおけるNew Relicデータ取得量削減の考え方
nrug_member
0
150
Snowflakeと仲良くなる第一歩
coco_se
4
490
AI駆動開発を通して感じた、 AI時代のデザイナーの役割変化
whisaiyo
3
2.2k
AIの性能が向上しても未解決な組織の重大問題は何か?/An Unsolved Organizational Problem in the Age of AI
moriyuya
4
680
Kubernetesにおける学習基盤とLLMOpsの概要
ry
1
310
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
2026 TECHFRESH 畢業分享會 - 開發日常大解密!從領域驅動到企業級上線
line_developers_tw
PRO
0
1.1k
Disciplined Vibes: Scaling AI-Assisted Engineering
sheharyar
0
150
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
3k
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
It's Worth the Effort
3n
188
29k
Tell your own story through comics
letsgokoyo
1
950
Statistics for Hackers
jakevdp
799
230k
Become a Pro
speakerdeck
PRO
31
6k
So, you think you're a good person
axbom
PRO
2
2.1k
Paper Plane (Part 1)
katiecoart
PRO
0
9k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
190
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Deep Space Network (abreviated)
tonyrice
0
170
Transcript
Cloud SQLの可用性について Copyright © 3-shake, Inc. All Rights Reserved. 株式会社スリーシェイクSreake事業部
鈴木勝史
Copyright © 3-shake, Inc. All Rights Reserved. おまえだれよ 2 •
すずきまさし • 株式会社スリーシェイク Sreake事業部所属 • クラウドインフラなんでも屋さんしてます ◦ 設計支援、運用支援、構築支援、支援以外も実作業もする • AWSちょっとわかる ◦ AWS Community Builder 2024 • Google Cloudなにもわからない • Terraformちょっとわかる
Copyright © 3-shake, Inc. All Rights Reserved. シナリオ 3 あなたはGoogle
Cloud上で稼働するWebアプリケーションのインフラ運用を任されたエンジニアです。 グローバルに展開するアプリケーションであるため、リージョンに障害が起きた際にもアプリケーションを稼働させ続ける必要 があります。 さしあたってアプリケーションで使用している Cloud SQL をゾーン障害、リージョン障害に備えた構成にしてほしいと言われ ています。 ここからどのような方策が取れるかを考えていきます。
Copyright © 3-shake, Inc. All Rights Reserved. 目次 4 1.
Cloud SQLについて 2. ゾーン障害に備える 3. リージョン障害に備える 4. ダウンタイムをさらに少なくする 5. まとめ
Copyright © 3-shake, Inc. All Rights Reserved. Cloud SQL 01
5
• Google CloudのマネージドRDBサービス • MySQL、PostgreSQL、SQL Server対応 • EnterpriseとEnterprise Plusのエディションがある •
Enterprise Plusの方がSLAが高く、パフォーマンスに優れる ◦ Enterprise 99.95% ◦ Enterprise Plus 99.99% ◦ MySQLとPostgreSQL対応 ◦ 取りうるDBのバージョンに制限あり ▪ MySQL 8.0 ▪ PostgreSQL14, 15 • 参考: Cloud SQL の各エディションの概要 | Cloud SQL ドキュメント | Google Cloud Copyright © 3-shake, Inc. All Rights Reserved. Cloud SQL 6
Copyright © 3-shake, Inc. All Rights Reserved. ゾーン障害に備える HA構成 02
7
Copyright © 3-shake, Inc. All Rights Reserved. HA構成 8 •
プライマリゾーンとセカンダリゾーンにインスタンスを構成する ◦ AWSのRDSでいうところのMulti AZと考えてもらえると ◦ スタンバイのインスタンスを起動させておくので料金は 2倍 ◦ ゾーン障害に備えることができる • 高可用性構成を適用した場合に完全な SLAが適用される ◦ 参考: Cloud SQL Service Level Agreement SLA | Google Cloud • クライアントから見えるDBエンドポイントは一つ ◦ フェイルオーバー時に自動で IPの向け先が変わるので クライアント側で切り替える必要がない • DBへの書き込みはリージョン永続ディスクにされる • ハートビートは1秒間隔 • フェイルオーバー時のダウンタイムは 60秒ほどの想定 • 参考: 高可用性について | Cloud SQL for PostgreSQL | Google Cloud
Copyright © 3-shake, Inc. All Rights Reserved. リージョン障害に備える クロスリージョンレプリカ 03
9
Copyright © 3-shake, Inc. All Rights Reserved. リードレプリカ 10 •
それぞれのRDMSのレプリケーションの仕組みをマネージドで利用できる • 読み込みクエリはリードレプリカに差し替えることで負荷分散をすることができる • 読み込み負荷が高い場合は、リードレプリカを複数台立てることもできる ◦ ワークロードごとに発行するクエリを分けて影響を抑える方法も ▪ ex: Webアプリと分析でクエリを分割等 • 非同期レプリケーションを使用するのでレプリカラグには注意
Copyright © 3-shake, Inc. All Rights Reserved. クロスリージョンレプリカ 11 •
別リージョンにリードレプリカを作ることができる • プライマリとは別のリージョンにリードレプリカを構築することによりリージョン障害に備える • リージョン障害時にクロスリージョンレプリカを昇格させる • クライアント側のエンドポイント設定を変更する。
Copyright © 3-shake, Inc. All Rights Reserved. クロスリージョンレプリカの課題 12 •
マネージドでフェイルオーバーする仕組みがない ◦ 自前で障害検知して、レプリカを昇格する必要がある ◦ クライアント側でエンドポイントを切り替える必要がある ▪ 高可用性構成のようにエンドポイントが共通のものではなく、別々になっている ▪ マネージドなDBプロキシが用意されていないので何かしら切り替える仕組みが必要
Copyright © 3-shake, Inc. All Rights Reserved. ダウンタイムをさらに少なくしたい Spanner 04
13
Copyright © 3-shake, Inc. All Rights Reserved. Spannerという選択肢 14 •
マネージドな分散RDBサービス • 高い可用性 ◦ マルチリージョン99.999% ◦ シングルリージョン 99.99% • コンピュートとストレージが分離 ◦ クラウド向けに設計されている • PostgreSQLとGoogleSQLをサポート ◦ DB作成時にSQL方言を選択する • ノード、プロセッシングユニットを増やすことで水平スケール可能 ◦ 1000プロセッシングユニット = 1ノード • マルチリージョン構成を取ることでリーション障害時にも可用性を維持可能 • ダウンタイム無しで構成変更することが可能
Copyright © 3-shake, Inc. All Rights Reserved. Spannerも銀の弾丸ではない 15 •
PostgreSQLと完全互換ではない ◦ 参考: Spanner 向け PostgreSQL Interface | Google Cloud PostgreSQL と完全な互換性はありません。ストアド プロシージャ、トリガー、拡張機能、構成可能な隔離レベ ルなど、PostgreSQL の機能に依存する既存のアプリケーションでは、 Spanner で実行する再作業が必要に なります。ただし、Spanner がサポートする SQL 構文はセマンティックに同等な PostgreSQL である • 接続方法 ◦ Spannerクライアントライブラリ ▪ 既存のアプリケーションのライブラリを差し替える必要がある ◦ PGAdapterプロキシ経由で接続する ▪ Cloud Runアプリケーションから接続する際はサイドカーで PGAadaperを立てる必要がある ▪ 参考: PGAdapter を起動する | Spanner | Google Cloud • Cloud SQLの最小構成と比べるとコスト高になる。 ◦ 開発環境で使うには工夫が必要となる
Copyright © 3-shake, Inc. All Rights Reserved. まとめ 05 16
Copyright © 3-shake, Inc. All Rights Reserved. まとめ 17 •
今回はリージョン障害に備えた構成を考えてきました。 • サービスの特性により求める可用性が異なります。それぞれの特性にそった構成を選択してください。 ◦ 使い捨てのサービスであれば、 1台ぽんとてれば良いし ◦ リージョン障害に備えるならクロスリージョンレプリカも選択肢に上がるでしょう ◦ 予算が許し、移行コスト払えるなら Spannerを使うという選択肢もあるでしょう • 今回はCloud SQLを例にしましたが、AWSでもAzureでも求められる可用性に対してどのような選択肢が取れるのか 把握してきましょう。 • それでは良いDBライフを!