RDSが起動済みであり、必要なポートに対してセキュリティグループまわりが設定されている状態であることを前提として進めます。

まずはTomcatのインストールです。

1
2
3
# yum -y install java-1.7.0-openjdk tomcat6-webapps
# /etc/init.d/tomcat6 start
Starting tomcat6:                                          [  OK  ]

8080ポートにアクセスし、下記のように表示されることを確認します。

次にJDBCドライバ(MySQL)のインストールです。

1
2
3
4
5
6
# yum -y install mysql-connector-java
# rpm -ql mysql-connector-java | grep jar
/usr/share/java/mysql-connector-java-5.1.17.jar
/usr/share/java/mysql-connector-java.jar
# cd /usr/share/java/tomcat6
# ln -s ../mysql-connector-java.jar mysql-connector-java.jar

Tomcatから利用するためにシンボリックリンクを張っているところがポイントです。

そしてデータソースの設定ですが、基本的に下記に従って設定しました。
Apache Tomcat 6.0 (6.0.35) – JNDI Datasource HOW-TO / MySQL DBCP Example

context.xmlを配置するMETA-INFディレクトリを作成します。

1
2
# cd /var/lib/tomcat6/webapps/ROOT/
# mkdir META-INF

META-INF/context.xmlは下記の通りです。

1
2
3
<context>
<resource name="jdbc/suz-mysql" auth="Container" type="javax.sql.DataSource" maxactive="100" maxidle="30" maxwait="10000" username="suzuki" password="password" driverclassname="com.mysql.jdbc.Driver" url="jdbc:mysql://suz-mysql.cpwbxg8dcrxi.ap-northeast-1.rds.amazonaws.com/suzuki">
</resource></context>

パラメータ「url」にRDS(MySQL)のエンドポイントを指定しておきます。

オーナーも調整しておきます。

1
# chown -R root.tomcat META-INF

WEB-INF/web.xmlは下記の通りです。

01
02
03
04
05
06
07
08
09
10
11
12
13
14
<!--?xml version="1.0" encoding="ISO-8859-1"?-->
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
 
<display-name>Welcome to Tomcat</display-name>
<description>Welcome to Tomcat</description>
 
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/suz-mysql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
 
</web-app>

resource-refタグで、利用するDataSourceを指定しておきます。

そして、TomcatをリスタートするとDataSource経由でRDS(MySQL)が利用できるようになります。

下記のテストJSPで接続確認を行います。

1
 

上記のJSPにアクセスし次のように表示されれば、接続成功です。

1
2
3
4
5
6
DatabaseProductName: MySQL
DatabaseProductVersion: 5.5.27
DriverName: MySQL-AB JDBC Driver
DriverVersion: mysql-connector-java-5.1.17-SNAPSHOT ( Revision: ${bzr.revision-id} )
URL: jdbc:mysql://suz-mysql.cpwbxg8dcrxi.ap-northeast-1.rds.amazonaws.com/suzuki
UserName: suzuki@10.0.0.166

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら