1年間無料のAWSを使ってワードプレスを動かしてみた

アマゾンウェブサービス(AWS:Amazon Web Service)が現在1年間無料で使える仕様になっています。

まずはこちらをご覧いください。→  「AWSを無料でお試しください

今回このAWSを使ってワードプレスを動かすまでを記そうと思います。

AWSの申込み

まずはAWSアカウントを作成します。先程のリンクから「いますぐ申し込む」をクリックしてください。
アカウント作成にはクレジットカードと認証用の電話番号が必要です。
アカウント作成の詳細についてはアマゾンのサイト「AWSアカウント作成の流れ」が詳しいのでこちらを参考にしてください。

AWSの管理画面にログインする

AWSの管理画面はAWSマネジメントコンソールと言います。

この中から必要な機能だけを使うわけです。いっぱい機能があって迷いますが、今回の目的はワードプレスを動かすことなので、最小限の機能しか使いません。

仮想サーバの構築

仮想サーバの構築にはEC2を利用します。マネージメントコンソールを下の方へスクロールして「ソリューションの構築」を表示させます。
この中の「仮想マシンの起動」をクリックしてください。

AWSでは仮想マシンの実体のことをインスタンスと呼びます。インスタンスは何個でも作成できますが、無料枠で使うなら1個までです(停止しない場合)。

1.まずはこのインスタンスの名前を決めましょう。何でもいいですが、覚えやすいのがいいでしょう。
インスタンスの名前を入力したら「続行」をクリックします。

2.次にオペレーションシステムの選択ですが、これは「Amazon Linux AMI」がいいでしょう。これはCentOSをベースにAmazonがカスタマイズしたOSです。ほとんどCentOSなので扱いやすいと思います。
OSを選択したら「続行」をクリックしてください。

3.インスタンスタイプを選びます。無料枠で使うなら「t2.micro」一択です。「続行」をクリックします。

4.キーペアの作成に入ります。EC2で作成するインスタンスへの接続は公開鍵認証で行われます。その際に必要となる秘密鍵を作成するのです。忘れたら大変なので、どこか安全な場所に記録しておきましょう。
キーを入力したら「ダウンロード」ボタンをクリックしてください。
すると警告が出ますので、よく読んで「OK!ダウンロードを開始」をクリックします。
ダウンロード先は安全な場所がいいでしょう。今後ログインするときに必要となります。
ダウンロードが済んだら「このインスタンスを作成」をクリックします。

5.ステータスが「進行中」から「完了しました。」へ変わったら完了です。完了まで1分程度かかることと思います。
完了したら「EC2 コンソールに進む」をクリックしてEC2のコンソールへと進みます。

6.コンソール下側のウィンドウで「ステータスチェック」タブをクリックします。ステータスが「システムの接続性チェックに合格しました」と「インスタンスの接続姓チェックに合格しました」へ変化したらすべて完了です。

セキュリティグループの作成

セキュリティグループを変更しないとこのインスタンスへ接続できません。セキュリティグループとは、早い話がファイアーウォールです。
httpプロトコルで使用するポート80番を次の手順で開放します。

1.コンソール左のメニューから「ネットワーク&セキュリティ」の中の「セキュリティグループ」を選択します。

2.次にコンソール上側にあるインスタンスの名前にチェックを入れます。先程付けた名前です。

3.コンソール下側から「インバウンド」タブをクリックします。

4.「編集」ボタンをクリックします。

5.「ルールの追加」をクリックします。ここで間違ってもSSHを削除しないでください。

6.次の設定を追加します。繰り返しになりますが、SSHだけは削除しないでください。

タイプ  プロトコル  ポート範囲  送信元
HTTP   TCP        80        任意の場所  0.0.0.0/0, ::/0
MySQL  TCP        3306      任意の場所  0.0.0.0/0, ::/0

7.「保存」ボタンをクリックします。

以上でセキュリティグループの編集が完了しました。

インスタンスへログインする

