「CloudSQLって、どういうサービス?」
「CloudSQLを活用することでどういうメリットがあるのか知りたい」
オンプレミスのデータベースをクラウドサービスに移行したい、アプリケーションや分析用のデータベースとしてクラウド上で使えるデータベースサービスを利用したい!このように考えられたことのある情シスの管理者や開発部門の方は多いのではないでしょうか。
近年ではビッグデータの分析に列指向のデータウェアハウスが取り沙汰されることが多いですが、頻繁なトランザクション処理が走るアプリケーションなど、行指向のRDBMS(リレーショナル データベース管理システム)が重宝されるケースもよく耳にします。本記事ではGoogle Cloudが提供するRDBMSサービスのCloudSQLについて解説します。
CloudSQLとは
CloudSQLは、Google Cloudが提供するMySQL、PostageSQL SQL Server用のフルマネージドリレーショナルデータベースです。Google Cloudでプロジェクトを作成して、CloudSQL上で下記の初期設定を行うことですぐに使い始めることが可能です。
- インスタンスに必要なリージョンとゾーンを設定してインスタンスを作成する
- アプリケーションに必要な数のCPUとメモリ容量を備えたマシンタイプを選択する
- ストレージの種類としてSSD(ソリッドステートドライブ)またはHDD(ハードディスクドライブ)を、レイテンシ、クエリ処理速度、コスト要件に応じて決定する
CloudSQLの主なユースケースとしては、オンプレミスなどの運用負荷の高いデータベースからの移行や、アプリケーション用のデータベースとしての用途が最も多いです。実際CloudSQLは費用対効果に優れ、クラウド上で使えるモダンなデータベースとして、RDBMSを使いたい!と考えた時に、AWSのAmazon RDSなどのサービスと並んで最有力な選択肢となっています。
CloudSQLの特徴と利点
CloudSQLの特徴と利点について解説します。
・フルマネージド型サービス
CloudSQLはフルマネージド型サービスであるため、データベースのセットアップ、運用、保守に関する煩雑な作業を最小限に抑えることができます。Google Cloudが自動的にバックアップ、パッチ適用、スケーリングなどを管理するので、運用負荷が抑えられ、ユーザーがよりクリエイティブな業務に専念できるようになります。
・スケーラビリティと高可用性
CloudSQLは瞬時にスケーリング可能であり、トラフィックの急増にも柔軟に対応できます。また、マルチゾーン配置やレプリケーションを活用して高可用性を確保し、ダウンタイムを最小限に抑えます。
・セキュリティ
CloudSQLは自動バックアップ機能を提供し、データの損失から保護します。誤ってデータを削除した場合でも、過去のバージョンに簡単に復元することができます。
・モニタリングとログ
Google CloudのConsole画面を介してデータベースのパフォーマンスをモニタリングし、クエリの最適化やトラブルシューティングに役立つ情報を取得できます。また、ログも保存され、運用中の問題の追跡や解決が容易です。
CloudSQLの活用事例
CloudSQLはオンプレミスからの移行や、アプリケーションのデータベースとしてよく採用されています。
その活用事例についてご紹介します。
オンプレミスなど既存のデータベースからの移行
データベースの移行にはDatabase Migration Serviceが提供されており、MySQLやPostageSQLデータベースの移行が簡単に追加費用なしで行えるようになっています。移行は下記の4ステップにより行います。
- 既存のデータベースの詳細を入力する
- 移行先のCloudSQLインスタンスを作成する
- 接続方法をDatabase Migration Serviceが提供する複数のオプションから選択する
(IPアドレスの許可リストの作成、SSHトンネルの作成、VPCピアリングの設定などが可能です) - 移行したインスタンスをテストして、プライマリインスタンスに昇格させる
ウェブアプリケーション
ウェブアプリケーションのバックエンドデータベースとして使用される場合、アプリケーションの需要に応じてスケーリングし、高可用性を確保することで、ユーザーエクスペリエンスを向上させます。
ビジネスアプリケーション
企業内のビジネスアプリケーションやデータ分析ツールのデータストレージとしてCloudSQLが利用されることがあります。データの安全性や可用性を確保しながら、社内の業務プロセスを効率化する役割を果たします。
ゲーム開発
ゲーム開発においても、プレイヤーデータや進行状況の管理にCloudSQLが活用されています。大量のプレイヤーが同時にアクセスする可能性があるため、スケーリングと高可用性が不可欠です。
モバイルアプリケーション
モバイルアプリケーションも、ユーザーのデータやプロフィール情報を効果的に管理するためにCloudSQLを利用するケースがあります。クラウドベースのデータベースサービスは、アプリケーションのバックエンドをスムーズに構築する手段として重要です。
上記でご紹介した事例のようにトランザクション処理が頻繁でも、整合性を保った高速な処理が求められるケースや、単純に費用対効果や可用性に優れたRDBMSを使いたい、という場合に特に推奨できます。
CloudSQLのエディション
CloudSQLでは現在2つのエディションが提供されています。
・CloudSQL Enterprise エディション
・CloudSQL Enterprise Plus エディション
Enterprise Plus エディションの方が料金が高く設定されている上位のエディションとなっていて、特に下記のパフォーマンスの強化が特徴となっています。
・データキャッシュを使用した読み取りパフォーマンスの向上
データ キャッシュに、高速なローカル SSD を利用して頻繁に読み取られるデータページを保存します。これにより、永続ディスクからの読み取りと比較して読み取りパフォーマンスが向上します。データ キャッシュはオプションの機能で、インスタンスの作成中または作成後に有効にできます。
・書き込みパフォーマンスの改善
書き込みレイテンシを最大 2 倍まで改善します。このため、低レイテンシと高スループットが要求される書き込み集中型のアプリケーションに適しています。
・エンジンの自動チューニング
基盤となるインスタンスプラットフォームの能力に合わせてエンジンの構成を自動調整します。
まとめ
CloudSQLは、オンプレミスのデータベースのクラウドへの移行から、アプリケーションの高速なバックエンドのデータベースとしてまで、多様なケースに適合し採用されるのが特徴的です。
データベースの接続やマシンスペックの選択など、活用するために必要な知識はあるものの、従来のデータベースの使い始めから運用までと比べると、大分気軽になりました!
本記事を読んで、CloudSQLやクラウド上のデータベースサービスへ興味を持っていただけたのであれば幸いです。
株式会社KUIXではGCPを用いたシステムの開発やコンサルティングを行っています。本格的なGCP環境の構築・導入をご検討される際は、ぜひ一度ご連絡ください!お問い合わせはこちらから

