---前回までのあらすじ---
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サーバのみとした。