##初めに
AWSって何?ってところから一週間勉強してJavaのWebアプリケーションをデプロイした時の話をまとめる。簡単ではあるがAWSの用語の解説も挟んでいくので、記事を読んで実践する頃には基礎の基礎はインプットできるかと思う。
###環境
Windows10
その他の環境やverは下の図解にまとめてあるが、各々の環境に合わせて適宜変更しながら設定してほしい。
##前提
- AWSのアカウントを作っていること
- IAMユーザーを1つ作成していること
作り方は以下の記事を参照。
基本、作成したIAMユーザーで作業する。
https://qiita.com/kzykmyzw/items/ca0c3276dfebb401f7d8
##今回のゴール
- warファイルをAWSのサーバにデプロイして、DB連携を伴うアプリケーションが公開できる
##注意点
AWSに登録して一年はサービスの利用に無料枠が与えられるためほとんどの場合無料枠で事足りるが、AWSは従量課金制であるため、サーバーを立てっぱなしにしたり、インスタンスをたくさん作りすぎると知らない間に料金が発生する場合がある。
(一緒に勉強した友人は痛い出費を被った。)
アカウントを作成したら料金の上限設定を必ず行うこと。
その辺の詳細設定は次のリンクを参照。
##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。
その他の地域が設定されている場合には東京に設定し直す。
##STEP1 : セキュリティグループの作成
セキュリティグループ : EC2インスタンスに対して動作する仮想ファイアウォール。
詳細な説明はここを参照。
https://qiita.com/leomaro7/items/42967c080814dfc82139
まずはこれを設定していく。
AWSメニュー画面左上のサービス > EC2
左のメニューバーから「セキュリティグループ」を選択。セキュリティグループの作成にて名前と説明を適当に記入。
続いてインバウンドルールを以下のように設定。ざっくり言うと、ここからの接続は許可しますよーってやつ
ここまでできれば作成ボタンを押してセキュリティーグループの作成を終える。
##STEP2 : RDSの作成
続いてRDSを作っていく。やるべきことは大きく2つ。
###①パラメータグループの設定
パラメータグループ : 文字コードや接続数を設定するところ
まずはサービス > RDS
ダッシュボードを開いたら左のメニューから「パラメータグループ」を選択し、「パラメータグループの作成」を押下
作成したら、パラメータアクションをプルダウンから「編集」へ
検索窓に「character_set」と入力して以下の設定をUTF-8mb4に変更して保存
- character_set_client
- character_set_connection
- character_set_database
- character_set_results
- character_set_server
###②RDSの作成
RDSのメニューに戻り、「データベース」を選択し、次の画面で「データベースの作成」
まずは使用するDBMSを設定。
この辺から操作を間違えやすいので気をつけてほしい(間違えるとやり直しは結構面倒)
インスタンス名や、DBログイン時のユーザー名とパスワードなどを設定。
忘れないようにしっかりメモしておくこと。
特にこだわりがなければこの辺はデフォルトでOK
パブリックアクセス可能をありに。
セキュリティグループは先程作成したものを選択。
データベースポートは3306
アクセスするときのDB名と、先程作成したパラメータグループを設定。
ここまでできたらデータベースの作成を押下。しばらく作成に時間がかかり、完了すると次のようになる。
これでRDSは完成(お疲れ様でした)
##次回予告
長くなるので一旦ここで切る。次回は
- EC2インスタンスの作成
- TeraTermからEC2インスタンスにSSH接続
- MySQLやOpenJDK、Tomcatのインストール
- アプリのデプロイ
までやっていく。
続編はこちら
【初心者必見】Eclipseで作成したJavaWebアプリケーションをAWSにデプロイする。その②
【初心者必見】Eclipseで作成したJavaWebアプリケーションをAWSにデプロイする。その③(最終回)
##最後に
ここまで読んでいただきありがとうございます。
ストック、LGTM、励みになります。
この記事が何かお役に立てれば幸いです。