UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

【Cloud SQL】プロキシ経由で繋ぐ

これまでローカルからCloud SQLに繋ぐ時、GCEにつくったbastion(踏み台)インスタンスを立てて、次のようにそこ経由でsshでポートフォーワードして使っていた

$ gcloud compute ssh my-gcp-account@my-app-bastion --ssh-flag "-N -L 5432:xx.xx.xx.xx:5432"

今回コストの見直しで、踏み台インスタンスを立ち上げっぱなしも料金が少なからずかかるので踏み台なしで接続する方法を探していたところ

Cloud SQL Auth Proxyいうのを知ったので試した

Cloud SQL Auth Proxy

cloud.google.com

Cloud SQL Auth Proxy は、ローカル環境で動作するプロキシサーバで、承認済みネットワークや SSL の構成を必要とせずに、安全にインスタンスへアクセスすることができる

Cloud SQL Auth Proxy を使用するには、次の要件を満たす必要がある

  • Cloud SQL API が有効になっている
  • Cloud SQL Auth Proxy に Google Cloud 認証情報を指定する
  • Cloud SQL Auth Proxy に有効なデータベース ユーザー アカウントとパスワードを指定する
  • インスタンスでパブリック IPv4 アドレスが指定されているか、プライベート IP を使用するように構成されている

導入はドキュメントだとローカルマシンのOSに合わせてwgetとかcurlつかってダウンロード&インストールと書いてあるが、以下のコマンドでインストールした

$ gcloud components install cloud_sql_proxy

そして、下のコマンドでサーバーを立ち上げる

$ cloud_sql_proxy -instances="my-project:asia-northeast1:backend-db-postgres=tcp:5432"

これで踏み台不要でCloud SQLに繋ぐことができた