WordPressをAWS で構築し独自ドメインおよびhttpsで公開する手順①

AWS 上にWordPress をシングルインスタンスで構築し、独自ドメインで公開するまでの大まかな手順を解説します。
本ブログサイト(https://blog.nijot.com) のように、独自ドメインでのブログサイトを AWS上に構築できます。

今回は拡張性や可用性はあまり考慮せずにEC2 インスタンス1つだけ(=シングルインスタンス)で構築します。また、WordPress の構築は、マーケットプレイスなどで提供されているWordPress 構築済みのAMI を利用することもできますが、今回は自分で一から構築します。
ブログが人気になっていくといずれ拡張性や可用性への考慮が必要になりますので、その時の対処方法はまた別途記事にしたいと思います。

作成する環境

やること一覧

以下が一通り実施する内容です。詳細な手順は適宜ソースを提示します。
本記事では、1 〜 7 までの手順を解説します。

  1. AWS アカウントを作成し、セキュリティなどの対策を施す
  2. IAM ユーザを作成する
  3. VPC を作成する(オプション)
  4. EC2 インスタンスを起動する
  5. Elastic IP アドレスを割り当てる
  6. EC2 インスタンスにLAMP 環境を構築する
  7. EC2 インスタンスにWordPress をインストールする
  8. ドメイン名を取得する
  9. Route53 にWordPress ドメインを設定する
  10. https アクセスができるように構成変更する
  11. さぁ、ブログを書いてみよう!

AWS アカウントを作成し、セキュリティなどの対策を施す

これは、過去の記事を参照してください。すでにAWS アカウントを持っている方もセキュリティの観点で確認してみてください。

IAM ユーザを作成する

以下のドキュメントを参考にしてください。すでにIAM ユーザでマネジメントコンソールにログインしているという方は先に進めてください。

IAM のベストプラクティス – 個々のIAM ユーザの作成

VPC を作成する(オプション)

今回は、パブリックサブネットを1つだけ持ったVPC を作成します。
以下の手順を参考に作成できます。Task3 まで実施してください。


なお、お試しで実施する場合などは、デフォルトVPC (172.31.0.0/16 アドレスを持つVPC) を利用できます。この場合は、VPC を新しく作成する必要はありません。

EC2 インスタンスを起動する

EC2 インスタンスの起動に関しては、以下の手順を参考にしてください。Task4 のSSM セッションマネージャでOS にログインできるところまで進めれば良いです。以下の手順を実施すると、EC2 インスタンスにはセッションマネージャによりロングインできるようになります。EC2 のキーペアを管理しなくて良いので安全です。

EC2 インスタンスを起動して、AWS Systems Manager のセッションマネージャーからログインして操作する

Elastic IP アドレスを割り当てる

起動したEC2 インスタンスにElastic IP(EIP) アドレスを割り当てます。EIP を割り当てると、そのEC2 インスタンスは固定的なパブリックIP (一般的にはGlobal IP と言います。)が割り当てられます。
シングルインスタンスで、かつ独自ドメインでWordpress を運用する場合、EC2 インスタンスのパブリックIP アドレスがコロコロ変わってしまうと、その度にDNS 設定を書き換える必要があり面倒です。なのでEIP を利用するということになります。

EIP の設定手順を以下に記載します。

  1. マネジメントコンソールのサービスから EC2 を選択
  2. 左側のナビゲーションペインより、 “Elastic IP” を選択
  3. “新しいアドレスの割り当て” 画面で “新しいアドレスの割り当て” ボタンをクリック
  4. 次の画面で “割り当て” ボタンをクリック
  5. “新しいアドレスのリクエストが成功しました” 画面で、”閉じる” ボタンをクリック
  6. 一覧に表示されている今作成された Elastic IP にチェックを入れる
  7. 一覧上の “アクション” ボタンをクリックして、”アドレスの関連付け” をクリック
  8. “アドレスの関連付け” 画面の “インスタンス” で先ほど起動した EC2 インスタンスを選択
  9. “関連付け” ボタンをクリック

これで、EC2 インスタンスに固定的なパブリックIP を割り当てることができました。
なおEIP はEC2 インスタンスに関連づけて利用している間は無料で使用できますが、関連づけていなかったり、EC2 インスタンスが停止した状態などIPアドレスが利用されていない状況になると課金されますのでご注意ください。IP v4 のアドレスは有限資源なので、利用していないのに確保だけしている場合は料金がかかるという仕組みになっています。

EC2 インスタンスにLAMP 環境を構築する

この手順は以下のドキュメントを参照してステップ3まで進めてください。

チュートリアル: Amazon Linux 2 に LAMP ウェブサーバーをインストールする

上記手順の中でインスタンスに接続する部分は、SSM セッションマネージャーで接続します。
セッションマネージャーでログインすると ssm-user でのログインとなりますので、以下のコマンドで ec2-user にスイッチします。

$ sudo su - ec2-user

なお、最後に、以下のコマンドで、php-xml と php-xmlrpc を追加でインストールしておきます。よく利用される WordPress の Jetpack プラグインを利用する際に必要になります。

$ sudo yum install -y php-xml php-xmlrpc

ここまでで、WordPress をインストールする準備が整いました。

EC2 インスタンスにWordPress をインストールする

この手順は、以下のドキュメントを参照してください。このブログ手順ではAmazon Linux 2 を利用していますので、下記のドキュメント内の手順で、Amazon Linux と Amazon Linux 2 が分かれている部分は、Amazon Linux 2 の手順を実施してください。

チュートリアル: Amazon Linux を使った WordPress ブログのホスティング

EC2 に割り当てた EIP アドレスでブラウザからアクセスすればWordPress のセットアップ画面が表示されるはずです。

この記事の手順は以上です。
次は、構築したWordPress を独自ドメインで公開するまでを実施します。