質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

JDBC

JDBC(Java DataBase Connectivity)は、Javaとリーレーショナルデータベースに接続させる基本的なAPIです。Java上でSQLステートメントを発行することで、データベースの種類に影響を受ないDB操作を可能とします。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

2回答

3611閲覧

GASでAWS EC2のMySQLに接続したい

apeiria_t

総合スコア4

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

JDBC

JDBC(Java DataBase Connectivity)は、Javaとリーレーショナルデータベースに接続させる基本的なAPIです。Java上でSQLステートメントを発行することで、データベースの種類に影響を受ないDB操作を可能とします。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

1クリップ

投稿2020/02/20 15:56

編集2020/02/20 16:34

前提・実現したいこと

GASを使ってMySQLに接続してテーブル構造確認したり、データの確認したい
接続先はAWSのEC2に作ったLAMP環境のMySQLに接続しようと思ってます

こちらを参考にさせていただきました
GASを使って、スプレッドシートにMySQLのテーブル定義書を作成する
https://qiita.com/kumanizm/items/7bf5019e41ecdbcf5197

発生している問題・エラーメッセージ

参考にさせていただいたGASを使わせて頂いて、動作のテストをしてみたのですが実行でエラーが発生しており困っております

Exception:データベース接続を確立できませんでした。接続文字列、ユーザー名、パスワードを確認してください。

該当のエラー行は下記の通りで、mysqlのサーバーに接続できていないようです

gas

1var conn = Jdbc.getConnection(con_str, user_id, user_pass);

GASに記載するconfigのipアドレスやユーザーPassなどおそらく間違いはないと思うのですが、接続できません

EC2にはGASから接続できないとかあるのでしょうか?
サーバー側で設定などが必要ではないかと思っているのですが、どうやればこのエラーが解消され、動作するようになるでしょうか?

補足情報(接続先のサーバー情報)

・AWS EC2 (Amazon Linux 2)
・MySQL (10.2.10-MariaDB)
・PHP (7.2.21)
・Apache (2.4.39)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

そもそもEC2のセキュリティグループで接続を許可してないのではないでしょうか?
EC2へのアクセス制御はセキュリティグループによって必要なポート、IPレンジを許可することによって行います。(細かくは他にも色々ありますが)
GASのIPレンジはこのように調べることができます。

ただ、これらをすべて許可すると相当数のレンジを許可しなければならず、明らかに必要以上のアクセスを許可することになります。
そういった観点から、「できなくはないと思われますが、危険なのでおすすめしません」と回答します。
GASを使ってわざわざEC2上に作ったMySQLデータベースに接続することのメリットもあまり見えませんし…。

投稿2020/02/21 01:41

yu_1985

総合スコア7471

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

apeiria_t

2020/02/22 20:02

なるほど、接続セキュリティグループの設定をしていないので接続ができないのですね GASで動作はさせて少しいじってみたいのでセキュリティの設定試してみます しかしこのGASの為に、多いIPレンジを設定するのはセキュリティ的に危険ですね 実用は難しそうですね、ご回答ありがとうございます
guest

0

直接の回答ではありませんが、
テーブル定義書を作るのが目的でGASが必須ということにこだわらなければ、よく使われるA5:SQL Mk-2を使ってDB定義書を自動生成 を利用されては?フリーソフトです。便利さを評価できるならちょっと寄付してあげて下さい。

ほとんどのユーザーでテーブル定義書を最新の状態できちんと維持できているところって見たことはありませんから、Excelにすることに拘らなければ、MySQL INFORMATION_SCHEMA テーブル 以下からテーブル、カラム、制約などの情報を取得するのも賢い方法です。

投稿2020/02/21 00:15

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

apeiria_t

2020/02/22 19:54

とても便利そうなソフトですね! 教えていただきありがとうございます、自分でも使ってみようと思います!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問