自分だけのクイズ作成 - Quipha公開中

【AWS】WordPressを構築

AWS
スポンサーリンク

はじめに

今回はAWSにWordpressを構築してみました。

AWSとは

AWSとは、Amazon Web Servicesの略でAmazon.comにより提供されているクラウドコンピューティングサービスです。

Amazon Web Services - Wikipedia

無料枠について

基本的にはAWSアカウントを作成した日から12ヶ月の無料枠が利用できます。

AWS クラウド無料利用枠 | AWS
AWS 無料利用枠を使用すると、AWS のプラットフォーム、製品、およびサービスを無料でお試しいただけます。各製品ごとの無料利用枠の詳細やご利用開始方法についてご紹介します。

自分が無料利用枠を利用する資格があるかどうかは、請求情報とコスト管理ダッシュボードから確認します。

「アラートおよび通知」セクションに、以下のメッセージが表示されています。

お客様は、AWS 無料利用枠 の対象になっています。無料利用枠の利用開始方法については、AWS 無料利用枠入門ガイド をご覧ください。

AWSアカウントを作成した日を確認するには「請求書」をクリックします。

日付のプルダウンより確認できます。
(課金が発生していなくても、アカウントを作成した日から毎月1回発行されているため)

無料利用枠の利用期間の終了が近づくと、Eメールアドレスへ通知が来るようです。
その時に不要なリソースは課金されないように削除する必要があります。

詳細はAWSのドキュメントを参考にして下さい。

用の適格性AWS無料利用枠 - AWS Billing and Cost Management
の利点を受け取るAWSへのサインアップ後、12 か月間の無料利用枠が自動的に割り当てられます。AWSアカウント. 使用制限を超過した場合AWS無料利用枠、提供していないサービスを使用するAWS無料利用枠の特典、または引き続きAWSの資格がなくなった後にAWS無料利用枠では、AWSの使用法。提供するサービスのリストについ...

気になる料金は

それでは無料枠が切れた後はどれくらいかかるのでしょうか。
AWSは稼働時間やデータ転送量などの従量課金です。
料金体系が結構複雑なので、なかなか試算するのが難しいですよね・・

AWSの計算ツールを使ってみます。

AWS Pricing Calculator
AWS Pricing Calculator lets you explore AWS services, and create an estimate for the cost of your use cases on AWS.

今回は後ほど構築する環境と同様、t2.microでオンデマンドインスタンス、EBS10GBで見積もってみました。

1ヶ月あたり、12.30 USD(1,359円)でした。
それに別途、データ転送量もかかる感じでしょうか。
(リザーブドインスタンスであればもう少し安くはなりますが)

私のような個人ブログでWordpressが動けば良い程度であれば、レンタルサーバーのほうが安く簡単ですが、色々と環境を用意するにはAWSは便利ですね!

参考

Wordpress ウェブサイトを起動する
Amazon Lightsail で WordPress ウェブサイトを起動する。

構築

AWS マネジメントコンソールを開きます。
EC2を検索しクリックします。

リージョンを東京にしました。

インスタンスの作成をクリックします。

「Wordpress」と検索して、「AWS Marketplace」をクリックします。
今回は無料枠である、「WordPress Certified by Bitnami and Automattic」を選択しました。

次に詳細な価格が表示されます。
t2.microで$0.015/時間でした。
今回は無料ですので、「Continue」をクリックします。

無料利用枠のt2.microインスタンスを使用します。
選択し「次の手順: インスタンスの詳細の設定」をクリックします。

「手順 3: インスタンスの詳細の設定」が開かれますので、そのまま「次の手順: ストレージの追加」をクリックします。

ストレージはそのままにしました。
「次の手順: タグの追加」をクリックします。

「タグの追加」ではName:Wordpressというタグをつけました。
「次の手順: セキュリティグループの設定」をクリックします。

セキュリティグループの設定はそのままにしました。
「確認と作成」をクリックします。

一通り設定が完了したら、「起動」をクリックします。

「新しいキーペアの作成」を選択し、キーペア名は任意で入力します。
その後、キーペアをダウンロードし、インスタンスの作成をクリックします。

インスタンスが作成されるまで待ちます。

インスタンスをクリックし、runningになっていることを確認します。

同じ画面の右下の方に「IPv4 パブリック IP」という項目のIPアドレスをコピーします。
ブラウザからそのIPアドレスへアクセスすると、Wordpressの画面が表示されました。

WordPressの設定

WordPressの管理画面へのログインパスワードを見つけます。
EC2の画面より、アクション→インスタンスの設定→システムログの取得をクリックします。
スクロールしていくと、パスワードが表示されています。

