selmertsxの素振り日記

ひたすら日々の素振り内容を書き続けるだけの日記

CloudSQL をRailsで使ってみる

モチベーション

  • 今、個人で作ってるプロダクトを試しに GKEで動かしてみたい
  • GCPだと、RDBはCloudSQLを利用した方が良さそう
  • GKEの前に、CloudSQLを触ってみる

今日の学び

  • CloudSQLは、Globalからアクセス可能であるが、IPのホワイトリストかProxyを利用する必要がある
  • 開発時には固定IPを取得することが難しいので、Proxyを利用するのが良い

概要

下記2つのドキュメントを見て作業した

インスタンス作成

gcloud sql instances create pomodoro-dev-db --tier=db-f1-micro --region=asia-northeast1
gcloud sql users set-password root % --instance pomodoro-dev-db --password [PASSWORD]

接続名の取得

shuhei_morioka@cloudshell:~ (speee-dev-optim)$ gcloud sql instances describe pomodoro-dev-db | grep connectionName
connectionName: xxx:asia-northeast1:pomodoro-dev-db

このconnectionNameを Proxyにも利用する

Cloud SQL Proxyの利用

curl -o cloud_sql_proxy https://dl.google.com/cloudsql/cloud_sql_proxy.darwin.amd64
chmod +x cloud_sql_proxy
bin/cloud_sql_proxy -instances=xxx:asia-northeast1:pomodoro-dev-db=tcp:3307
mysql -u root --host 127.0.0.1 --port 3307 -p

https://cloud.google.com/sql/images/proxyconnection.svg

今日覚えたコマンド

gcloud sql instances describe pomodoro-dev-db
backendType: SECOND_GEN
connectionName: xxx:asia-northeast1:pomodoro-dev-db
databaseVersion: MYSQL_5_7
etag: '"xxxx/Mw"'
gceZone: asia-northeast1-a
instanceType: CLOUD_SQL_INSTANCE
ipAddresses:

次回の対応

GKE動かしてき Connecting from Kubernetes Engine  |  Cloud SQL for MySQL  |  Google Cloud