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

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

新規登録して質問してみよう
ただいま回答率
85.50%
MySQL

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

サーブレット

サーブレット(Servlets)とはウェブやアプリケーションサーバー上に動くプログラムのことであり、ウェブブラウザや他のHTTPクライエントとデータベースやHTTPサーバー上のアプリケーションの中間層としての働きをします。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

AWS(Amazon Web Services)

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

Q&A

1回答

4147閲覧

AWSでRDSとEC2の接続ができない(java)

Sfidante

総合スコア90

MySQL

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

サーブレット

サーブレット(Servlets)とはウェブやアプリケーションサーバー上に動くプログラムのことであり、ウェブブラウザや他のHTTPクライエントとデータベースやHTTPサーバー上のアプリケーションの中間層としての働きをします。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

AWS(Amazon Web Services)

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

0グッド

0クリップ

投稿2015/03/24 07:57

はじめまして。新人エンジニアでJava,MySQLについて半年ほど学び、只今WEBアプリケーションについて勉強しています。
環境はMacにてEclipse(Luna)を使用し、Java(SE8),JSP,MySQL(5.6),Tomcat(8.0)を使用してWEBアプリを作ろうとしております。

この度WEBアプリケーションをローカルではなく実際にFacebookアプリとして申請してみようと考え、AWSを利用することとなりました。
RDSインスタンス(MySQL)を作り、簡単なテストデータを入れ、同様に簡単なテストJSPからサーブレットを利用してDBのテーブルの表示を行ってみようと、Beanstalkを使用しプロジェクトをデプロイしたのですが、うまくDBに接続できないのでこちらで質問をさせていただきました。

まず、localhostでプロジェクトを実行した時、上記のテストデータはしっかりと動き、RDSのDBに接続できます。
同様にターミナル上でEC2にSSH接続し、RDSに接続もできます。
しかし、Beanstalkを使いEC2にデプロイするとDBに接続できなくなります。

調べた結果セキュリティグループが合っていないことが原因かと推測したのですが、RDS,EC2インスタンスそれぞれのセキュリティグループで互いのセキュリティグループを解放にしても全アドレス(0.0.0.0/0)を解放しても接続出来ませんでした。

次にAvilability Zoneが、それぞれでp-northeast-1cとp-northeast-1aで違うことが原因かと推測し、作り直し統一させてみましたがこちらもうまくいかず、理由がみつかりません。

localhost上で(DBには接続していますが)うまくいくのにサーバーに上げるとうまくいかないことを考えるとソースが間違えている可能性も少ないかと考えています。試しにhttp://codezine.jp/article/detail/7875こちらにあるサンプルのプロジェクトをデータベースのurl部分だけ変えて、テストデータを作り使用してみましたが同様でした。

VPCはデフォルトのまま使用しているのですが、同一のVPCを使っているので関係ないかなぁとも考えています。
またPublicly AccessibleはYESとなっております。

考えられる原因がなく四苦八苦しています。よろしければご教授お願いいたします。

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

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

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

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

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

guest

回答1

0

セキュリティグループで空けているポートは「3306」番ですか?
ローカルで出来ていてリモートで出来ないのは、ご承知のようにファイアウォール関連が一番怪しいです。

但し、まずはBeanstalkで立ち上がったEC2にログインし、ログに何が出ているかを確認されることをお勧めします。
いろんな原因が考えられますが、こういった問題は大抵ログが無いと回答者も的確な指摘ができません。
ログは設定次第ですが、たぶん/var/logの中のどこかに出ていると思います。

投稿2015/03/24 08:22

utun

総合スコア384

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

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

Sfidante

2015/03/24 09:48

ご回答ありがとうございます。 ポートは「3306」にしております。 ログですがBeansTalkのログとなっており、下記のもので合っておりますでしょうか? EC2側はシステムログというものがありますが、 非常に多くどこまで載せていいのかわからない状況です。 SEVERE [http-nio-8080-exec-5] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [test.Serv01] in context with path [] threw exception [null] with root cause javax.servlet.ServletException at test.Serv01.doGet(Serv01.java:61) at javax.servlet.http.HttpServlet.service(HttpServlet.java:618) at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:673) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1085) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658) at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1556) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1513) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) よろしくお願い致します。
utun

2015/03/24 13:48

そのログだけだと特定できませんね・・・。 Beanstalkで作成されたEC2から、RDSにコマンドでの接続は可能でしょうか? その際、エラーが出ている様であればそのログを張って頂いてもいいでしょうか。
utun

2015/03/24 13:52

追加で質問ですが、「Serv01.java:61」はDB接続を行っている行ですか?
Sfidante

2015/03/26 02:11

ご連絡が遅くなり申し訳ございません。 >Beanstalkで作成されたEC2から、RDSにコマンドでの接続は可能でしょうか? コマンドでの接続は可能です。 >「Serv01.java:61」はDB接続を行っている行ですか? 「Serv01.java:61」はServletException()のエラーをキャッチしてます。 60: }catch(Exception e){ 61: throw new ServletException();
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問