share facebook facebook facebook twitter twitter menu hatena pocket slack

2012.12.12 WED

CentOSでTomcatからDataSourceを利用してRDS(MySQL)に接続

鈴木 宏康

WRITTEN BY 鈴木 宏康

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

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

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

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

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

# 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ディレクトリを作成します。

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

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




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

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

# chown -R root.tomcat META-INF

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




Welcome to Tomcat
Welcome to Tomcat


DB Connection
jdbc/suz-mysql
javax.sql.DataSource
Container



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

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

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



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

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)監修のもと掲載しています。
元記事は、こちら

鈴木 宏康

鈴木 宏康

愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。