0
1

More than 1 year has passed since last update.

Springで作成したアプリをAWSのRDSとElastic Beanstalkを用いてデプロイする方法①

Last updated at Posted at 2021-09-03

はじめに

デプロイ経験がない筆者でもSpringで作成したアプリケーションをAWSのElasticBeanstalkとRDSを用いて無事にデプロイすることができたため、共有及び備忘録として執筆します。
①では、RDSでのDB作成を執筆します。
②では、MySQLの設定とElasticBeanstalkの設定について執筆します。

作成期間と作業

作成期間は約3週間ほどです。

作成するにあたって行った作業は下記の通りです。

①Udemyの「AWS:ゼロから実践するAmazon Web Services。手を動かしながらインフラの基礎を習得」を受講してEC2やRDSについての知識をつける。
②デプロイ方法について日本語サイトを見てもうまくいかなかったため、Udemyの「Deploy Java Spring Apps Online to Amazon Cloud (AWS)」を受講してデプロイ方法について学ぶ。
※こちらの講座は英語字幕付きのため、聞き取れなくてもなんとか理解できます。
③Springの公式ドキュメントも参考にしながら、実際に自分が作成したアプリケーションをデプロイ。

Elastic Beanstalkとは

運用に必要な環境の作成を簡単に構築できるPaaSであり、ファイルをアップロードするだけでWEBアプリケーションとして動作させることができるAWSのサービス。

前提知識

・AWSアカウント作成
・Java実行環境
・maven環境
・RDS作成

環境

PCのOS:macOS Big Sur 11.5.2
Spring:2.5.4
Java:OpenJDK 11.0.2
DB:MySQL 8.0.23(AWSのRDS上で起動)

RDSの設定

RDSを作成する手順について下記に記載します。

RDSの作成

作成方法は標準作成、エンジンはMySQLを選択
スクリーンショット 2021-09-03 10.56.36.png
MySQLのバージョンは8.0.23を選択(バージョンの互換性には注意)
デプロイするだけのため、無料利用枠を使用する。
スクリーンショット 2021-09-03 10.57.03.png

インスタンス識別子は今後、RDSを使う際の名前になる。任意の名前をつける。
マスターユーザー名、パスワードはDBに接続する際に必要になる情報である。
ここも任意のユーザー名とパスワードを入力する。
スクリーンショット 2021-09-03 10.57.16.png

DBインスタンスクラスはバースト可能クラスを選択する。
ストレージは汎用(SSD)の20GiBを設定する。
ストレージの自動スケーリングは今回は特に必要ないためチェックを外す。
スクリーンショット 2021-09-03 10.57.40.png

可用性と耐久性は特に設定なし。(無料枠のためそもそも使えない)
スクリーンショット 2021-09-03 10.58.24.png

VPCとサブネットグループはデフォルトのものを利用する。
パブリックアクセスは、ありにする。理由はDBへデータを登録する際にパブリックからアクセスする必要があるため。
スクリーンショット 2021-09-03 11.00.40.png

VPCのセキュリティグループはdefaultのままで、アベイラビリティーゾーンの指定はなしを選択する。
スクリーンショット 2021-09-03 11.00.40.png

データベース認証はパスワード認証を選択する。
スクリーンショット 2021-09-03 11.00.52.png

追加設定は特に設定しない。
スクリーンショット 2021-09-03 11.01.02.png

データベースを作成を押下して数分経つとデータベースが作成される。
スクリーンショット 2021-09-03 11.20.44.png

RDSのインバウンド設定

作成したDBのセキュリティグループのインバウンドルールを変更する。
理由は、後ほど利用するMySQLWorkBenchを利用するため。
ソースタブをクリックしてAnywhereを選択して保存する。
スクリーンショット 2021-09-03 11.34.42.png

参考

0
1
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
0
1