コンソール画面にパブリックDNSが表示されていますので、よく探してみてください。これが現在の接続アドレスとなります。ログインするにはSSH接続クライアントが必要です。私はWindowsで動作するTeraTermを使用していますが、他のSSH接続クライアントでも構いません。

初期設定では、ユーザ名は ec2-user、パスワードはSSHで認証するので空欄となります。SSHでの接続に関してはお使いのSSH接続クライアントの説明書を参照してください。ここで先程ダウンロードしたファイルが必要になります。

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2016.09-release-notes/
[ec2-user@ip-???-???-???-??? ~]$

と表示されればログイン完了です。

Apacheのインストール

仮想サーバができましたので、次はApacheをインストールします。

$ sudo yum -y install httpd

オプションの -y はすべての質問に YES と答えるという意味です。
何やらいろいろ表示されますが、「Complete!」と表示されれば終了です。
インストールが終わったらApacheを起動させます。

$ sudo service httpd start

システムがブートするたびにApacheが起動するように設定しておきます。

$ sudo chkconfig httpd on

正常に起動しているかブラウザからアクセスしてみましょう。
アクセス先は先程のパブリックDNSです。?は伏せ字です。

http://ec2-???-???-???-???.ap-northeast-1.compute.amazonaws.com

以上でApacheのインストールが終わりました。

 

データベースのインスタンスを作成する

ここで一旦EC2コンソールからAWSマネジメントコンソールに戻ってください。「サービス」メニューをクリックします。

1.コンソールからRDSをクリックします。

2.「今すぐ始める」ボタンをクリックします。

3.「無料利用枠のみの対象」にチェックを入れます。
エンジンの選択では「MySQL」を選択して、「選択」ボタンをクリックしてください。

4.インスタンスの仕様を決めます。

DBエンジン : mysql
ライセンスモデル :  General Public License
DBエンジンのバージョン : 5.6.27
DBインスタンスのクラス : db.t2.micro – 1 vCPU, 1GiB RAM
マルチAZ配列 : 選択できません
ストレージタイプ : 汎用(SSD)
ストレージ割り当て : 5 GB
設定
  DBインスタンス識別子 : [名前を付けます(例:rds-mysql-server)]
  マスターユーザの名前 : root(これは推奨されません。他の名前にしましょう)
  マスターパスワード : [マスターユーザのパスワード]
  マスターパスワードの確認 : [マスターユーザのパスワード]

設定入力が終わったら「次のステップ」をクリックします。

5.インスタンスの詳細設定を行います。

ネットワーク&セキュリティ
  VPC : デフォルトVPC
  サブネットグループ : default
  パブリック・アクセス : いいえ
  アベイラビリティゾーン : ap1-northeaset-1a
  VPCセキュリティグループ : [EC2で作成したインスタンス]
データベースの設定
  データベースの名前 : [データベース名(例:wordpress1)]
  データベースのポート : 3306
  DBパラメータグループ : default.mysql5.6
  オプショングループ : default:mysql-5-6
  タグをスナップショットへコピー : チェック入れない
バックアップ
  バックアップの保存期間 : そのままで構いません
  バックアップウィンドウ : そのままで構いません
モニタリング
  拡張モニタリングを有効にする : いいえ
メンテナンス
  マイナーバージョン自動アップグレード : はい
  メンテナンスウィンドウ : 指定なし

6.入力が終わったら「DBインスタンスの作成」をクリックしてください。

7.インスタンスの作成には数分かかることもありますので、ここで一服しておきましょう。

8.「DBインスタンスの表示」をクリックして、DBインスタンスを表示させます。

9.「エンドポイント」を記録しておきます。これがサーバアドレスとなります。

10.「DBインスタンスの起動」をクリックします。

以上でデータベースの作成が完了しました。

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

SSH端末に戻ってMySQLをインストールします。

$ sudo yum –y mysql

今回も何やら表示されますが、「Complete!」が表示されたらインストールの完了です。

MySQLの確認

データベースに接続できるか確認します。

$ mysql –h [エンドポイント] –u [マスターユーザ名] –p [データベース]

パスワードを聞かれますので入力します。次のように表示されたらインストール成功です。

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 36
Server version: 5.6.27-log MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

