#はじめに
教材を使ってAWS上でWordPressを作った。教材ではコンソールの画面が一部異なったり、AWSやインフラ基礎に関する内容も多かったため、本稿でWordPressの使い方をまとめて備忘録として載せたい。
※WordPress作成後にスクリーンショットを撮ったので、一部実際の画面と異なる点がありますが、ご了承ください。
#手順
VPC・サブネット・ルーティングの作成
EC2の作成
SSH接続
ファイアウォールの設定
Elastic IPアドレスの割り当て
ドメインの購入
Route53でDNSを設定
プライベートサブネットの作成
RDSの設置
WEBサーバーからRDSを接続
WordPress用のデータベース作成
WordPressのインストール
WordPressの設定
#方法
VPCの作成
VPCを開き、VPCの作成をクリックする。画面を開けたら、以下の設定を行う。
名前タグを適当に設定する。
IPv4 CIDR ブロックでVPC全体のアドレスの範囲を指定。今回は「10.0.0.0/16」にする。
IPv6 CIDR ブロックとテナンシーはそのままで、「作成」を押す。
サブネットの作成
VPCサブネットを開く。 サブネットの作成を押す。まずはパブリックサブネットの作成。
名前タグは見返した時わかりやすい様に「public-subnet-1a」を入れると良い。
VPCでは先ほど作ったVPCを選択する。
アベイラビリティゾーンは「ap-northeast-1a」を選択する。
IPv4 CIDR ブロックで10.0.10.0/24を入力する。
確認できたら「作成」ボタンを押す。
次にプライベートサブネットの作成。
名前タグは見返した時わかりやすい様に「private-subnet-1a」を入れると良い。
VPCでは先ほど作ったVPCを選択する。
アベイラビリティゾーンは「ap-northeast-1a」を選択する。
IPv4 CIDR ブロックで10.0.20.0/24を入力する。
確認できたら「作成」ボタンを押す。
ルーティングの作成。
ルーティングをできる様にするため、インターネットゲートウェイを作る必要がある。
名前タグにインターネットゲートウェイとわかる様に「igw」を名前に含める。(タグ オプションはインターネットゲートウェイ の設定で自動で入力される。)
入力できたら、「インターネットゲートウェイ」の作成を押す。
VPCにインターネットゲートウェイをアタッチする。
該当のインターネットゲートウェイ選択し、「VPCにアタッチ」を選択する。
「使用可能なVPC」に先ほど作成した該当のVPCをアタッチする。
「インターネットゲートウェイのアタッチ」を押す。
ルートテーブルを設定する。
名前タグを入力し、VPCに先ほど作成した該当のVPCを選択する。
該当のルートテーブルを選択し、「サブネットの関連付け」>「サブネットの関連付けの編集」を押す。
サブネットでpublic-subnet-1aのものを選択する。
確認して、「保存」ボタンを押す。

該当のルートテーブルを選択し、「ルート」>「ルートの編集」をクリック。
「ルートの追加」をクリックし、送信先に0.0.0.0/0を入力。ターゲットで「Internet Gateway」を選択し、先ほど作ったものをクリックする。確認して「ルートの保存」を押す。

EC2の作成
EC2>インスタンスの作成を押す。 今回は「Amazon Linux 2 AMI (HVM), SSD Volume Type」を選択する。









SSH接続
Macの場合ターミナルで、下記の通りに接続$ chmod 600 ~/xxx.pem
pemは秘密鍵のことで秘密鍵がある場所を入力
$ ssh -i ~/xxx.pem ec2-user@xx.xx.xx.xx
xx.xx.xx.xxはIPv4パブリックIP(EC2の該当インスタンスで見ることができる)
Are you sure you want to continue connecting (yes/no)?
→yesと入力する
$ sudo yum update -y
$ sudo yum -y install httpd
$ sudo systemctl start httpd.service
$ sudo systemctl enable httpd.service
ファイアウォールの設定
EC2に戻り、該当のインスタンスを選択し、セキュリティグループをクリックする。



