/etc/hosts内のIPアドレス変更により、参照するDBが切り替わるか検証


---前回までのあらすじ---
AWS_WEB3層環境構築①
https://qiita.com/shinichi_yoshioka/items/7226b9ebaad06c569c80
AWS_WEB3層環境構築②
https://qiita.com/shinichi_yoshioka/items/e358f57a3ecb7735c091
AWS_WEB3層環境構築③
https://qiita.com/shinichi_yoshioka/items/5253fd442376c6f222b2

今回やりたいことは以下です。
1.DBサーバ②の構築
2.APサーバからのDB参照をIPアドレスから名前に変更(/etc/hostsおよびJSPファイルの編集)
3.APサーバの/etc/hosts内のIPアドレスをDBサーバ①からDBサーバ②に変更することで、参照するDBが変わるかを確認

◆DBサーバ②の構築
前に作ったDBサーバ①のAMIイメージを作成し、そのイメージからDBサーバ②を構築する。

まずは、イメージ元のDBサーバ①を停止する。
停止するインスタンスを選択して、[インスタンスの状態]-[インスタンスの停止]

次に、イメージ元のインスタンスを選択して、[イメージとテンプレート]-[イメージを作成]

適当に名前をつけて、[イメージを作成]

EBSやその他設定は割愛するが、セキュリティグループの作成はDBサーバ①に適用しているセキュリティグループを適用した。

AMIから起動すれば、DBサーバ②の完成。まじ楽なんだがw

◆APサーバの/etc/hostsに名前を定義
対象:APサーバ
/etc/hostsに以下1行を追加した。

vi /etc/hosts
172.16.3.6 TEST-DB

次にJSPファイルを編集

cd /opt/tomcat/webapps/jsp
vi test.jsp

jdbc:mysql://172.16.3.6:3306/world → jdbc:mysql://TEST-DB:3306/world

編集後、ブラウザにWEBサーバのパブリックアドレスを入力し、「名前」でも問題なくDBサーバ①を参照していることを確認した。

ここで/etc/hostsのIPアドレスをDBサーバ①からDBサーバ②のIPアドレス(プライベート)に変更する。
172.16.3.6(DBサーバ①)→172.16.3.101(DBサーバ②)

変更後に正常にDB参照できることを確認したうえで、
DBサーバ②のインスタンスを停止したところ、DB参照できなくなったので
問題なくDBサーバ②を参照していることが確認できた。

最後に、前回までプライベートサブネットがガバガバだったので封鎖した。
プライベートサブネット用の[ルートテーブル]から、0.0.0.0/0 ターゲット:Internet-GWを削除。

APサーバに適用されているセキュリティグループは、ソースがWEBサーバのみでポート番号も8080のみに変更。

DBサーバに適用されているセキュリティグループは、ソースがAPサーバのみでポート番号も3306のみに変更。

一時的に付与していたパブリックIPアドレスも解放して、WEBサーバのみとした。