😽
GCE上のMySQL Serverにローカルからアクセスする
前提
GCE上でMySQLコンテナが起動済み
GCEインスタンスにタグを付与
$ gcloud compute instances add-tags db(インスタンス名) --tags mysqlserver(タグ名) --zone asia-northeast1-b
ファイアウォールルールの作成
$ gcloud compute firewall-rules create mysql-remote-access(ファイアウォールルール名) \
--allow tcp:3306 \
--source-ranges xxx.xxx.xx.xx \ # 接続許可するIPを指定できる(指定しない場合0.0.0.0/0となる)
--target-tags mysqlserver(接続先インスタンスに付与したネットワークタグ名)
たとえば自宅のグローバルIPを--source-ranges で指定すれば、自宅から以外の接続を遮断できる。
グローバルIP確認サイト
グローバルIP確認できます。
MySQL接続確認
$ mysql -u hoge -pfuga -h インスタンスの外部IP -P 3306 --protocol=tcp
ちなみにローカルでコンテナをたてている場合は外部IPの部分をlocalhostにすればOK
$ mysql -u hoge -pfuga -h localhost --protocol=tcp
Discussion