苦戦しましたがやり方はシンプルなのでドキュメントとして残しておきます。
1,Cloud SQL API を有効にする
2,プロキシをインストールする
3,サービス アカウントを作成する
4,プロキシを開始する
まずは、google公式をみてproxy環境を整えます。
https://cloud.google.com/sql/docs/mysql/connect-admin-proxy?hl=ja
2,自分の環境に合わせてproxyをインストールしてください。
Cloud SQL Auth Proxy を使用して接続する | Cloud SQL for MySQL | Google Cloud
ちなみにgoogle sdkが入っていない方は入れてください。
次に、
./cloud_sql_proxy -instances=インスタンス接続名=tcp:3306
ホストから上のコマンドを実行します。
proxyが起動します。
インスタンス接続名は、google sqlの概要に記載してあります。
Ready for new connections
の表示が出たらproxyがオンになりました。
proxyをオンにした状態でないと接続ができないのでターミナル を複数使います。
次にコンテナに入ります。
docker exec -it コンテナID /bin/bash
を使用します。
そしてコンテナからホストIPを調べます。
ping host.docker.internal
上記のコマンドを叩くとホストにpingを送ります。
これで自身のホストIPがわかると思うので
コンテナ内から
mysql -u root -p --host ホストのIPアドレス
を実行するとcloud sqlに接続することができます。
コメント