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

##初めに
[【初心者必見】Eclipseで作成したJavaWebアプリケーションをAWSにデプロイする。その①](https://qiita.com/AIM-Z/items/4848e061f21eacf0e815)
の続編。①の作業の続きの記事になるのでそちらを読んでからお越しください。

##STEP3 : EC2インスタンスの作成
AWSメニュー画面の左上のサービス > EC2
左のメニューバーから「インスタンス」を選択し、「インスタンスの作成」を押下
![スクリーンショット 2021-02-08 23.40.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/712635/860980c1-65cd-5332-285c-7e7ee1b9f350.png)

まずはAMIの設定をする
**AMI** : ざっくり言うと、EC2インスタンスに入れるOS
今回はAmazon Linux 2 AMI (HVM), SSD Volume Typeを選択
![スクリーンショット 2021-02-08 23.42.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/712635/4e2901b7-c529-30ed-b906-1d7d3772a807.png)

セキュリティグループの設定の手前までは今回はデフォルトで設定。
セキュリティグループは一つ目の記事で作成したものを設定。
![スクリーンショット 2021-02-08 23.42.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/712635/64af4c8b-18ca-8ddc-70bf-faf6c44faa06.png)

「起動」を押すと最後にキーペアの作成がある。
新しいキーペアを作成し、「インスタンスの生成」を押す。
![スクリーンショット 2021-02-08 23.50.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/712635/d650e60d-7de9-c9f5-7f89-23cfbaea17ab.png)
<font color="Red">**この時「hogehoge.pem」がDLされるので大切に保管しておく。
これは後述のTeraTermからEC2にssh接続するときに必要になる。**
</font>

インスタンスの作成にはしばらく時間がかかる。
作成が終わると次のように緑色のマークがつく。（EC2起動）
<font color="Red">**これ以降の作業はEC2インスタンスが起動した状態で行う。**
</font>
![スクリーンショット 2021-02-08 23.47.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/712635/62dace66-9799-1520-9b68-c89751ee87fa.png)

##STEP4 : TeratermのインストールとEC2ログイン
Teratermはざっくり言うとSSH・telnetの各通信プロトコルを利用してリモートログインを行うためのWindows用ソフトウェア。

インストールの手順は以下を参照
https://eng-entrance.com/teraterm-install

EC２にログインするところまではこの動画が非常にわかりやすかった。
２分くらいの動画なのでぜひ。<font color="Red">**ログイン時に先ほどDLしたキーペアが必要**</font>
https://recipe.kc-cloud.jp/archives/5971

EC2にログインが成功したら次のようになる。
![スクリーンショット 2021-02-09 0.02.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/712635/2c55f17f-9470-626d-eb2e-a8b7065b1c7b.png)

##STEP5 : MySQLのインストール
ここからは<font color="Red">**TeratermでEC2インスタンスにログインした状態**</font>で作業する。

MySQLのインストールはこちらを参照
https://qiita.com/mcz9mm/items/731fd4ddaa8723aa736e
記事の中にあるMariaDBの削除も行うこと（EC2にデフォルトで入ってる）

ログインは次のように打ち込む

```
mysql -h エンドポイント -P 3306 -u rds作成時に設定したユーザー名 -p
```
この後RDS作成時にパスワードを打ち込んでログインできる。
エンドポイントは接続先のDBのURLみたいなもの。エンドポイントはAWSのメニューから確認できる。
![スクリーンショット 2021-02-09 0.08.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/712635/c66281b8-4861-5fad-8829-03a1a2bd2eff.png)

ログインできたらこんな感じになる。
use database名で指定のDBに移動して、そこでテーブル作成とかができる。
MySQLからログアウトするときはexit
![スクリーンショット 2021-02-09 0.10.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/712635/47786060-3c20-0770-8df2-e0b7b5685ee6.png)

##STEP6 : OpenJDK11,Tomcat8のインストール
基本的にはこの人のブログを参考にした。特に【AWS】入門その４，７，８
Mavenとかでやりたい人はかなり参考になると思う。
https://www.wantanblog.com/entry/2019/09/21/190819

さて、ここからはしばらくコマンドを打ち込んでいく。
一つ一つ実行していこう

```
//ルートユーザに変更
sudo su -

//OpenJDK11のダウンロード
curl -L -O "https://download.java.net/java/ga/jdk11/openjdk-11_linux-x64_bin.tar.gz"

//圧縮ファイルの解凍
tar zxf openjdk-11_linux-x64_bin.tar.gz -C /usr/local

//環境変数の設定
export JAVA_HOME=/usr/local/jdk-11
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:\$JAVA_HOME/jre/lib:\$JAVA_HOME/lib:\$JAVA_HOME/lib/tools.jar

//初期設定（JDKの選択）
alternatives --install /usr/bin/java java /usr/local/jdk-11/bin/java 2
alternatives --config java

//Tomcat8のダウンロード
curl -O http://ftp.riken.jp/net/apache/tomcat/tomcat-8/v8.5.57/bin/apache-tomcat-8.5.57.tar.gz

//圧縮ファイルの解凍
tar -xzvf apache-tomcat-8.5.57.tar.gz

//移動
mv apache-tomcat-8.5.57 /usr/libexec/tomcat8

//Tomcatの起動
useradd -M -d /usr/libexec/tomcat8 tomcat
chown -R tomcat. /usr/libexec/tomcat8
sudo -u tomcat /usr/libexec/tomcat8/bin/startup.sh
```

一旦Tomcatの動作確認。
画像内のようにURLを打ち込んでこの画面が出れば成功。
EC2のIPアドレスはAWSから確認ができる。


※Tomcatのインストール（curl -O 〜のところ）がうまく行かない場合
このサイトで配布されているTomcatのバージョンが変わっている可能性がある
その時はhttp://ftp.riken.jp/net/apache/tomcat/tomcat-8
にアクセスしてバージョンを確認し、8.5.57の部分を現在置かれているTomcatのバージョンに置き換えて再度試してほしい

![スクリーンショット 2021-02-09 0.21.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/712635/33905e80-7b9e-f4b1-1e4c-f998cc1c4e4c.png)



##次回予告
思ったより長くなってしまったので一旦切る。次回は最終回で

- jdbcドライバのダウンロードとアプリへの配置
- DAOやDB接続のJavaファイルの設定
- jdbcドライバとアプリ本体であるwarファイルをEC2インスタンス内のTomcat配下にデプロイ

を行う。ここまでできればDB連携を伴うWebアプリケーションを公開できる。
後もう少し一緒に頑張ろう

最終回はこちら
[【初心者必見】Eclipseで作成したJavaWebアプリケーションをAWSにデプロイする。その③（最終回）](https://qiita.com/AIM-Z/items/97d52b7ed45bcc7e66be
)

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