Cloud SQLはフルマネージド リレーショナル データベース サービスになります。
AWSのRDSと同様のサービスです。
MySQL/PostgreSQL/SQLServerがサポートされており、Oracleはサポートされていません。
個人的にMySQLが好きなので、MySQLの内容を整理していきます。
Cloud SQLの機能
基本的にはMySQL/PostgreSQL/SQLServerと同じ感覚で使用することができますが、制限事項や実装されていない機能も存在します。
新規開発の場合は問題にならないかもしれませんが、移行案件の場合は既存システムで使用している機能が制限事項に当たらないか確認しましょう。
接続方法
まず、プライベートIPで接続するか、パブリックIPで接続するかを決めます。
セキュリティ観点ではパブリックIP接続はよっぽどのことが無ければ使用しないでしょう。
パブリックIP接続の場合はCloud SQL ProxyかSSL証明書での認証が必要となります。
Cloud SQL ProxyはIAMを使用した認証を行います。SSL証明書はそのまま証明書を使用した人書うを行います。
どちらの認証方式でも、通信はSSL暗号化が行われます。
Cloud SQL ProxyはCompute Engine上で動作させます。
バックアップ/リストア
バックアップは管理画面上から実施するかスケジュールを指定して定期的に取得する形になります。注意点として、CloudSQLを削除するとバックアップデータも同時に削除されます。
リストアする場合は、同じインスタンスに復元するか別インスタンスに復元するかを選択できます。デフォルトでは「同じインスタンスに上書き」となっているのでリストアする際はインスタンス名に注意します。
特定の時間に戻すポイントインタイムリカバリも使用できます。
ドキュメントを見ると、MySQLのバイナリログを使用しているようです。
本機能を使用する場合は設定で有効にする必要があります。
冗長構成
高可用性を有効にすると冗長構成になります。
以前はMySQLのレプリケーション機能を使用していたようですが、現行バージョンではストレージを使用したデータ同期方式に変わったようです。
リードレプリカはMySQLのレプリケーション機能を使用しているようです。バイナリログの有効化が必要となっています。
こちらも早くストレージでのデータ同期方式に代わって欲しいですね。
メンテナンス
メンテナンスはパッチ適用と考えても良いと思います。
メンテナンスの内容により再起動が行われる場合もありますが、これは冗長構成にしても回避できないようです。
メンテナンスではフェイルオーバーが行われません。
コメント