GCPのデータベースサービス Cloud SQL
Cloud SQLとは
Google Cloud SQLは、GCP(Google Cloud Platform)上で動作するMySQLデータベースです。MySQLのバージョンは5.5または5.6がサポートされておりますが、2015年5月時点では、バージョン5.6はベータ版扱いとなっています。
Cloud SQLには以下のような特徴があります。
- 99.95%の月間稼働率を保証(下回った場合には補償を受けることが可能)
- データは標準で複数の場所に複製されるようになっており、自動的にフェイルオーバーが行われる
- データはGoogleのネットワークに入りストレージ格納される時点で、暗号化される
- 毎日決まった時間(ユーザにより設定可能)に自動でバックアップする機能がある
- 一般的なMySQLクライアントに加え、Google App Engineからも使用可能
- インスタンスの作成は、Webインターフェースとコマンドラインの2通りの方法で行える
- SUPER権限はサポートされないが、ユーザには全ての権限が付与されており、CREATE USERを利用して別のユーザを作成することも可能
- Google Cloud Storageからのデータのインポート、およびGCSへのエクスポート機能を備える
WebインターフェースでCloud SQLを始める
まずは、WebインターフェースからCloud SQLを利用する方法を紹介します。本記事では、Cloud SQLインスタンスの作成、データベースユーザの作成、そしてMySQLクライアントから接続するところまでを紹介します。
Google Developers Consoleを開き、使用するプロジェクトのサイドバーから「ストレージ > Cloud SQL」を選択し、「インスタンスを作成する」をクリックします(図1)。
クリック後に表示される画面(図2)で、インスタンス名やインスタンスを置く地域、タイプを選択します。インスタンス名はプロジェクト内でユニークであれば問題ありません。ここでは、インスタンス名をgcp-mukai-webとして、アジア地域にD0インスタンスを作成することにします。さらに「詳細設定を表示」をクリックして、起動するインスタンスのより詳細な設定を行いましょう(図3)。
詳細設定では、MySQLのバージョンや課金の方法、バックアップオプション、接続可能なIPアドレスなどを設定可能です。ほとんどの項目は、インスタンス作成後でも設定可能ですが、MySQLのバージョンだけはあとで変更できないため、インスタンス作成時に設定する必要があります。
ここでは、IPv4アドレスの割り当てと、接続を許可するIPアドレスの追加を行うことにします。Cloud SQLでは、IPv6アドレスは自動かつ無料で割り振られるようになっていますが、IPv4アドレスは自動では割り振られません。必要に応じて「IPv4 アドレスを Cloud SQL インスタンスに割り当てる」にチェックを入れます。
外部からCloud SQLに接続する場合は、接続を許可するIPアドレスを設定する必要があります。「許可されているネットワーク」の下の+マークをクリックし、ネットワークの情報を入力します。入力する情報はネットワーク名とIPアドレスです。ネットワーク名は省略可能です。IPアドレスはCIDRで入力します。
ここまで入力が済んだら、「作成」をクリックします。
これで、インスタンスが作成されました。この時点でCloud SQLは、MySQLのセットアップが完了しており、 root ユーザが登録されている状態になっています。
次に、作成したインスタンスIDをクリックして、インスタンスのコンソール画面に移動します。正式にはこの画面に名前はありませんが、便宜上「コンソール画面」と呼ぶことにします。このコンソール画面には、IPアドレスやデータベースのバージョンなど様々な情報が表示されます。バックアップからの復元や、アクセス制御などもこのコンソール画面から実行します。
MySQLに接続するためのユーザを作成します。インスタンスIDの下に表示されているメニューから「アクセス制御 > ユーザ」をクリックして、インスタンスのユーザ一覧画面をクリックし、「新しいユーザー」をクリックします(図8)。
まず開いたダイアログに、ユーザ名とパスワードを入力します。「詳細設定を表示」リンクをクリックするとユーザのホストを指定することが可能ですが、ここではホストは指定せずに「追加」をクリックします。
これで、MySQLに接続する準備が整いました。早速クライアントから接続してみましょう。
$ mysql –host=<割り当てられたIPv4アドレス> --user=<作成したユーザ名> --password
パスワードを入力して、MySQLクライアントが立ち上がれば接続完了です。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- Google Compute Engineで仮想マシンを作る
- MySQL Clusterにおけるレプリケーション環境構築例
- 初めてでも安心! OCIチュートリアルを活用して、MySQLのマネージド・データベース・サービスを体験してみよう
- Windows AzureでのMySQL = ClearDBを攻略しよう!
- Pythonで作られた便利なコマンドラインツール MySQL Utilities
- Amazon S3のライバル? Google Cloud Storageに触れてみる
- 【Azure Database座談会】識者が語るMySQL/PostgreSQLマネージドサービスのメリットとは
- MySQL Clusterのバックアップ/リストアの具体例
- 高可用性クラスタへの応用
- MySQL Enterprise Edition最新情報