23
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【初心者必見】Eclipseで作成したJavaWebアプリケーションをAWSにデプロイする。その③(最終回)

Posted at

##初めに

【初心者必見】Eclipseで作成したJavaWebアプリケーションをAWSにデプロイする。その①
【初心者必見】Eclipseで作成したJavaWebアプリケーションをAWSにデプロイする。その②
の作業の続きの記事になるのでそちらを読んでからお越しください。

##STEP7 : jdbcドライバのダウンロードと配置
MySQLのjdbcドライバを以下からインストールする
https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.20
スクリーンショット 2021-02-09 0.35.04.png

ここからは対象のWebアプリケーションにDLしたjarファイルを配置する。
DLしたmysql-connector-java.8.0.20.jarをProjectのWebContent/WEB-INF/libへ配置。
その後プロジェクト名で右クリック>ビルド・ビルドパス>ビルドパスの構成
「jarの追加」から、今配置したjarへの参照を追加
スクリーンショット 2021-02-09 0.36.55.png

##STEP8 : DAOやDB接続のjavaファイルの設定
DBとの接続設定を記述する.javaファイルにて、

DRIVER_NAME = "com.mysql.jdbc.Driver";
URL = "jdbc:mysql://RDSのエンドポイント名/DB名?serverTimezone=JST";

と設定する。
赤字のところがないと動作しない。気が狂うほど悩んで解決した。多分AWSの地域設定の関係
ローカルでやってるときはあんまり考えないけど、AWSは世界的なサービスだからちゃんとタイムゾーンを設定しないとダメみたい。
USER,PASSWORDも自分で設定したものを打ち込む。

上のように記述してローカル環境でプログラムを動かせばRDSにアクセスできる。
適当にローカルで動作確認はしておこう(一旦デプロイしてからの修正は面倒なので)

##STEP9 : jdbcドライバとwarファイルのデプロイ
動作確認までした問題なければアプリをwarファイルに固めていよいよデプロイ。
TeratermからEC2にログインし、mysql-connector-java.8.0.20.jarと作成したwarファイルをTeratermにドラッグ&ドロップ
次のような画面が出てくるが、そのままOKを押す。→warファイルがホームディレクトリに入る
スクリーンショット 2021-02-09 0.48.52.png

さて、最後のコマンド操作
先ほど取り込んだ二つのファイルを然るべき場所に配置する。

//コネクタをインストール
sudo yum -y install mysql-connector-java

//指定の位置にコピー
cp /usr/share/java/mysql-connector-java /usr/libexec/tomcat8/bin/

//rootで操作していた場合は一度exitし一般ユーザに戻る
//homeディレクトリに戻るのでそこでlsして取り込んだmysql-connector-java.8.0.20.jar、hogehoge.warがあるか確認しておこう

//二つを然るべき場所に配置
sudo mv mysql-connector-java.8.0.20.jar /usr/libexec/tomcat8/bin/
sudo mv historyProgram.war /usr/libexec/tomcat8/webapps/

##LAST STEP : 動作確認
次のようにURLを打ち込むとデプロイしたアプリが確認できる。
###http://[EC2のIPアドレス]:8080/[アプリの構成(indexとか)]

DB連携もできるかどうか、 TeratermでMySQLを叩きながら確認しよう。
###ここまで長いこと本当にお疲れ様でした!!!

##残課題

  • 今回はVPCの設定などはデフォルトだが、本来はサブネットなど適切に設定が必要
  • https(セキュア接続)とかもチャレンジしてみたい
  • URLにIPアドレスが入っているのでAWSのRoute53などのDNSサービスを適切に使いたい

##最後に
ここまで読んでいただきありがとうございます。
ストック、LGTM、励みになります。
この記事が何かお役に立てれば幸いです。

[p.s]
二人とも一緒に勉強してくれてありがとう!
https://qiita.com/SG_Sg
https://qiita.com/sukiJava

23
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?