もし何も表示されないかエラーが表示されるようでしたらセキュリティグループを見直してみてください。

mysqlを終了するには quit と入力します。

mysql> quit

PHPのインストール

$ sudo yum install –y php php-devel php-mysql php-mbstring php-gd

例によって-yオプションはすべての質問にYESと答えるものです。これも「Complete!」が表示されればインストール成功です。

$ sudo service httpd restart

でApacheを再起動します。以上でPHPのインストールが完了しました。

ワードプレスのインストール

$ wget http://ja.wordpress.org/latest-ja.tar.gz

途中いろいろメッセージが出ますが「Complete!」が表示されたら成功です。

$ sudo tar zxvf latest-ja.tar.gz -C /var/www/html/

これもファイル名が色々出ますが、エラー以外は気にしなくて構いません。エラーの場合はタイプミスが考えられます。

$ sudo chown -R apache /var/www/html/wordpress/

このコマンドでワードプレスファイル(ディレクトリも含めて)のオーナーをapacheに変更します。これによってApacheがワードプレスの設定を読み書きできるようにします。

インストールで不要になったファイルを削除しておきましょう。

$ rm latest-ja.tar.gz

独自ドメインでの運用

URLがこのままでは長すぎますので、独自ドメインで運用しましょう。

ドメイン取得は、お名前.comムームードメインなどで、お好きなドメインを取得してください。

ここでは例として example.co.jp を取得したものとします。

1.EC2ダッシュボードにアクセスします。

2.左側のメニューから「Elastic IP」をクリックしてください。

3.「新しいアドレスの割り当て」をクリックしてIPアドレスを取得します。

4.「割り当て」をクリックします。取得したIPアドレスは忘れないようにどこかへ記録しておきましょう。

5.次に、コンソール上部の「アクション」メニューから「アドレスの関連付け」を行います。

6.リソースタイプやインスタンスなどを設定します。

リソースタイプ : インスタンス
インスタンス : [EC2のインスタンス]
プライベートIP : [選べるものから選択]
再関連付け : チェック外す

入力が終わったらプライベートIPを記録しておき、「関連付け」をクリックします。関連付けが終わるとIPアドレスが割り当てられますので、今までのURLは無効になります。SSH接続していたらこれも切断されますので、再度SSHでログインしてください。

7. ドメインを取得したドメイン管理事業者(お名前.comやムームードメインなど)のDNSサーバに、6で割り当てられたプライベートIPを設定します。

8. DNSの反映までに10分から半日くらいかかることがありますので、反映されるまで待ちましょう。
反映されたか確認するには次のコマンドを使います。

$ nslookup example.co.jp

これで http://example.co.jp/wordpress/ でワードプレスにアクセスできるようになりました。

ワードプレスの設定

http://example.co.jp/wordpress/ へアクセスします。

「さあ、始めましょう!」をクリックします。

次にデータベース接続のための設定をします。

データベース名 : [RDSに作成したデータベース名(例:wordpress1)]
ユーザ名 : [マスターユーザ(例:root)]rootは推奨されません!
パスワード : [マスターパスワード]
データベースのホスト名 : [RDSエンドポイント]
テーブル接頭辞 : wp1_

以上を設定したら「送信」ボタンをクリックします。

注意!マスターユーザを使用することはセキュリティ上推奨されません。ユーザを別途作成してそのユーザを使うことを強くオススメします。

準備が整ったら「インストール実行」をクリックします。これでワードプレスのインストールが完了しました。

サイトのタイトル : [ご自分でお決めください]
ユーザー名 : [ワードプレスにログインするユーザー名]
パスワード : [デフォルトのままで結構です(ただし、忘れないように!)]
メールアドレス : [ご自分のメールアドレス]
検索エンジンでの表示 : チェック入れない

入力が完了したら「ワードプレスのインストール」をクリックします。全部OKならログイン画面が表示されますのでログインして、カスタマイズなり投稿なりしてみてください。

以上で、AWSへのワードプレス導入がすべて完了しました。