GCPの無料枠でMySqlのインスタンスを作成し、MySql WorkBenchから接続する

皆さん、プログラム開発する際にインフラに余分なお金はかけたくないですよね？

そんな皆さんにお得な情報です。GCPではグーグルアカウントを持っているだけで、12か月、300ドルの無料枠が提供されています。
(https://cloud.google.com/free/?hl=ja)

今回僕も[GCPの無料枠]が大量に残っていることを思い出して、DBを無料で立ち上げてみました。せっかくなのでやり方を残しておきます。

同じようにRDBを無料で使いたい！という方のお役に立てば幸いです。

* **[1]プロジェクトを新規作成**
* **[2]VMインスタンスを作成し、静的IPアドレスを予約する**
* **[3]MySqlインスタンスのアドレス確認**
* **[4]root以外のユーザ作成**
* **[5]MySql Workbenchからの接続**

## [1]プロジェクトを新規作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/466621/b3c46eb3-c2b3-4257-9958-ffcd4a021bde.png)
プロジェクトを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/466621/8189e205-1f5d-b1b8-e790-ad1a359cd812.png)
サイドバーのSQLから、インスタンスを作成をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/466621/859de0f5-98ec-3af7-dbb0-75e2b468cf92.png)
MySqlを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/466621/b5126e8b-3a23-4b33-955f-60e6d71c00af.png)
ID、rootパスワード、リージョン情報を入力し、作成ボタンを押すとインスタンスが作成されるので、少し待ちます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/466621/64496a20-14f0-dcd4-54c3-0f684dca2a62.png)
MySqlのインスタンスが生成されました。

## [2]VMインスタンスを作成し、静的IPアドレスを予約する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/466621/4de2184a-ad6d-7952-f593-f286db00d160.png)
サイドバーのComputeEngineから、VMインスタンスをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/466621/eb3834fb-a542-c9ca-4eeb-af4abdcca6fc.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/466621/90c27dfc-9064-72dd-4a84-42112952406d.png)
名前とリージョンを入力したら、後は作成でOKです。(後から変更できます)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/466621/1539cdcd-2667-3ec9-362d-a546b3c598d4.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/466621/6daa709c-29e8-f099-eeca-21e32ec362e0.png)
次にVMインスタンスに割り付ける静的アドレスを予約します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/466621/ada0bf77-0571-a51e-5f9a-a2eb4c60b049.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/466621/a8b70c07-17cd-5139-9656-6871f008796c.png)
予約が完了すると、外部アドレスが表示される為、紙に控えておきます。
### VMインスタンスからMySqlへのの接続を許可する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/466621/b29decf3-ef99-89d6-4ea3-eb9340650998.png)
SQLのタブに戻り、先ほど作成したMySqlのインスタンスをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/466621/1b3a63cb-ddeb-fd34-84fb-84937f1553bf.png)
接続タブをクリックし、ネットワークを追加をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/466621/6c7aff3d-e09d-2bcc-a0ae-98d9981f0fb1.png)
先ほど予約した静的アドレスを入力して、完了ボタン、保存ボタンを押します。
### ローカル環境からMySqlへのの接続を許可する

ローカルのIPアドレスも併せて許可する必要があります。
[確認くん](https://www.ugtop.com/spill.shtml)であなたのＩＰアドレス(IPv4)が表示されるので、そのアドレスを先ほどと同様に設定します。


## [3]MySqlインスタンスのアドレス確認

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/466621/47f9c05b-72bf-fce0-7b49-5f8fff8588e3.png)
SQL>概要タブから、このインスタンスに接続を確認し、
MySqlインスタンスのパブリックIPアドレスを確認します。後ほど使用するため、こちらも控えておきます。
## [4]root以外のユーザ作成
SQL>概要タブから、ユーザアカウントを作成をクリックして、root以外にもユーザを用意します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/466621/2ff49fdd-0a56-412e-1a43-52ebd30350f4.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/466621/869baeb3-828d-64a8-679a-05fbae475212.png)
すべてのホストを許可するにチェックをつけて、作成します。
これでGCPからの設定は完了です。
## [5]MySql Workbenchからの接続

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/466621/c986422e-11d3-c89b-dd5b-4808d6728f8c.png)
トップの＋マークをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/466621/f1f7ebb0-6f1a-9b25-f002-c85c21b02c5c.png)
HostNameに先ほど確認したMySqlインスタンスのパブリックIPアドレス、先ほど設定したusernameとpasswordを入力し、TestConnectionを押します。

今までの設定が完了していれば、正しく接続できるはずです。

それでは皆さん、賢くインフラ構築して良い開発ライフを！