45
56

More than 3 years have passed since last update.

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

Last updated at Posted at 2021-02-08

初めに

AWSって何?ってところから一週間勉強してJavaのWebアプリケーションをデプロイした時の話をまとめる。簡単ではあるがAWSの用語の解説も挟んでいくので、記事を読んで実践する頃には基礎の基礎はインプットできるかと思う。

環境

Windows10
その他の環境やverは下の図解にまとめてあるが、各々の環境に合わせて適宜変更しながら設定してほしい。

前提

  • AWSのアカウントを作っていること
  • IAMユーザーを1つ作成していること

作り方は以下の記事を参照。
基本、作成したIAMユーザーで作業する。

今回のゴール

  • warファイルをAWSのサーバにデプロイして、DB連携を伴うアプリケーションが公開できる

注意点

AWSに登録して一年はサービスの利用に無料枠が与えられるためほとんどの場合無料枠で事足りるが、AWSは従量課金制であるため、サーバーを立てっぱなしにしたり、インスタンスをたくさん作りすぎると知らない間に料金が発生する場合がある。
一緒に勉強した友人は痛い出費を被った。

アカウントを作成したら料金の上限設定を必ず行うこと。
その辺の詳細設定は次のリンクを参照。

構築する環境の全体像

スクリーンショット 2021-02-08 22.38.32.png

AWS関連の用語の説明

VPC (Amazon Vurtual Private Cloud):AWS専用の仮想ネットワーク。本来は外部との接続はここでいろいろと設定をするが、今回はデフォルトで与えられているものを使用。サブネットとかはここで設定する。

EC2 (Amazon Elastic Compute Cloud) : サーバ構築に必要なもの一式をクラウドで借りられるサービス。このサービスから作成したEC2インスタンスがAWS上の仮想サーバとなる。
ここに後からTomcatとか必要なものを入れていく。

RDS (Amazon Relational Database Service) : AWSのDBMS。結構種類がある。
今回はMySQL8.0.20を使用。

STEP0 : AWSの下準備

IAMユーザでログインしたら画面右上のリージョンを確認する。これが東京になっていればOK。
その他の地域が設定されている場合には東京に設定し直す。
スクリーンショット 2021-02-08 22.48.50.png

STEP1 : セキュリティグループの作成

セキュリティグループ : EC2インスタンスに対して動作する仮想ファイアウォール。
詳細な説明はここを参照。
https://qiita.com/leomaro7/items/42967c080814dfc82139

まずはこれを設定していく。
AWSメニュー画面左上のサービス > EC2
スクリーンショット 2021-02-08 22.54.06.png

左のメニューバーから「セキュリティグループ」を選択。セキュリティグループの作成にて名前と説明を適当に記入。
スクリーンショット 2021-02-08 22.54.37.png

スクリーンショット 2021-02-08 22.55.06.png

続いてインバウンドルールを以下のように設定。ざっくり言うと、ここからの接続は許可しますよーってやつ
スクリーンショット 2021-02-08 22.55.59.png

ここまでできれば作成ボタンを押してセキュリティーグループの作成を終える。

STEP2 : RDSの作成

続いてRDSを作っていく。やるべきことは大きく2つ。

①パラメータグループの設定

パラメータグループ : 文字コードや接続数を設定するところ

まずはサービス > RDS
スクリーンショット 2021-02-08 23.01.07.png
ダッシュボードを開いたら左のメニューから「パラメータグループ」を選択し、「パラメータグループの作成」を押下
スクリーンショット 2021-02-08 23.01.47.png
スクリーンショット 2021-02-08 23.06.23.png

まずは使用DBの設定。
スクリーンショット 2021-02-08 23.07.57.png

作成したら、パラメータアクションをプルダウンから「編集」へ
検索窓に「character_set」と入力して以下の設定をUTF-8mb4に変更して保存

  • character_set_client
  • character_set_connection
  • character_set_database
  • character_set_results
  • character_set_server スクリーンショット 2021-02-08 23.11.13.png

②RDSの作成

RDSのメニューに戻り、「データベース」を選択し、次の画面で「データベースの作成」
スクリーンショット 2021-02-08 23.12.34.png
スクリーンショット 2021-02-08 23.13.51.png

まずは使用するDBMSを設定。
この辺から操作を間違えやすいので気をつけてほしい(間違えるとやり直しは結構面倒)
スクリーンショット 2021-02-08 23.15.58.png

インスタンス名や、DBログイン時のユーザー名とパスワードなどを設定。
忘れないようにしっかりメモしておくこと。
スクリーンショット 2021-02-08 23.16.32.png
特にこだわりがなければこの辺はデフォルトでOK
スクリーンショット 2021-02-08 23.18.00.png

続いて「追加の接続設定」
これは見逃しやすいので注意
スクリーンショット 2021-02-08 23.18.53.png

パブリックアクセス可能をありに。
セキュリティグループは先程作成したものを選択。
データベースポートは3306
スクリーンショット 2021-02-08 23.20.03.png

続いて「追加設定」
これも忘れやすい。
スクリーンショット 2021-02-08 23.21.42.png

アクセスするときのDB名と、先程作成したパラメータグループを設定。
スクリーンショット 2021-02-08 23.22.42.png

ここまでできたらデータベースの作成を押下。しばらく作成に時間がかかり、完了すると次のようになる。
スクリーンショット 2021-02-08 23.24.18.png

これでRDSは完成(お疲れ様でした)

次回予告

長くなるので一旦ここで切る。次回は

  • EC2インスタンスの作成
  • TeraTermからEC2インスタンスにSSH接続
  • MySQLやOpenJDK、Tomcatのインストール
  • アプリのデプロイ

までやっていく。

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

最後に

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

45
56
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
45
56