WordPressへのURLに/adminをつけてアクセスします。
user/パスワードを入力してログインします。

無事に管理画面へログインできました。

固定IPアドレスの設定

インスタンス起動時にパブリックなIPアドレスは振られますが、インスタンス再起動時に変わってしまいます
Elastic IPアドレスを割り当てます。無料で一つは割り当てできます。

EC2 コンソールのElastic IPをクリックします。
「新しいアドレスの割り当て」をクリックします。

割り当てをクリックします。

新しいアドレスが割り当てられました。

新しいアドレスをクリックし、アクション→アドレスの関連付けをクリックします。

インスタンスとプライベートIPを選択し、関連付けをクリックします。

関連付けが成功しました。

新しいIPアドレスでアクセスできることを確認してください。
また、インスタンスを再起動しても、パブリックDNSやパブリックIPが変わらないことも確認します。

さらに独自ドメインの設定なども行うことが可能です。

ドメイン名を登録する方法 - アマゾン ウェブ サービス
AWS を使用してドメインを設定する方法をお探しですか? Amazon Route 53 を使用して DNS を選択、購入、および設定するには、この簡単なガイドの手順に従ってください。

SSHでリモートの仕方

作成したインスタンスにはSSHでリモートすることができます
TeraTermを使用します。

Hostには、パブリックIPアドレスを指定します。

user nameは「ubuntu」です。
キーには、EC2インスタンス設定時のpemファイルを指定します。

ログインできました。

WordPressの本体は以下のパスに入っていました。

~/apps/wordpress/htdocs

PHPのバージョンは7.2.16でした。

bitnami@ip-xxx:~/apps/wordpress/htdocs$ php -v
PHP 7.2.16 (cli) (built: Apr  3 2019 21:28:28) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.16, Copyright (c) 1999-2018, by Zend Technologies

phpMyAdminにアクセス

インストールはされていますが、デフォルトでアクセスできません。
http://パブリックIPアドレス/phpmyadmin

For security reasons, this URL is only accessible using localhost (127.0.0.1) as the hostname.

以下のファイルを修正します。

~/apps/phpmyadmin/conf/httpd-app.conf

以下の2箇所を修正します。
許可するIPは自分のインターネットのグローバルIPアドレスに設定しましょう。

Allow from 127.0.0.1
↓
Allow from 106.173.xxx.xxx

Require local
↓
Require all granted

アパッチを再起動します。

sudo /opt/bitnami/ctlscript.sh restart apache

再度、以下のURLにアクセスすると、phpMyAdminの画面が表示されます。
http://パブリックIPアドレス/phpmyadmin

ユーザ名、パスワードは、Wordpressの設定ファイルから探しました。
~/apps/wordpress/htdocs/wp-config.php

/** MySQL database username */
define( 'DB_USER', 'bn_wordpress' );

/** MySQL database password */
define( 'DB_PASSWORD', 'xxx' );

phpMyAdminを開くことができました。

注意点

Elastic IPは、EC2のインスタンスが停止している間は料金が発生してしまいます。

Elastic IP の料金を理解する

インスタンスをすべて止めたのに、金額が発生する場合は請求を確認してみましょう。
金額を発生させないためには、無料枠でEC2インスタンスを起動しておくか、Elastic IPを開放する必要があります。

Elastic IP Addresses
$0.005 per Elastic IP address not attached to a running instance per hour (prorated)

PHPのバージョンアップについて

やはりミドルウェアのバージョンアップも意識する必要があります。
しかし、PHPだけとか、MySQLだけのバージョンアップというのは難しいようです。

How can I update my PHP version. My wordpress site health is saying update php. When I checked it shows php 7.3 version
Hi @sanchit.taksali, But what is the version you launched from the launchpad? Note mine is 5.4.2-1. This version is independent of the WordPress application in...

新規インスタンスを作成し、Wordpressのサイトを丸ごと引っ越す作業が必要になりそうです。

一方、レンタルサーバーの場合、ミドルウェアのバージョンアップなどは楽です。
業者にもよりますが、PHPのバージョンはコントロールパネルから変更できるようになっています。

私はレンタルサーバー(XServer)を利用していますが、1契約で複数のサイトを立ち上げることができます。
私のような個人サイトでは、アクセスが大量にあるわけでもないので、問題なく使うことができています。

個人的には、レンタルサーバーの方が料金面(月額固定)、運用面でも良いかなと思っています。

さいごに

AWSを使ってサクッと環境を用意できるのは便利ですね!

コメント

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