Elastic IPアドレスの割り当て
このままだとEC2インスタンスの起動・停止時にIPアドレスが変わるため、固定アドレスにする。 EC2>Elastic IPをクリックし、「Elastic IPアドレスの割り当て」を押す。 その後「割り当て」ボタンを押したら、アドレスが作成されるので、成功したら閉じる。


関連付けられたら、Elastic IPをURLに入力し、Apacheのデフォルトページが出るか確認する。
ドメインの購入
お名前.comなどでドメインを購入しましょう。 ドメインの購入方法は下記ページなどを参考にしてください。 https://tekito-style.me/columns/domain-onamaeRoute53でDNSを設定
Route53>ホストゾーンをクリック。「ホストゾーンの作成」を押す。 「ドメイン名」を先ほど購入したものを入力。 タイプを「パブリックホストゾーン」を選択する。 選択したら、「作成」をクリックする。
変更手順は以下のサイトを参照。
https://www.onamae.com/guide/p/67
「その他のネームサーバーを使う」で先ほど作成したドメインに行って、ネームサーバー名を確認する。
Route53>ホストゾーン>該当ドメインをクリック。
右にスクロールするとタイプが出てくるので「NS」の4つの値をお名前.comのネームサーバーに入力する。(最後の.は入れなくて良い。)そしたら「確認」ボタンと「設定」ボタンを押す。
ドメイン反映までしばらく待つ。(長いと1〜2日かかる場合もあるとのこと。)
Aレコードを作成するため、「値」にEC2の該当インスタンスのIPv4パブリックIPを入力。あとはそのままで「作成」を押す。
終わったらドメインの疎通確認を行う。(前述の通り、ネームサーバをお名前.comに変更直後だと反映に時間がかかります。)
dig xxx.com NS +short
xxx.comには自分のドメインを入力
Route53のネームサーバーが表示されている確認。
URLでも設定したドメインでApacheのデフォルトページが出るか確認。
プライベートサブネットの作成
VPC>サブネットの作成をクリック。

RDSの設置
EC2>セキュリティグループ>セキュリティグループの作成をクリック。






WEBサーバーからRDSを接続
RDSにいき、データベースの作成を押す。









ターミナルでの操作を行う。
$ ssh -i ~/xxx.pem ec2-user@xx.xx.xx.xx
$sudo yum -y install mysql
上記でMySQLをインストールする。
MySQLに入るためエンドポイントを確認する。
mysql -h エンドポイント -u マスターユーザー名 -p
その後パスワードを入力する。
WordPress用のデータベースを作成
MySQLに入れたら下記を入力する。$CREATE DATABASE データベース名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
$CREATE USER 'ユーザー名'@'%' IDENTIFIED BY 'password';
$GRANT ALL ON データベース名.* TO 'ユーザー名'@'%';
$FLUSH PRIVILEGES;
$exit;
WordPressのインストール
exit;でターミナルに戻る。$sudo amazon-linux-extras install -y php7.2
$sudo yum install -y php php-mbstring
$cd ~
$wget https://ja.wordpress.org/latest-ja.tar.gz
$tar xzvf latest-ja.tar.gz
$cd wordpress/
$sudo cp -r * /var/www/html/
$sudo chown apache:apache /var/www/html -R
$sudo systemctl restart httpd.service
WordPressの設定
URL欄にドメインを入力する。 WordPressの画面に進み、始めるボタンをクリックし、データベース名、ユーザー名、パスワード、データベースのホスト名(エンドポイント)を入力し、送信ボタンを押す。 接続完了したらインストール実行で、サイトのタイル、ユーザー名、パスワード、メールアドレス、検索エンジンでの表示を適宜入力する。できたら「WordPressをインストール」ボタンをクリックする。 これでログインをし、管理画面に入れるようになる。#まとめ
レンタルサーバーだとボタンをポチポチしたらできたが、AWSだと結構手順を踏む必要があると思った。流れを意識しつつ実装しましょう、
教材
AWS:ゼロから実践するAmazon Web Services。手を動かしながらインフラの基礎を習得