【AWSでWordPress構築】LightsailとEC2の構築手順から運用までを解説
「AWSでWordPressサイトを構築したいけど、難しそう…」と感じる方も多いでしょう。
本記事では、AWSアカウント作成からWordPressインストール後の運用・保守まで、WordPressサイト構築に必要な情報を完全網羅。
さらに、LightsailとEC2の徹底比較や、セキュリティ対策、パフォーマンス最適化など初心者の方でも安心してAWSでWordPressサイトを構築・運用できるよう、丁寧に解説していきます。
AWS とレンタルサーバーの違い
サーバーを構築する際、AWSとレンタルサーバーのどちらを選ぶべきか迷う方もいるかもしれません。 ここでは、費用、柔軟性、使いやすさの3つの観点から、AWSとレンタルサーバーの違いを解説し、それぞれの特徴を理解した上で、最適な選択ができるようにサポートします。
費用
AWSとレンタルサーバーでは、費用の考え方が大きく異なります。
項目 | AWS | レンタルサーバー |
費用体系 | 従量課金制 | 月額固定料金制 |
概要 | 使用したリソース量(インスタンス稼働時間、データ転送量など)に応じて課金 | あらかじめ用意されたプランから選択し、固定料金を支払う |
メリット | 使用量に応じた柔軟な支払いができるため、リソースの無駄が少ない | 費用が予測しやすいため、予算管理がしやすい |
AWSでは使った分だけ支払うため、無駄なコストを抑えられます。一方、レンタルサーバーは固定料金なので、予算計画が立てやすいというメリットがあります。
柔軟性
AWSとレンタルサーバーでは、提供されるサービス内容やカスタマイズの自由度が大きく異なります。
項目 | AWS | レンタルサーバー |
カスタマイズ性 | 高い | 低い |
サービス内容 | 多様なサービスを自由に選択・組み合わせ可能 | WordPress運用に必要な最低限の機能 |
拡張性 | 必要に応じて柔軟に拡張可能 | あらかじめ決められたプランの範囲内 |
他サービスとの連携 | AWSの多様なサービスと連携可能 | 限定的 |
AWSは、WordPressサイトの成長や変化に合わせて柔軟に対応できる自由度の高さが魅力です。一方、レンタルサーバーは、手軽にWordPressを始めたい場合に適しています。
使いやすさ
AWSとレンタルサーバーでは、管理画面のインターフェースや操作方法が異なります。
項目 | AWS | レンタルサーバー |
管理画面 | 多機能で複雑 | シンプルでわかりやすい |
操作方法 | ある程度のIT知識が必要 | 初心者向けに設計されている |
WordPressインストール | 手動でインストールする必要がある | 自動インストール機能がある場合が多い |
設定 | コマンドラインや設定ファイルなどを操作する必要がある | 管理ツールなどを使って簡単に行える |
レンタルサーバーは、初心者の方でも直感的に操作できるよう、使いやすさが重視されています。 一方で、AWSは、豊富な機能を柔軟に活用できる反面、使いこなすにはある程度の知識や経験が必要です。
AWSでWordPressを構築する2つの方法
AWSでWordPressを構築するには、主に Amazon EC2 と Amazon Lightsail の2つの方法があります。どちらも仮想サーバーを提供するサービスですが、それぞれ特徴が異なります。
Amazon EC2
AWSでWordPressを構築したいなら、Amazon EC2がおすすめです。EC2は仮想サーバーを構築するサービスで、OSやインスタンスタイプなどを自由に選択・設定できます。WordPressに必要なApache、MySQL、PHPといったソフトウェアも、自分でインストールしてカスタマイズすることが可能です。
EC2は、AWSの他のサービスと連携しやすいのも大きなメリットです。例えば、データベースにAmazon RDSを利用したり、ストレージにAmazon S3を利用したりすることで、より高性能でスケーラブルなWordPress環境を構築できます。
ただし、EC2は自由度が高い分、設定が複雑になるという側面もあります。AWSやサーバー構築に関する基礎知識があると、よりスムーズにWordPress環境を構築できるでしょう。
Amazon Lightsail
AWSで手軽にWordPressを始めたいなら、Amazon Lightsailがおすすめです。Lightsailはシンプルな仮想サーバーサービスで、初心者の方でも簡単にWordPress環境を構築できます。
Lightsailでは、あらかじめ用意されたプランから選ぶだけで、WordPressに必要なサーバーリソースが確保されます。難しい設定は必要なく、WordPressもワンクリックでインストールできます。
月額固定料金制なので、コストが予測しやすいのも魅力です。複雑な料金体系を理解する必要がなく、安心してWordPressサイトを運用できます。
Lightsailは、小規模なWordPressサイトや、初めてAWSを利用する方に最適なサービスと言えるでしょう。
Amazon EC2でWordPressを構築する方法
Amazon EC2でWordPressを構築する方法について、画面キャプチャや実際のコマンドを例に解説します。
ステップ1:AWSアカウントの作成
AWSを利用するには、AWSアカウントが必要です。まだアカウントをお持ちでない方は、以下の手順でアカウントを作成しましょう。
1-1.アカウント作成ページへ移動
まずは、AWSのアカウントを作成します。
1-2.必要情報を入力
メールアドレス、パスワード、氏名、住所、電話番号、クレジットカード情報などの必要情報を入力します。
1-3.AWSマネジメントコンソールへのログイン
AWSマネジメントコンソールへのログインができたら、AWSアカウント作成は完了です。
ステップ2:WebサーバーとなるEC2インスタンスの作成
いよいよ、AWS上に仮想サーバーを構築していきます。
仮想サーバーとは、物理的なサーバーをAWS上に仮想的に用意したものです。
AWSでは、この仮想サーバーを EC2インスタンス と呼びます。
EC2インスタンスを作成するには、AWSマネジメントコンソールから設定を行います。
2-1. EC2サービスの選択
AWSマネジメントコンソールを開き、サービス一覧から EC2 を選択します。
2-2. インスタンスの起動
EC2ダッシュボードが表示されたら、「インスタンスを起動」ボタンをクリックします。
Amazon EC2でインスタンスを作成するには、AMIの選択、インスタンスタイプの決定など、いくつかの手順があります。ここでは、インスタンス作成に必要な6つの主要項目について、順を追って詳しく解説していきます。
2-3. 名前とタグ
インスタンスに分かりやすい名前とタグをつけましょう。名前は後で変更できますが、タグはインスタンス作成時に設定する必要があります。
項目 | 概要 | 設定例 |
名前 | インスタンスを識別しやすい名前を入力します。 | Webサーバー、DBサーバーなど |
タグ | キーと値のペアで構成されます。用途や役割を分類するために使用します。 | キー「環境」、値「開発」など |
2-4. AMIの選択
EC2インスタンスを立ち上げるには、まず「設計図」が必要になります。この設計図にあたるのがAMI (Amazon Machine Image) です。AMIには、OS (WindowsやLinuxなど) や必要なソフトウェアがあらかじめ含まれているので、ゼロから環境を構築する必要がなく、簡単にインスタンスを作成できます。
今回は、Amazon Linux 2 というOSを使うので、「Amazon Linux 2 AMI」という設計図を選びます。
2-5. インスタンスタイプの選択
EC2インスタンスの性能は、パソコンでいうCPUやメモリのようなものです。インスタンスタイプを選ぶことで、処理能力やメモリ容量など、インスタンスの性能を決めることができます。
今回は、AWSの無料利用枠でEC2を使うので、「t2.micro」という種類のインスタンスを選びます。
2-6. キーペア (ログイン) 情報
EC2インスタンスにログインするには、鍵が必要です。この鍵を作るのが「キーペアの作成」です。キーペアには、「公開鍵」と「秘密鍵」の2つがあります。
項目 | 概要 |
公開鍵 | EC2側に設定されます。 |
秘密鍵 | 自分で大切に保管します。 |
[キーペア(ログイン)]セクションの[新しいキーペアの作成]を押下します。
この画面では、EC2インスタンスに接続するためのキーペアを作成します。以下の手順で操作してください。
手順 | 手順名 | 概要 |
STEP1 | キーペア名を入力 | 任意のキーペア名を入力します。名前は最大255文字のASCII文字で、先頭または末尾にスペースを含めることはできません。例:MyKeyPair 、 WebServerKey など、分かりやすい名前をつけましょう。 |
STEP2 | キーペアのタイプを選択 | RSA (推奨) : 従来から広く使われている方式です。ED25519 : より新しい方式で、セキュリティ強度が高いです。特に理由がなければ、RSA を選択しておけば問題ありません。 |
STEP3 | プライベートキーファイル形式を選択 | .pem (推奨):OpenSSHで使用する形式です。LinuxやmacOSで接続する場合はこちらを選択します。.ppk:PuTTYで使用する形式です。WindowsでPuTTYを使って接続する場合はこちらを選択します。 |
STEP4 | 「キーペアを作成」ボタンをクリック | キーペアが作成され、秘密鍵(.pem または .ppk ファイル)がダウンロードされます。 |
ダウンロードされた秘密鍵は、EC2インスタンスにログインする際に必要です。紛失しないように、安全な場所に保管してください。
2-7. ネットワーク設定
EC2インスタンスは、インターネット上に公開されます。そこで、外部からの不正アクセスを防ぐために、ファイアウォールを設定する必要があります。このファイアウォールは、「セキュリティグループ」と呼ばれ、EC2インスタンスへのアクセスを許可するルールを設定することができます。
今回は、新しいセキュリティグループを作成し、以下のルールを設定します。
- SSHトラフィックを許可
自分のパソコンからEC2インスタンスに接続するためのルールです。
「任意の場所」を選択すると、どこからでも接続できるようになります。
セキュリティを強化する場合は、自分のパソコンのIPアドレスを指定するようにし
ましょう。
- HTTPS・HTTPトラフィックを許可
これは、Webサイトを公開する場合などに必要なルールです。
今はWebサイトを公開しないので、チェックボックスを オフ にしておきます。
2-8. ストレージ設定
EC2インスタンスには、データを保存するためのストレージが必要です。AWSの無料利用枠では、30GBまでのストレージを使うことができます。
今回は、デフォルトで設定されている8GBのストレージで問題ありません。
2-9. インスタンスの起動
設定内容を確認し、 [インスタンスを起動] ボタンをクリックします。
ステップ3:EC2インスタンスにSSH接続をする
EC2インスタンスが起動したら、SSH接続でインスタンスにアクセスし、コマンド操作を行うことができます。Macには、標準でターミナルが搭載されているため、特別なソフトウェアをインストールする必要はありません。
3-1. ターミナルを起動
アプリケーションフォルダ内にある ターミナル を起動します。
3-2. 秘密鍵のパーミッション変更
EC2インスタンス作成時にダウンロードした秘密鍵 (.pem ファイル) のパーミッションを変更します。
ターミナルで以下のコマンドを実行します。 your-key-pair.pem の部分は、ダウンロードした秘密鍵のファイル名に置き換えてください。
chmod 400 your-key-pair.pem |
項目 | 概要 |
chmod | ファイルやフォルダのパーミッションを変更するコマンドです。 |
400 | 所有者だけに読み取り権限を与え、他のユーザーにはアクセス権を与えません。 |
your-key-pair.pem | 秘密鍵のファイル名です。 |
この操作により、秘密鍵へのアクセスを制限し、セキュリティを強化することができます。
3-3. SSH接続コマンドの実行
EC2インスタンスに接続するには、SSHという仕組みを使います。SSHは、安全にリモートコンピュータに接続するためのプロトコルです。Macでは、ターミナルというアプリを使ってSSH接続を行います。
ターミナルに以下のコマンドを入力し、「your-key-pair.pem」の部分をダウンロードした秘密鍵のファイル名に置き換え、「your-instance-public-dns」の部分をEC2インスタンスのパブリックDNS名に置き換えて、Enter キーを押下すれば接続が完了します。
ssh -i your-key-pair.pem ec2-user@your-instance-public-dns |
パブリックDNS名の調べ方
- AWSマネジメントコンソールにログインします。
- 「EC2」サービスを選択します。
- 左側のメニューから「インスタンス」を選択します。
- 作成したインスタンスを選択します。
- 「パブリックIPv4 DNS」の値がパブリックDNS名です。
ステップ4:Apache Webサーバーのインストール
WordPressを動かすためには、Webサーバーが必要です。Webサーバーは、インターネットからのリクエストを受け取り、Webサイトのデータを返す役割を担います。Apacheは、世界で最も広く使われているWebサーバーソフトウェアの一つです。
4-1. 権限の変更
以下のコマンドをターミナルで実行し、rootユーザー権限に変更します。
sudo -i |
rootユーザーは、システム全体を管理できる特別なユーザーであり、Webサーバーなどのソフトウェアをインストールするには、rootユーザー権限が必要です。
4-2. Apacheのインストール
以下のコマンドをターミナルで実行し、Apacheをインストールします。
yum -y install httpd |
「yum」は、Amazon Linux でソフトウェアをインストールするためのコマンドで、「httpd」は、Apacheのパッケージ名です。
4-3.インストールしたApacheを起動する
service httpd startsystemctl status httpd |
ステップ5:MySQLのインストール
MySQLは、Webサイトでよく使われるデータベースソフトウェアです。データベースは、Webサイトのコンテンツやユーザー情報などを保存するために使用されます。
WordPressは、MySQLデータベースを使用してデータを管理しています。そのため、WordPressを動かすためには、MySQLをインストールする必要があります。
5-1. MySQLをインストール
sudo yum -y install mysql |
5-2. MySQLのサービスを起動
$sudo service mysqld start |
5-3. MySQLのrootユーザーでログイン
$mysql -u root |
rootユーザーでログインすると、コンソール画面が以下の表示になります。
mysql> |
5-4. データベースの作成
データベースを作成するには、以下のコマンドを実行します。
mysql> CREATE DATABASE WordPress DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;Query OK, 1 row affected (0.00 sec) |
5-5. データベースのユーザー作成
このコマンドを実行すると、ユーザー名「WordPress」、ホスト名「%」、パスワード「test」のユーザーが作成されます。
mysql> CREATE USER ‘WordPress’@’%’ IDENTIFIED BY ‘test’; |
5-6. ユーザーへの権限操作
作成したユーザーにWordPressデータベースへのアクセス権を与えるには、以下のコマンドを実行します。
mysql> GRANT ALL ON WordPress.* TO `WordPress`@`%`;Query OK mysql> FLUSH PRIVILEGES; |
これで、ユーザー WordPress は WordPress データベースのすべてのテーブルに対して、すべての操作 (データの読み取り、書き込み、更新、削除など) を実行できるようになります。
ステップ6:PHPのインストール
PHPは、Webサイトを動的にするためのプログラミング言語です。WordPressは、PHPで開発されています。WordPressを動かすためには、PHPをインストールする必要があります。
6-1. PHPのインストール
sudo yum -y install php |
6-2. PHPのバージョンを確認
php -v |
6-3. Apacheを再起動しPHPを有効化
Apacheを再起動することで、PHPの設定が読み込まれ、WordPressでPHPが使えるようになります。
sudo systemctl restart httpd |
ステップ7:WordPressのインストール
WordPressをインストールするには、WordPressの公式ウェブサイトからWordPressのファイルをダウンロードし、EC2インスタンスにアップロードする必要があります。
7-1. ホームディレクトリに移動
cd ~ |
7-2. WordPressをダウンロード
wget https://ja.wordpress.org/latest-ja.tar.gz |
「wget」は、ファイルをダウンロードするためのコマンドで、「latest-ja.tar.gz」は、WordPressの最新版の日本語版を圧縮したファイルです。
7-3. ダウンロードしたファイルの解凍
tar xzvf latest-ja.tar.gz |
7-4. WordPressをコピー
cp -R wordpress/ /var/www/html/wordpress |
7-5. Apache公開フォルダの権限を変更
sudo chown apache:apache /var/www/html/wordpress -R |
7-6. 設定を反映させるためにApacheを再起動
sudo systemctl restart httpd |
ステップ8:WordPressの設定
WordPressをインストールしたら、Webブラウザを使ってWordPressの設定を行いましょう。
EC2インスタンスのパブリックIPアドレスにアクセスすると、WordPressの初期設定画面が表示されます。画面の指示に従って、言語の選択、サイトのタイトル、ユーザー名、パスワードなどを入力し、ステップ5で作成したデータベース名、ユーザー名、パスワードを入力してください。
これで、WordPressのインストールと設定は完了です。
Amazon LightsailでWordPressを構築する方法
ここからは、Amazon LightsailでWordPressを構築する方法について解説します。
ステップ1:AWSアカウントへのログイン
AWSマネジメントコンソールへのログインを行います。
ステップ2:Lightsailインスタンスの作成
AWSマネジメントコンソールにログインしたら、Lightsailインスタンスを作成します。
2-1. Lightsailのホーム画面に移動
「すべてのサービス」→「Lightsail」を押下します。
2-2. インスタンスの作成
「インスタンスを作成する」をクリックし、「インスタンスの作成」を押下します。
2-3. リージョンは「Tokyo」を選択
2-4. プラットフォームは「Linux/Unix」、設計図は「WordPress」に設定
2-5. インスタンスプランは「5ドル(月額)」を選択(90日間無料)
2-6. 「インスタンスの作成」を押下
ステップ3:ネットワーキングの設定
作成したインスタンスに固定IPアドレスを割り当てて、Webサイトに安定してアクセスできるようにします。
3-1. インスタンスを選択
Lightsailのインスタンスページで、先ほど作成したWordPressインスタンスをクリックします。
3-2. ネットワーキング設定を開く
インスタンスの詳細ページが表示されたら、「ネットワーキング」タブをクリックします。
3-3. 静的IPを作成
「IPアドレス」セクションにある「静的IPの作成」ボタンをクリックします。
3-4. インスタンスに割り当てる
表示されたページで、作成する静的IPの名前を入力し、「インスタンスへのアタッチ」で先ほど作成したWordPressインスタンスを選択します。
3-5. 静的IPを有効化
設定内容を確認し、「作成」ボタンをクリックして静的IPを有効化します。
ステップ4:WordPressへのログイン
LightsailインスタンスにWordPressがインストールされたら、以下の手順でWordPressにログインします。
4-1. インスタンスに接続
Lightsailのインスタンスページで、作成したWordPressインスタンス名をクリックします。
4-2. SSH接続
インスタンスのページで、「SSHを使用して接続」をクリックします。ブラウザ上にターミナルウィンドウが開き、インスタンスに接続されます。
4-3. パスワードを取得
ターミナルウィンドウで以下のコマンドを実行し、WordPressの初期パスワードを取得します。
cat bitnami_application_password |
表示されたパスワードを安全な場所にコピーして保存します。
4-4. WordPressにアクセス
ターミナルウィンドウを閉じると、インスタンスのページに戻ります。パブリックIPアドレスをコピーし、Webブラウザのアドレスバーに「http://(パブリックIPアドレス)/wp-admin」と入力してアクセスします。
4-5. WordPressにログイン
WordPressのログイン画面が表示されたら、以下の情報を入力してログインします。
ユーザー名:user
パスワード」「4-3. パスワードを取得」で取得したパスワード
「ログイン」ボタンをクリックしてログインします。
AWSでWordPressを構築した後の運用
WordPressサイトを構築した後も、安定して運用していくためには、継続的なメンテナンスやセキュリティ対策、パフォーマンス改善などが重要です。
ここでは、AWS上でWordPressサイトを運用する際に特に注意すべき点について解説します。
WordPressの更新
AWSでWordPressを構築したら、サイトを安全・快適に使い続けるために、WordPressの定期的な更新が欠かせません。WordPress本体、テーマ、プラグインには、セキュリティの脆弱性を修正したり、新しい機能を追加したりするための更新が頻繁に提供されます。
これらの更新を怠ると、サイトがウイルスに感染したり、正常に動作しなくなったりする可能性があります。管理画面から更新通知を確認し、こまめに最新の状態を保ちましょう。
更新を行う前に、サイトのデータをバックアップしておくことも重要です。万が一、更新後に不具合が発生した場合でも、バックアップから元の状態に戻すことができます。AWSでは、Amazon S3などのサービスを利用して、バックアップを安全に保管できます。
セキュリティ対策
AWS上でWordPressサイトを運用するなら、セキュリティ対策は特に重要です。悪意のある攻撃からサイトを守るためには、多層的な防御を意識しましょう。
まず、EC2インスタンスのセキュリティグループを見直して、本当に必要なポートだけを開放するようにしましょう。さらに、AWS WAF (Web Application Firewall) を導入すれば、SQLインジェクションやクロスサイトスクリプティングといったWeb攻撃をブロックできます。
WordPress本体のセキュリティ対策も忘れずに行いましょう。Wordfenceなどのセキュリティプラグインを導入し、ログインパスワードを複雑なものにする、2段階認証を有効化するといった対策を組み合わせることで、より強固なセキュリティを実現できます。
パフォーマンスの最適化
AWSでWordPressを構築したら、パフォーマンスの最適化にも取り組みましょう。サイトの表示速度は、ユーザーエクスペリエンスだけでなく、SEOにも大きく影響します。
AWSには、パフォーマンスを向上させるための便利なサービスが揃っています。例えば、Amazon CloudFrontを利用すれば、コンテンツを世界中に分散してキャッシュすることで、サイトの表示速度を格段に向上させることができます。
また、WordPressのキャッシュプラグインを導入したり、画像を最適化したりすることも効果的です。画像のサイズを圧縮したり、WebPなどの新しい画像フォーマットを使用することで、ページの読み込み速度を短縮できます。
これらの対策を組み合わせることで、快適なWordPressサイトを実現できるだけでなく、検索エンジンのランキング向上にも繋がり、より多くのユーザーにサイトを訪問してもらえるようになります。
まとめ
本記事では、AWSでWordPressを構築する方法を、EC2とLightsailの2つのサービスに分けて解説しました。
EC2は自由度が高く、AWSの様々なサービスと連携できる一方、設定が複雑になりがちです。Lightsailは初心者の方でも簡単にWordPress環境を構築できます。
どちらのサービスを利用する場合でも、WordPressの更新、セキュリティ対策、パフォーマンスの最適化など、構築後の運用が重要になります。これらの対策を適切に行うことで、安全で快適なWordPressサイトを運用することができます。