##今回の記事について
この記事はAWS初学者を導く体系的な動画学習サービス
「AWS CloudTech」の課題カリキュラムで作成しました。
https://aws-cloud-tech.com
隅から隅まで細かい説明はしません。
自分が構築して大事だと思った部分だけ記述します。
##環境
macOS Big Sur バージョン11.2.2
##今回やること
・基本的な2つのAZにまたがる冗長構成の環境作成
・EC2へwordpressをインストール
・RDS作成
・publicIPにアクセスし、wordpress起動
##構成図
##土台の環境作成
・VPC作成
・サブネット作成
パブリックサブネット*2
プライベートサブネット*2
*AZにそれぞれ1組ずつ作成
・IGW(インターネットゲートウェイ)作成し、VPCにアタッチ
・パブリックサブネットのルートテーブルにIGW(インターネットゲートウェイ)を追加する
・ルートテーブルにパブリックサブネットを関連づける
・プライベートサブネット用のルートテーブル作成&サブネットの関連付け
##EC2作成(wordpressのインストール)
*セキュリティグループ(ssh, http許可)
ログインし、以下のコードを実行
*sudo su -
でrootユーザーに切り替える
yum -y update
amazon-linux-extras install php7.2 -y
yum -y install mysql httpd php-mbstring php-xml gd php-gd
systemctl enable httpd.service
systemctl start httpd.service
wget http://ja.wordpress.org/latest-ja.tar.gz ~/
tar zxvf ~/latest-ja.tar.gz
cp -r ~/wordpress/* /var/www/html/
chown apache:apache -R /var/www/html
##RDS作成
・サブネットグループ作成
先ほど作成したそれぞれのAZのプライベートサブネットを指定
・RDSデータベース作成
↓以下設定項目
・データベース作成方法を選択:標準作成
・エンジンのオプション:mysql
・テンプレート:開発/テスト(無料利用枠でもOK) *用途に応じて
・DB インスタンス識別子:デフォルト(database-1)でOK
・マスターユーザー名:任意
・マスターパスワード:任意
*wordpressインストール時に必要なので覚えておく
・DB インスタンスクラス:t2.microでOK(用途に応じて)
・VPC:作成したVPCを指定
・サブネットグループ:作成したサブネットグループを指定
・パブリックアクセス:なし
・VPC セキュリティグループ(RDS用):新規作成
・最初のデータベース名:wordpress
(任意で良いのかわからないけど、とりあえずwordpress)
*後にwordpressの設定項目で入力する
**追記:**最近ではセキュリティ対策として、データベース名も推測されない名称を指定するケースも出てきてる。wordpress以外のランダムなデータベース名を設定するのも対策としてあり。
他デフォルトのままでOK
データベースの作成ボタンを押す
##RDSのセキュリティグループの設定
先ほど新規作成したRDSセキュリティグループの画面にいき、EC2のセキュリティグループからの許可を設定
*注意点
EC2SGを設定しようとすると
You may not specify a referenced group id for an existing IPv4 CIDR rule.
というエラーが出て設定できない場合がある
解決策:一旦デフォルトのルールを削除して、新しく追加すれば設定できる
以下の記事を参照
##wordpressの初期設定
EC2のパブリックIPをブラウザに貼り付けて接続
すると、wordpressの初期設定画面が開かれる
さあ、始めましょう!をクリック
初期設定項目を設定
データベース名:wordpress
ユーザー名:(RDSで設定した値)
パスワード:(RDSで設定した値)
データベースのホスト名:(RDSのエンドポイント)
テーブル接頭辞:wp_(デフォルトでOK)
記入できたら送信⇨インストール実行
すると以下の画面に移る
各項目を記入し、wordpressをインストールして完了
(任意の設定)
ユーザー名、パスワードを入力し、ログインできればOK
##補足 エラー体験談
・wordpressのインストールが完了し、ログインできた。
しかし、RDSの設定を間違えたことに気づき作り直したら、データベース接続エラーになった
解決策
EC2を作り直して再びwordpressインストールしたら解決した。
おそらく元々のwordpressのキャッシュに最初に作成したRDSの情報があって、その情報と噛み合わないことが原因だったと思う。
追記:/var/www/html配下にあるディレクトリを一旦削除し、ダウンロードしたWordpressを再度展開および/var/www/html 配下に設置してみるのも解決手法の1つ
##次回の記事