第6回目(11/6)
1.講義メモ
本題であるAWSの講義に入った。AWS環境の完成イメージをメモに残す。
・CloudFormatinを用いてインフラ環境のコード化
・Ansibleを使い、Webアプリケーションが動作するのに必要なアプリをインストール、設定する
・SeverSpecやawspecにて設定された環境のテストを行う
・テスト後、Webアプリケーションのデプロイ
・Jenkinsを使い、全て自動化する
・その後、Webアプリケーションの動作確認
2.課題
・EC2とRDSを構築し、EC2からRDSへの接続確認
構成図
構築メモ
1)VPCについて
・リージョン(東京)にVPCを作成
・VPCにパブリックサブネットとプライベートサブネットを作成。プライベートサブネットが2つあるのは、RDSのサブネットグループを作成する必要があったため。Single-AZ構成の場合の、RDSインスタンスの配置されるAZを指定する項目
<参考URL>
https://dev.classmethod.jp/articles/rds-has-two-configs-concerning-availability-zone/
2)EC2について
・インスタンスをシャットダウンするごとに、グローバルIPが変更になるためElastic IP を割り当てを行なった
・初期設定のため、パッケージの更新、タイムゾーンの変更、日本語ロケールの追加を行なった。設定内容と設定後の結果は下図の通り
#パッケージの更新
yum update -y
#タイムゾーンの変更
timedatectl status
sudo timedatectl set-timezone Asia/Tokyo
#日本語ロケールの追加
localectl status
sudo localectl set-locale LANG=ja_JP.UTF-8
sudo localectl set-keymap jp106
設定結果
・今後の課題に備えてRubyをインストール。ローカル環境と同じRubyバージョン2.6.8p205をインストール
- 以下の参考URLの手順でインストール
https://dev.classmethod.jp/articles/amazon-linux_rbenv/
※以下はRubyインストールの箇所のみ参考にした
https://blog.serverworks.co.jp/tech/2020/01/19/rails6/
設定結果
・EC2のSSHがすぐ切れるので、ClientAliveIntervalとClientAliveCountMaxを設定
<参考URL>
https://qiita.com/qualitia_cdev/items/b7138b1280e693585267
3)RDSについて
・RDSを作成する際、一緒にRDS用のセキュリティグループを新規作成
これがキッカケでハマった。セキュリティグループのinboundでMySQLポート3306のソースが何故かおかしなIPアドレスが設定されており、EC2からアクセスできなかった。本来はEC2のセキュリティグループをソースに設定しないといけない
4)EC2からRDSへ接続
・EC2にmysqlをインストールする
sudo yum install mysql
・RDSへ接続する
mysql -u admin -p -h <RDSのエンドポイント>
<参考URL>
https://dev.classmethod.jp/articles/sales-rds-ec2-session/
接続結果は下図の通り
この記事が気に入ったらサポートをしてみませんか?