背景
こちらの本を読んだので業務で使用中のGoogleCloudでCloudSQLの設定を見たいと思いました(ちなみに本書ではAWSについて解説されていました)。
以下が分かったのでそれぞれを深掘ります。
- マルチゾーンである
- DR(ディザスタリカバリ)レプリカの指定はない
マルチゾーンであるとは
マルチゾーンの例が以下です。
高可用性とドキュメントでは言われていてデータを冗長に管理しています。
同期レプリケーション
プライマリがトランザクションのコミット完了通知を送る前にスタンバイにもデータをコピーします。
プライマリインスタンス(またはゾーン)で障害が起きた場合は
スタンバイインスタンスが新しいプライマリインスタンスになります(フェイルオーバー)。
可用性とは「使用可能な状態をどれだけ維持できるか」のことです。
https://wa3.i-3-i.info/word15460.html
つまり、このマルチゾーンの構成はゾーン内の障害に対応できるので高可用性であるということです。
DR(ディザスタリカバリ)レプリカの指定はないとは
DR(ディザスタリカバリ)とは
リージョン全体が被災するような広域的な災害への対策のことです
リージョンを跨いだ冗長構成(マルチリージョン)を取るのが一般です。
つまり、現状の構成だとマルチリージョンではないのでDRレプリカの指定がないということです。
DRの方法として以下が紹介されていました。
-
データベースがセカンダリリージョンにフェイルオーバーする
データベースの準備ができてアプリケーションで使用されると、そのデータベースが新たにプライマリ データベースになり、その後もプライマリ データベースを継続する -
データベースがセカンダリリージョンにフェイルオーバーしても、プライマリリージョンが障害から回復すると、プライマリリージョンにフォールバックする
ドキュメントは2の方法の詳細な説明を記載していました。
以下の構成を例にしています。
まとめ
以下の設定であるということは「ゾーン内の障害においては可用性が高いが、リージョン全体の障害については可用性が低い」ということがわかりました。
- マルチゾーンである
- DR(ディザスタリカバリ)レプリカの指定はない
この本はまだ読んでいる最中なので引き続きインプットします。
今後も実際の業務のDBやその構成と紐つけることで理解を深めたいです。




