GCP day6:Cloud SQL を使ったアプリのデプロイ

f:id:dombri:20191105234125j:plain こんにちは。

更新をすっぽかすところでした・・・ あぶないあぶない。

本題の前に

まだ胃腸の動きが怪しいですが、上野の森美術館で開かれている「ゴッホ展」に行ってきました。いやぁ良かったです。

ゴッホ、10年間しか画家活動していなかったそうです。37年の生涯、晩年は精神を患い、療養所で絵を描いていたということも初めて知りました。
「ひまわり」が有名(今回の展示にはありません)ですが、メインの「糸杉」の色遣いと迫力はぜひみていただきたいです。私は惹かれました。

一人の画家がハーグ派、印象派から受けた影響で作風を変えていく様子を垣間見ることができてそれも面白かったです。

上野周辺の美術館・博物館はどこも魅力的な特別展を開いていて、上野に到着してからも悩みに悩んで選びました。 都美館や西洋美術館、国立科学博物館のミイラ展も行きたいなと思います。

話を戻して

本日の内容は以下です。ようやくIaaS以外のサービスをさわり始めた。

Cloud SQL を使ってみる

f:id:dombri:20191110183923j:plain

今日はメモ少なめ。キーボードたたいている時間の方が長くなってきた。

1. Cloud SQL インスタンス作成

① [Cloud Console] -> [ストレージ] -> [SQL] を選択
② [データベースエンジンの選択] で [MySQL] を選択
③ 必要項目を入力し[作成]

2. 接続名の確認

インスタンス名 -> [概要] の [インスタンス接続名] を控える

gcp-compute-engine-*****:asia-southeast1:****

3. Cloud SQL API の有効化

①[APIとサービス] -> [ライブラリ] -> [Google Cloud SQL Admin API] を選択し、有効化

4. Databaseの作成

①[Cloud Console] -> [インスタンス名] -> [概要] の [CloudShell を使用して接続] を選択
-> コンソール画面が表示

5. DB接続

$ gcloud sql connect websql --user=root
# パスワード入力

# DB作成
mysql> create database <DB Name>;  

# DBが作成できていることを確認
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| *******_db         |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

6. アクセス権の設定

mysql> grant all privileges on message_db.* to <DBユーザ名>@"%" identified by '<password>' with grant option;
Query OK, 0 rows affected, 1 warning (0.05 sec)

# ユーザの作成を確認
mysql> select user,host from mysql.user;
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| appuser   | %         |
| root      | %         |
| mysql.sys | localhost |
+-----------+-----------+

7. アプリのデプロイ

$ cd $HOME/gcp-compute-engine
$ wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64

# DL したファイルを移動、実行権限の設定
$ mv cloud_sql_proxy.linux.amd64 cloud_sql_proxy
$ chmod +x cloud_sql_proxy 
$ sudo mkdir /opt/cloudsqlproxy
$ sudo mv cloud_sql_proxy /opt/cloudsqlproxy/

# UNIX ソケットを格納する
ディレクトリを作成(Cloud SQL Proxy 使用)
$ sudo mkdir /cloudsql
$ sudo chmod 777 /cloudsql

8. アプリケーションの修正

cd ~/gcp-compute-engine/
vi app_v2/app.py

# Cloud SQL Proxy起動用設定ファイルを修正
vi app_v2/cloudsqlproxy.service

9. アプリのデプロイ

$ sudo systemctl stop <アプリ>.service
$ sudo app_v2/install.sh
$ sudo systemctl enable cloudsqlproxy.service
$ sudo systemctl start cloudsqlproxy.service
$ sudo systemctl status cloudsqlproxy.service
# active(running) であればOK
$ sudo systemctl start <アプリ>.service

10. 動作確認

VM に付与された外部IPにアクセス

f:id:dombri:20191110183917p:plain

掲示板にカキコ()することができました。

ここまでのまとめ

いよいよ明日で1週間!
チャレンジ成功なるか・・・乞うご期待です。