GCP(Google Cloud Platform)で MySQLを構成してみる
ここのところBigQueryを追いかけていましたが
せっかくなら、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]をクリック
続けて[インスタンスの作成]をクリック
ここで、対象となるデータベースエンジンを[MySQL]と[PostgreSQL]から選択します。
PostgreSQLはまだベータ版のようです。
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世代を選択します。
続いて構成するインスタンスのIDやrootユーザーのパスワード、インスタンスのリージョンを選択します。
ちなみに、わかりづらいですが、[asia-notheast1]が東京リージョンです。
なお、詳細オプションから以下のようにデータベースのバージョンや自動バックアップの設定等が変更できます。
これで作成をクリックすれば、自動的にMySQLが構成されます。
なお、ローカルから接続する際には、インスタンスの詳細から[承認]→[ネットワークを追加]をクリックして、アクセスしているIPアドレスを承認する必要があります。
これで、MySQL Workbenchなどから接続できるようになります。
MySQL Excel-Addinでも繋いでみる
せっかくなので、私の会社で提供しているMySQL Excel Add-inも繋いでみたいと思います。
Excel上からMySQLのデータを参照・作成・更新・削除ができるアドインです。
以下から試用版がダウンロードできます。
Excelアドインインストール後、[CData]タブが追加されるので[取得元MySQL]をクリックします。
(大量にサービスが並んでいますが、気にしないでください)
先程構成したGCP MySQLインスタンスのDatabase、User、Password、ServerのIPアドレスをそれぞれ入力します。
すると以下のようにGUIベースでMySQLのテーブルとカラムが選択できるようになるので、任意のテーブルを選択して、OKをクリック。
以下のように、MySQLのデータがロードされます。ここから直接、データの操作も可能です。
おわりに
さて次回はMySQLとBigQueryの連係を試してみたいと思います。