AWSメモ > AWS EC2上で Spring Bootアプリ起動

AWS EC2上で Spring Bootアプリ起動

ここでは Spring BootでWebAPI作成 で作成した Spring Boot アプリをEC2上で動作させる手順を記載する。
ポイントはセキュリティグループの設定で、これを間違うと接続できない。

AWS EC2インスタンスの作成

マネージメントコンソール(EC2) から EC2インスタンスを作成する

ここでは、以下の通り作成した。

項目
インスタンスAmazon Linux AMI
タイプt2.micro
セキュリティグループ8080ポートを受け付けるセキュリティグループを選択する事
まだない場合は EC2 のメニュー から作る(「ルールの追加」から「カスタム TCP ルール」選択し、ポート:8080を入力)

※途中で作成したキーペアは、接続時に使用するので確実に保存しておく事。

AWS Aurora MySQLインスタンスの作成

マネージメントコンソール(RDS) から Aurora MySQL インスタンスを作成する

ここでは、以下の通り作成した。

項目
エンジンAurora
DBインスタンス識別子testdbinstance
マスターユーザxxxxx
パスワード********
VPCデフォルト
サブネットdefault
データベースの名前testdb
ポート3306
セキュリティグループイン/アウトバウンドで 同一LAN内の 3306 ポートが許可されているものを選択。(なければ作る)
*VPCのセキュリティグループから作成/変更可能
たぶんデフォルトのセキュリティグループでOK
パブリックアプセス不可

EC2インスタンスへの接続確認

作成/起動した EC2インスタンスの一覧 から、パブリックDNS を確認する。

キーペアを使用してEC2インスタンスにSSH接続する

ssh -i ~/Desktop/pem/キーペア.pem ec2-user@パブリックDNS

RDSの接続確認とテスト用DB/ユーザの作成

EC2インスタンスにMySQLクライアントをインストールする

sudo yum install -y mysql

RDSインスタンス一覧 から対象のRDSを選択して、クラスターエンドポイントを確認する。

EC2インスタンスにSSH接続した状態で、RDS(Autora MySQL)に接続する。

mysql -h 確認したエンドポイント -P ポート -u マスターユーザID -p

テスト用のDB/ユーザを作成する

Spring BootでWebAPI作成 - テスト用DBの準備を参照。

Spring Boot アプリの作成とEC2へのデプロイ

Spring BootでWebAPI作成 を参照して作成したアプリの jar をEC2にデプロイする。
※ jar は プロジェクト直下の build/libs 配下に出来る。

sftp -i ~/Desktop/pem/キーペア.pem ec2-user@パブリックDNS
sftp> put demo-0.0.1-SNAPSHOT.jar

DB接続先の変更

Spring BootでWebAPI作成 で作成したアプリそのままだと、localhost のDBにしか接続できないので、
環境変数を設定して VPC内の Aurora MySQL に接続できるようにする。

# 環境変数を追加
vim ~/.bach_profile
export SPRING_DATASOURCE_URL=jdbc:mysql://ホスト名:3306/example_db
export SPRING_DATASOURCE_USERNAME=example_user
export SPRING_DATASOURCE_PASSWORD=example_pass
export SPRING_DATASOURCE_DRIVER_CLASS_NAME=com.mysql.jdbc.Driver
export SPRING_DATASOURCE_TOMCAT_MAX_ACTIVE=30
export SPRING_DATASOURCE_TOMCAT_MAX_IDLE=20
export SPRING_DATASOURCE_TOMCAT_MIN_IDLE=10
export SPRING_DATASOURCE_TOMCAT_INITIAL_SIZE=5

# 反映
source ~/.bash_profile

Spring Boot アプリの起動

java -jar /home/ec2-user/demo-0.0.1-SNAPSHOT.jar

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-10-22 (日) 23:41:43 (420d)