AWSでWordPressサイトを一般公開する環境を構築することでAWSを学んでみる

AWS

AWSでWordPressサイトを構築して一般公開する環境を構築する方法を紹介します。

そもそもAWSにはLightsailというものがある

AWSを本格的に利用するには、EC2で仮想的にサーバー1台をAWS上へ立ち上げて、サーバーの運用をAWSを使って行うことが可能です。

ただ、AWSはLightsail(ライトセイル、日本語で小売り)というサービスを展開していて、このサービスはAWSを低額(低コスト)かつ定額で従量課金ではなく一定の金額を毎月少量支払うことでAWSを利用できるサービスです。

勉強用ではなく本当に単にちょろっとAWSを使いたいという用途であればAWS Lightsailで学習コストも低く抑えつつAWSを使用することができます。

本記事の本題はEC2で仮想サーバー(インスタンス)を立ち上げて本格的にAWSを運用することについて学ぶこと

本記事の本題としては、AWSでWordPressサイトを運営できる環境を実際に構築してAWSについて本格的に学ぶことを目的とします。

より具体的には、AWS認定ソリューションアーキテクトアソシエイト合格に必要なレベルの学習ができるコンテンツを提供できたらと思っています。

まずはEC2でインスタンスを立ち上げてみよう

そもそもEC2とは、については以下の記事で解説しています。

EC2の概要とEC2インスタンスを立ち上げる方法まとめ - AWSラボ - WIジャパン
AWSは、Amazonが貸し出しているクラウドコンピューティングサービスです。 EC2のより詳しい技術仕様については以下AWSの公式PDFが参考になります。 ... 続きを読む

EC2は、AWSのデータセンターのサーバーに仮想的にサーバーを1台立ち上げることができるサービスです。

https://pages.awscloud.com/rs/112-TZM-766/images/202111_AWS_Black_Belt_AWS_EC2_introduction.pdf

以下の記事でEC2でインスタンスを実際に立ち上げてみた様子をまとめています。

EC2上にLAMP環境を作成する

以下のAWS公式ドキュメントを参考にしながら、立ち上げたEC2インスタンスのAmazon Linux 2023に対してLAMP環境を構築していきます。

チュートリアル: AL2023 に LAMP サーバーをインストールする - Amazon Linux 2023
Apache ウェブサーバーを PHP と MariaDB のサポートとともに EC2 インスタンスにインストールします。

Amazon Linux 2023でWordPressをホストする

上記のLAMP環境に関するドキュメントと同じドキュメントの別の見出しページで構築したLAMP環境にWordPressをインストールしてサイトをホスティングする方法が以下の通りまとめられています。

チュートリアル: AL2023 で WordPress ブログをホストする - Amazon Linux 2023
EC2 インスタンスに WordPress ブログをインストール、構成し、セキュリティを確保するためのチュートリアル。

Route 53で独自ドメインを取得して構築したWordPressに紐づける

以下AWSの公式ドキュメントを参考にしつつ、独自ドメインをAWSで取得し管理することでWordPressサイトを独自ドメインで運営します。

Amazon Route 53 を使用したドメインの登録と管理 - Amazon Route 53
Amazon Route 53 を使用して新しいドメイン名を登録します。

さらにAWSについて理解を深める

さらにAWSについて理解を深めていく方法を紹介します。

CloudWatchでインスタンスを監視してみる

AWSでは立ち上げたEC2のCPU使用率等を、AWSが提供するサービス、Cloud Watchで確認することができます。

Amazon CloudWatch のチュートリアル - Amazon CloudWatch
Amazon CloudWatch の使用方法について、いくつかの一般的なシナリオを説明します。

Cloud Watchで見られる情報は、EC2で立ち上げたインスタンス上のOSにCloud Watch Agentがインストールされている場合とされていない場合で情報量が異なります。

CloudWatch エージェントのインストール - Amazon CloudWatch
CloudWatch エージェントをインストールし、Amazon EC2 インスタンスとオンプレミスサーバーからメトリクス、ログ、トレースを収集する方法について説明します。

CloudWatchで確認できるCPUやネットワークの通信料などの情報は「メトリクス」といいます。確認できるデータの要素のことを「メトリクス」と呼んでいます。

S3バケットを作成してファイルを管理してみる

AWSを理解するうえで、S3の理解も必須だと思います。S3はAWSのサーバー上にフォルダやファイルを保存しておくことができるサービスです。

大規模なAWSのサーバー環境で使用されるAWSのサービス

個人開発や、それほど規模の大きくないサイトをホストするためにAWSを使用する場合はあまり使うことがないが、大規模なサーバーを運営する場合は頻繁に触れる機会のあるAWSのサービスを紹介します。

Cloud Formation

大規模なシステムでは、コードでAWSのリソースを管理します。

CloudFormationに書かれていることが理解できると、AWSエンジニアとしての活躍が見込めます。

Cloud Formationではなく、Terraformを使う現場もあります。

CloudFormationやTerraformなどのコードでAWSを管理することを「IaC」、Infrastructure as Codeといいます。

Elastic Load Balancing

AWSでは、ネットワークのロードバランシング、アプリケーション単位でのロードバランシング、ゲートウェイ単位でのロードバランシングが可能です。

ロードバランサー-エラスティックロードバランシング (ELB)-AWS
Elastic Load Balancing (ELB) は、着信アプリケーショントラフィックを、1 つ以上のアベイラビリティーゾーン (AZ) 内において、複数のターゲットおよび仮想アプライアンス間で自動的に分散します。

大規模なシステムでは必然的にロードバランシングを行う必要があります。

まとめ

AWSには豊富なサービスが存在します。AWS認定ソリューションアーキテクトでも相当な量のAWSのサービスについて出題され、どのように対応すべきかを問われます。

文字だけの問題だと実際にAWSをイメージしにくいので実際にAWSを使ってサイトを構築するなどしてみて、AWSについての理解を深めましょう。

タイトルとURLをコピーしました