Cloud SQL とは
Google Cloud Japan Team
※この投稿は米国時間 2021 年 9 月 8 日に、Google Cloud blog に投稿されたものの抄訳です。
アプリケーションを構築する場合、トランザクション処理にリレーショナル データベースが必要になることがあります。そこで役立つのが Cloud SQL です。Cloud SQL は、MySQL、PostgreSQL、SQL Server 用のフルマネージド リレーショナル データベースです。保守費用の削減を見込めるほか、データベースのプロビジョニング、ストレージ容量の管理、バックアップを自動化できます。また、高可用性と障害復旧やフェイルオーバーがはじめから備わっています。
Cloud SQL の設定方法
Cloud SQL は簡単に設定できます。
インスタンスに必要なリージョンとゾーンを設定してインスタンスを作成します。
アプリケーションに必要な数の CPU とメモリ容量を備えたマシンタイプを構築します。
ストレージの種類として、ソリッド ステート ドライブまたはハードディスク ドライブのどちらかを、レイテンシ、QPS、コスト要件に応じて選択します。
信頼性と可用性
また、Cloud SQL では自動バックアップとポイントインタイム リカバリも利用できます。バックアップは時間枠や場所を設定できます。本番環境アプリケーションには、99.95% の SLA に対応できる組み込みの高可用性(HA)オプションの使用をおすすめします。このオプションを使えば、Google Cloud のハートビート信号により Cloud SQL インスタンスが継続的にモニタリングされ、マスターに障害が発生した場合には、選択したリージョン内の別のゾーンへの自動フェイルオーバーがトリガーされます。また、リージョン障害から保護するために、リージョン間でレプリカを作成することもできます。さらに、ストレージの自動増量を有効にすることで、容量の上限に近づいた場合にストレージを追加できます。
無料のツールである、Cloud SQL Insights を使えば、Cloud SQL データベースのクエリの問題を検出、診断、特定できます。このツールが提供する、単なる検出機能を超えた、セルフサービス方式の直観的にわかりやすいモニタリングと診断の情報は、パフォーマンスに関する問題の根本原因を特定するのに役立ちます。
既存の MySQL データベースを Cloud SQL に移行する方法
既存のアプリケーションをクラウドに移行する場合、既存の SQL データベースを Cloud SQL に移行しなければならない場合があります。Database Migration Service(DMS)を使えば、オンプレミスや Google Compute Engine などのクラウドから Cloud SQL への MySQL や PostgreSQL データベースの移行を容易に行えます。サーバーレスであり設定も簡単で、追加費用もかかりません。データを継続的にレプリケートして、最小限のダウンタイムで移行を実現できます。
詳細は次のとおりです。
データソースの詳細(使用するデータベース エンジンのタイプ: MySQL、PostgreSQL、Amazon RDS など)を入力します。最小限のダウンタイムで移行を実現するには、1 回限りのレプリケーションまたは継続的なレプリケーションを選択します。
送信先として Cloud SQL インスタンスを作成します。
ソース インスタンスに接続する際には、DMS が提供する複数のオプションから選択して、簡単に接続できます。IP アドレスの許可リストを作成したり、クラウドでホストされた仮想マシンを使ってリバース SSH トンネルを作成したり、VPC ピアリングを設定したりすることも可能です。
最後に移行したインスタンスをテストし、プライマリ Cloud SQL インスタンスに昇格させます。
セキュリティとコンプライアンス
CloudSQL のデータは、保存時も転送時も自動的に暗号化されます。また、外部接続として SSL 接続を常時使用できます。接続を保護するために Cloud SQL Proxy を使って接続することもできます。これは、ローカルマシンからの Cloud SQL インスタンスへの接続をサポートするツールです。ファイアウォール保護を有効にするとネットワーク アクセスの制御が可能です。コンプライアンス面では、Cloud SQL は SSAE 16、ISO 27001、PCI DSS v3.0、HIPAA に準拠しています。
Cloud SQL の実用例
Cloud SQL は各種コンピューティング プロダクトと組み合わせて、さまざまなユースケースに利用できます。トランザクション データベース、BigQuery を使った長期の分析バックエンド、Vertex AI を使った予測分析、Pub/Sub を使ったイベント ドリブン メッセージングをはじめとする、どのようなアプリケーション ユースケースにも対応できます。Cloud SQL と Datasteam (変更データ キャプチャ)を組み合わせれば、あらゆる受信データに対応できる優れたリアルタイム解析ソリューションになります。いくつか例を挙げましょう。
結論
Cloud SQL は Google Cloud 内外のさまざまなサービスと統合できるよう設計されているので、あらゆるアプリケーション ユースケースに対応します。このフルマネージドのリレーショナル データベースを使用すれば、サーバーの設定、パッチや更新の適用、レプリケーションの構成やバックアップの管理に至るまで、データベースの実行に必要となる膨大なメンテナンス作業を Google に任せることができます。代わりに、より優先度の高い作業に集中して価値を創出できます。Cloud SQL の詳細については、ドキュメントをご覧ください。
#GCPSketchnote をさらにご覧になるには、GitHub リポジトリをフォローしてください。同様のクラウド コンテンツについては、Twitter で @pvergadia をフォローしてください。thecloudgirl.dev もぜひご覧ください。
-Google デベロッパー アドボケイト Priyanka Vergadia
-デベロッパー アドボケイト Gabe Weiss