Morning Girl

Web API, Windows, C#, .NET, Dynamics 365/CRM etc..

GCP(Google Cloud Platform)で MySQLを構成してみる

ここのところBigQueryを追いかけていましたが

kageura.hatenadiary.jp

せっかくなら、MySQLとBigQuery、セットで色々と組み合わせて使ってみたい!

ということで、MySQLも構成してみましたので、そのメモです。

GCP Cloud SQL

2018年2月現在、GCPではCloud SQLというサービス名で、[MySQL]と[PostgreSQL]の2つのデータベースPaaSを提供しています。

https://cloud.google.com/sql/docs/?hl=ja

個人的にMicrosoft SQL Serverが使えないのが寂しいところではありますが、なんかこのラインナップは私的にGoogleらしいな、と思わせます。(特に他意はありません。)

今回は、個人的に使い慣れているMySQLを選んでみました。

MySQKの構成

とりあえず、GCP Consoleにアクセスして、メニューから[SQL]をクリック

console.cloud.google.com

f:id:sugimomoto:20180217150047p:plain

続けて[インスタンスの作成]をクリック

f:id:sugimomoto:20180217150051p:plain

ここで、対象となるデータベースエンジンを[MySQL]と[PostgreSQL]から選択します。

PostgreSQLはまだベータ版のようです。

f:id:sugimomoto:20180217150055p:plain

MySQLは第2世代と第1世代から選択します。

詳しい違いは以下からどうぞ。

GCPとかクラウドサービスって、このレガシーって言葉好きですよね。すぐレガシーにしたがるような・・・。ある意味いい戦術かもしれない。)

第 2 世代機能  |  Cloud SQL ドキュメント  |  Google Cloud Platform

個人的に感じる大きな違いは、サポートされるMySQLのバージョン、および扱えるRAMとストレージの大きさでしょうか。

第 2 世代インスタンスは、MySQL 5.6 と 5.7 をサポートし、最大で 208 GB の RAM と 10 TB のデータ ストレージを使用でき、必要に応じて、ストレージを自動的に増やすオプションがあります。 第 1 世代インスタンスは、MySQL 5.5 と 5.6 をサポートし、最大で 16 GB の RAM と 500 GB のデータ ストレージを使用できます。

あとは課金形態。第2世代は選択したマシンタイプによる実行時間課金オンリー(+ストレージと下りネットワーク料金)であるのに対して、第1世代はパッケージと従量制の2種類があるみたいです。

Cloud SQL for MySQL の料金  |  Cloud SQL for MySQL  |  Google Cloud Platform

とりあえず、今回は素直に推奨された第2世代を選択します。 f:id:sugimomoto:20180217150117p:plain

続いて構成するインスタンスのIDやrootユーザーのパスワード、インスタンスのリージョンを選択します。

f:id:sugimomoto:20180217150122p:plain

ちなみに、わかりづらいですが、[asia-notheast1]が東京リージョンです。

cloud.google.com

f:id:sugimomoto:20180217150141p:plain

なお、詳細オプションから以下のようにデータベースのバージョンや自動バックアップの設定等が変更できます。

f:id:sugimomoto:20180217150144p:plain

これで作成をクリックすれば、自動的にMySQLが構成されます。

f:id:sugimomoto:20180217150149p:plain

なお、ローカルから接続する際には、インスタンスの詳細から[承認]→[ネットワークを追加]をクリックして、アクセスしているIPアドレスを承認する必要があります。

f:id:sugimomoto:20180217150153p:plain

これで、MySQL Workbenchなどから接続できるようになります。

f:id:sugimomoto:20180217150158p:plain

MySQL Excel-Addinでも繋いでみる

せっかくなので、私の会社で提供しているMySQL Excel Add-inも繋いでみたいと思います。

Excel上からMySQLのデータを参照・作成・更新・削除ができるアドインです。

以下から試用版がダウンロードできます。

www.cdata.com

Excelアドインインストール後、[CData]タブが追加されるので[取得元MySQL]をクリックします。

(大量にサービスが並んでいますが、気にしないでください)

f:id:sugimomoto:20180217150251p:plain

先程構成したGCP MySQLインスタンスのDatabase、User、Password、ServerのIPアドレスをそれぞれ入力します。

f:id:sugimomoto:20180217150255p:plain

すると以下のようにGUIベースでMySQLのテーブルとカラムが選択できるようになるので、任意のテーブルを選択して、OKをクリック。

f:id:sugimomoto:20180217150259p:plain

以下のように、MySQLのデータがロードされます。ここから直接、データの操作も可能です。

f:id:sugimomoto:20180217150306p:plain

おわりに

さて次回はMySQLとBigQueryの連係を試してみたいと思います。