cloudSQLにproxy接続するためのdockerコマンドをdocker-composeで書いてみる

Saturday, August 29, 2020

GCPのCloudSQLにMySQLWorkBenchなどローカルから接続したい場合は、Proxyをインストールすれば接続出来ます。ただdocker全盛のこのご時世ですので、開発環境は汚さずになるべくコンテナを使って行きたいという需要はあるかと思います。

オフィシャルにドキュメントもコンテナも整備されているので、その通りにコンテナを動かすのもおおいにアリです。

Cloud SQL Proxy Docker イメージを使用した MySQL クライアントの接続

ただ、dockerのコマンドは長くなりがちで理解しづらい部分もあり、自分の場合は大抵docker-compose.ymlに書き換えて運用しています。docker-compose化したymlファイルは以下の通り

version: '3'
services:
  cloudsql:
    image: gcr.io/cloudsql-docker/gce-proxy:1.16
    volumes:
      - <PATH_TO_CONFIG_FILE>:/config
    ports:
      - 3306:3306
    restart: unless-stopped
    command: [ "/cloud_sql_proxy", "-instances=<INSTANCE_NAME>=tcp:0.0.0.0:3306", "-credential_file=/config" ]

<PATH_TO_CONFIG_FILE>にダウンロードした秘密鍵ファイルへのパス、<INSTANCE_NAME>にはcloudSQLのインスタンス名を入れます。

実行は以下の通り

docker-compose up -d

長いdockerコマンドをいちいち実行するより、composeファイルにした方がVCSでも管理出来ますし楽チン

GCPMySQL
CC BY-SA 4.0

温泉たまご

ミニマリストエンジニア。HelloQLの開発とCryptoCurrencyのトレードで生計を立てている

AngularとFirebaseでマルチホスティングする方法