cloudsqlをcloudsqlproxy経由で通信する構築手順
4212 ワード
gceからcloudsqlへの接続はcloudsqlproxyを使わなくても可能だが、スムーズに暗号化通信するため、cloudsqlproxyを導入する。
cloud_sql_proxy導入手順
-
- cloudsqlへアクセスするサービスアカウント新規作成(既存SAでも良い)+JSONキーを発行する
-
- Cloud SQL Proxyをインストールしよう
vm側にsshログインしてrootユーザになってから以下コマンドを実行する。
- Cloud SQL Proxyをインストールしよう
# cd /root
# wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
# chmod +x cloud_sql_proxy
# chown root:root cloud_sql_proxy
# mv cloud_sql_proxy /usr/bin/
ダウンロードしたjsonキーを貼り付ける。
# vi /root/GQL-Connect.json
{
"type": "service_account",
"project_id": "*****work",
"private_key_id": "*************************",
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBg4qg==\n-----END PRIVATE KEY-----\n",
"client_email": "**********@**********.iam.gserviceaccount.com",
"client_id": "11110000",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://accounts.google.com/o/oauth2/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/dbadmin1641%40analog-vault-55555.iam.gserviceaccount.com"
}
ソケットになるディレクトリを作成する。
# mkdir /cloudsql
# chmod 777 /cloudsql
-
- Cloud SQL Proxyの起動テスト・接続テスト
# cloud_sql_proxy -dir=/cloudsql -instances=**********:asia-northeast1:cloudsql1 -credential_file=/root/GQL-Connect.json &
#********** 07:43:32 Ready for new connections
#“-instances=インスタンス接続名”にはメモした接続名を入れる。
このコマンドが動くとCloud SQL Proxyが起動することが確認できる。
違うコンソールを開いて接続できるか確認する。
# mysql -u root -p -S /cloudsql/**********:asia-northeast1:cloudsql1
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 227
Server version: 5.7.14-google-log (Google)
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
問題なければ上のように接続が確認できる。
-
- Cloud SQL ProxyのSystemd化手順
# vi /etc/systemd/system/cloud_sql_proxy.service
[Unit]
Description = Cloud SQL Proxy Daemon
After = network.target
[Service]
ExecStart = /bin/cloud_sql_proxy -dir=/cloudsql -instances=**********:asia-northeast1:cloudsql1 -credential_file=/root/GQL-Connect.json
ExecStop = /bin/kill ${MAINPID}
ExecReload = /bin/kill -HUP ${MAINPID}
Restart = always
Type = simple
LimitNOFILE=65536
[Install]
WantedBy = multi-user.target
ExecStartの-instances=の後はGoogle Cloud SQLの接続インスタンス名を環境に合わせてそれぞれ変更すること。
- 5.自動起動設定を行う。
# systemctl start cloud_sql_proxy
# systemctl enable cloud_sql_proxy
再起動しよう
# reboot now
再起動してCloud SQL Proxyが起動していたら大丈夫。
- 参考
cloudsqlをcloudsqlproxy経由で通信する構築手順
https://qiita.com/cognitom/items/c6b2ccb6e6b0f731850a
GCP Cloud SQLにCloud SQL Proxyで接続しよう。Systemd化してデーモン化!
Author And Source
この問題について(cloudsqlをcloudsqlproxy経由で通信する構築手順), 我々は、より多くの情報をここで見つけました https://zenn.dev/pell/articles/945085771a9ffe著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol