はじめに
今回はAWSにWordpressを構築してみました。
他にも私のブログで、AWSについて解説している記事がありますのでご覧ください。
AWSとは
AWSとは、Amazon Web Servicesの略でAmazon.comにより提供されているクラウドコンピューティングサービスです。

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

自分が無料利用枠を利用する資格があるかどうかは、請求情報とコスト管理ダッシュボードから確認します。
「アラートおよび通知」セクションに、以下のメッセージが表示されています。
お客様は、AWS 無料利用枠 の対象になっています。無料利用枠の利用開始方法については、AWS 無料利用枠入門ガイド をご覧ください。
AWSアカウントを作成した日を確認するには「請求書」をクリックします。
無料利用枠の利用期間の終了が近づくと、Eメールアドレスへ通知が来るようです。
その時に不要なリソースは課金されないように削除する必要があります。
詳細はAWSのドキュメントを参考にして下さい。
気になる料金は
それでは無料枠が切れた後はどれくらいかかるのでしょうか。
AWSは稼働時間やデータ転送量などの従量課金です。
料金体系が結構複雑なので、なかなか試算するのが難しいですよね・・
AWSの計算ツールを使ってみます。
今回は後ほど構築する環境と同様、t2.microでオンデマンドインスタンス、EBS10GBで見積もってみました。
1ヶ月あたり、12.30 USD(1,359円)でした。
それに別途、データ転送量もかかる感じでしょうか。
(リザーブドインスタンスであればもう少し安くはなりますが)
私のような個人ブログでWordpressが動けば良い程度であれば、レンタルサーバーのほうが安く簡単ですが、色々と環境を用意するにはAWSは便利ですね!
参考

構築
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が変わらないことも確認します。
さらに独自ドメインの設定なども行うことが可能です。

SSHでリモートの仕方
作成したインスタンスにはSSHでリモートすることができます。
Windowsの場合は、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のインスタンスが停止している間は料金が発生してしまいます。

インスタンスをすべて止めたのに、金額が発生する場合は請求を確認してみましょう。
金額を発生させないためには、無料枠でEC2インスタンスを起動しておくか、Elastic IPを開放する必要があります。
Elastic IP Addresses
$0.005 per Elastic IP address not attached to a running instance per hour (prorated)
PHPのバージョンアップについて
やはりミドルウェアのバージョンアップも意識する必要があります。
しかし、PHPだけとか、MySQLだけのバージョンアップというのは難しいようです。
一方、レンタルサーバーの場合、ミドルウェアのバージョンアップなどは楽です。
業者にもよりますが、PHPのバージョンはコントロールパネルから変更できるようになっています。

私はレンタルサーバー(XServer)を利用していますが、1契約で複数のサイトを立ち上げることができます。
私のような個人サイトでは、アクセスが大量にあるわけでもないので、問題なく使うことができています。
さいごに
AWSを使ってサクッと環境を用意できるのは便利ですね!
他にも私のブログで、AWSについて解説している記事がありますのでご覧ください。
コメント