下記サイトを参考にしながら、GASからGCPのCloudSQL内のデータベースに接続を試みています。
GASのJDBCサービスでCloud SQLデータベースに接続をする方法
このサイトには個人的にいつも本当にお世話になっています。
さて、説明通りに進めているのですが、下記エラーが発生してしまい、接続が確立できません。
メッセージの詳細
Exception: データベース接続を確立できませんでした。接続文字列、ユーザー名、パスワードを確認してください。(行 1760、ファイル「code」)
コードは下記です。
gas
1function dbtest() { 2 const userName = 'root'; 3 const password = '********'; 4 Jdbc.getCloudSqlConnection('jdbc:google:mysql://************:us-west1:********', userName, password); 5 6 Jdbc.getCloudSqlConnection('jdbc:google:mysql://************:us-west1:********', userName, password).close(); 7}
*は伏せ字です。
1760行目に記述されているのは、
Jdbc.getCloudSqlConnection('jdbc:google:mysql://********:us-west1:****', userName, password);
という内容です。
(userName, password)には適切な情報を入れています。
これらの変数が適切であると言えるのは、MySQL Workbenchというソフトを使った場合、対象データベースにネットワークを追加して自宅のIPアドレスを許可すると、「パブリックIP」をホストに指定した場合にはCloudSQLに接続ができ、操作もできるからです。
そのようなわけで、接続が確立できないのは対象データベースに接続を許可する何かの設定をしていないからではないかと考えておりますが、参考にさせていただいているウェブサイトにはそうした設定については言及されていないので、今回、こちらで質問させていただきました。
GASとMySQLで接続を成功させているブログはたくさんあり、色々見ているのですが、なかなか核心に至れないでいます。
SpreadSheetからCloudSQL(MySQL)に接続する方法
上記記事も参考にさせていただき、手動で
JDBCにあるIP一覧をパブリックIPに追加しました。
追加したIP一覧はこちら
64.18.0.0/20
64.233.160.0/19
66.102.0.0/20
66.249.80.0/20
72.14.192.0/18
74.125.0.0/16
173.194.0.0/16
207.126.144.0/20
209.85.128.0/17
216.239.32.0/19
上記を追加してみたものの、接続は確立できませんでした。
こうした状況なのですが、私が見落としている点がありましたら教えていただけましたらありがたく思います。またこのような質問をしている私が補うべき知識の分野にお気づきになるようでしたら、参考になりそうな情報や学ぶべき分野についても教えていただけたら嬉しく思います。
それではどうぞよろしくお願いいたします。
追記2020/09/03 0:21
その後、下記サイトの方法も試しましたが接続を確立することはできませんでした。
Be Happyman!!
簡単そうに書かれているものの、かなりハードルが高いような気がしますが、このような使い方をする方はあまりいらっしゃらないのでしょうかね。
実は今回、私が本当に行いたいことは、FireBaseでホスティングしたHTML+CSS+JS(Vue)から、CloudSQLのRDBに接続してデータを読み書きすることなのですが、その方法もよく分からず、GAS経由で接続しようとしているところなのです。結局CloudSQLを気軽に使う方法って本当にあるの?という感じで疑問に悩むこの数週間です。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/04 03:00