AWSのEC2インスタンスにWordPressを導入してブログを作ってみた ~パート1(VPC作成~EIP設定・EC2インスタンスにログインまで)~

AWS

WordPressでホームページやブログを作成してみようと思い、せっかくなのでAWSの学習も兼ねてEC2インスタンス上にWordPessを導入してみました。

その構築方法についてパート1とパート2の記事に分けてご紹介していきます。
最終的にWordPressの導入後、管理画面が表示できるところまでを目的としております。


はじめに

今回の構築で使用するAWSサービスやOS/ミドルウェアは主に以下となります。

  • AWSサービス
    ・EC2(VPC、EIP)
    ・RDS(MySQL)
    ・Route53
  • OS/ミドルウェア
    ・Amazon Linux
    ・Apache
    ・php
    ・WordPress

事前準備

  • AWSアカウント
    AWSを操作するには公式アカウントが必要となるので事前に作成しておいてください。
  • 独自のドメイン
    Route53に登録する用の独自ドメインを取得しておいてください。
    ※ちなみに私は「お名前.com」を使用しております。(最初の1年が1円なのでお勧めです)
  • AWSやLinuxについての簡単な基礎知識
    特に基礎知識がなくても構築できるようになっておりますが、
    本記事では各設定について詳細に触れてはいないため、ある程度基礎知識があると
    スムーズに目標達成できると思います。

WordPress導入までのながれ

下記ながれで1項目ずつ構築を実施していきます。

  1. VPCの作成
  2. サブネットの作成
  3. IGWの作成・ルーティングの設定
  4. セキュリティグループの作成
  5. EC2インスタンスの作成
  6. EIPの設定・EC2インスタンスにログイン
  7. ミドルウェアインストール・設定
  8. Route53の設定
  9. RDS(MySQL)の設定
  10. WordPress導入

1. VPCの作成

まずはAWS上に仮想ネットワーク環境としてVPCを作成していきます。

AWSコンソールにログインし、リージョンは「アジアパシフィック(東京)」を選択します。

サービスの検索欄から「VPC」と入力してVPCサービスが表示されるので選択します。

VPCの画面に遷移したら画面左のツリーから「VPC」を選択し、「VPCを作成」を押下します。

VPC作成画面で名前タグには「vpc-practice」、IPV4 CIDRには「10.0.0.0/16」と入力します。
その他の項目については画面通りで大丈夫です。
入力後、「VPCを作成」を押下します。

これでVPCの作成は完了です。
次はサブネットの作成をやっていきます。

2. サブネットの作成

作成したVPC内にサブネットを作成していきます。
今回はサブネットを3つ用意します。
・WordPress導入サーバ用のサブネット1つ
・RDS用のサブネット2つ(※後ほどRDSでサブネットグループを作成するため2つ用意します。)

まずはWordPress導入サーバ用のサブネット を作成していきます。

画面左のツリーから「サブネット」を選択し、「サブネットを作成」を押下します。

サブネット作成画面でVPC IDのプルダウンから作成したVPC(vpc-practice)を選択します。

次にサブネットの詳細を設定していきます。
【 WordPress導入サーバ用サブネット 】
サブネット名:「subnet-public1」
アベイラビリティゾーン:「アジアパシフィック(東京) / ap-northeast-1a」
IPv4 CIDR ブロック:「10.0.2.0/24」

上記入力したら「サブネットを作成」を押下します。

同様にRDS用のサブネットを2つ作成していきます。

【RDS用サブネット①】
サブネット名:「subnet-private1」
アベイラビリティゾーン:「アジアパシフィック(東京) / ap-northeast-1a」
IPv4 CIDR ブロック:「10.0.1.0/24」

【RDS用サブネット②】
サブネット名:「subnet-private2」
アベイラビリティゾーン:「アジアパシフィック(東京) / ap-northeast-1d」
IPv4 CIDR ブロック:「10.0.11.0/24」

RDS用サブネットまで作成したらサブネット作成は完了です。
次はIGWの作成・ルーティングの設定していきます。

3. IGWの作成・ルーティングの設定

WordPress導入サーバ用のサブネット(subnet-public1)からインターネットに繋がるように設定します。
その為にまずはIGW(インターネットゲートウェイ)を作成します。

画面左のツリーから「インターネットゲートウェイ」を選択し、
「インターネットゲートウェイの作成」を押下します。

インターネットゲートウェイの作成画面で名前タグに「igw-practice」と入力し、
「インターネットゲートウェイの作成 」ボタンを押下します。

IGWが作成できたら、「igw-practice」にチェックした状態で、
アクションから「VPCにアタッチ」を選択します。

VPCのアタッチ画面で使用可能なVPCに「vpc-practice」を選択して
「インターネットゲートウェイのアタッチ」ボタンを押下します。

VPCにIGWをアタッチしたらルーティングにIGWを設定していきます。

画面左のツリーから「ルートテーブル」を選択し、
「ルートテーブルの作成」を押下します。

ルートテーブル作成画面で名前を「rtb-practice」と入力します。
VPCには「vpc-practice」を選択し、「ルートテーブルを作成」ボタンを押下します。

作成したルートテーブルにチェックした状態でアクションから「サブネットの関連付けを編集」を
選択します。

関連付けるサブネットとして「subnet-public1」にチェックを入れ、
「関連付けを保存」を押下します。

今度は ルートテーブルにチェックした状態でアクションから「ルートを編集」を選択します。

ルートテーブルの編集画面で「ルートを追加」を押下し、
送信先を「0.0.0.0/0」、ターゲットを「インターネットゲートウェイ」を選択します。
※インターネットゲートウェイを選択したら「igw-practice」が候補として表示されるのでそれを選択します。
「変更を保存」を押下して設定を保存します。

これでIGWの作成・ルーティングの設定が完了です。
次はセキュリティグループの作成です。

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

WordPress導入サーバや後程作成するRDSインスタンスへのアクセス制御をするためにセキュリティグループを作成します。


今回セキュリティーグループは2つ用意します。
・WordPress導入サーバ用のセキュリティグループ
・RDSインスタンス用のセキュリティグループ

まずはWordPress導入サーバ用のセキュリティグループを作成していきます。

画面左のツリーから「セキュリティグループ」を選択し、
「セキュリティグループを作成」を押下します。

セキュリティグループ作成画面でセキュリティグループ名と説明に「web-server」と入力します。
VPCには「vcp-practice」を選択します。

次にインバウンドルールを設定します。
「ルールを追加」を押下し、それぞれ下記画面の通り設定していきます。
※SSHを許可するソースはWordPress導入サーバに接続する必要があるPCのIPアドレスを指定し、そのPCからのみ接続できるようにするのがお勧めです。「0.0.0.0/0」の場合、全世界からアクセス可能な状態であるため危険です。
なお、IPアドレスはグルーバルIPアドレスを指定してください。
設定したら「セキュリティグループを作成」を押下します。

WordPress導入サーバ用のセキュリティグループ(web-server)が作成できたら
次はRDS用のセキュリティグループを同様に作成します。

セキュリティグループ名と説明に「db-server」とし、VPCには「vcp-practice」を選択します。
インバウンドルールは下記画面の通りとします。
※ソースにはセキュリティグループ「web-server」を選択します。
設定したら「セキュリティグループを作成」を押下します。

これでセキュリティグループの作成が完了しました。
次はEC2インスタンスを作成していきます。

5. EC2インスタンスの作成

ネットワーク環境が整ったのでサーバを構築していきます。
サービスの検索欄から「EC2」と入力してEC2サービスが表示されるので選択します。

EC2の画面に遷移したら画面左のツリーから「インスタンス」を選択し、「インスタンスを起動」を押下します。

ステップ1としてAmazon マシンイメージ (AMI)画面で使用するAMIイメージを選択します。
今回は無料利用枠の対象である「Amazon Linux 2 AMI (HVM) – Kernel 4.14, SSD Volume Type
の64 ビット (x86)を選択します。

ステップ2としてインスタンスタイプを選択します。
今回は無料利用枠の対象である「t2.micro」を選択します。
選択後、「次のステップ:インスタンスの詳細の設定」を押下します。

ステップ3としてインスタンスの詳細設定をしていきます。
下記の通り変更していきます。(変更箇所のみ記載)
ネットワーク:vpc-practice
サブネット:subnet-public1
プライマリIP:10.0.2.10
※その他の設定について今回はデフォルトのままで大丈夫です。
設定変更後、「次のステップ:ストレージの追加」を押下します。

ステップ4としてストレージの設定をしていきます。
サイズがデフォルトでは8GBですが、(なんとなくキリがよい数字である)10GBにしています。
※その他については特に変更しないで大丈夫です。
「次のステップ:タグの追加」を押下します。

ステップ5としてタグの設定をしていきます。
キーには「Name」、値には「wordpress-server」を入力します。
入力後、 「次のステップ:セキュリティグループの設定」を押下します。

ステップ6としてセキュリティグループの設定をしていきます。
既にセキュリティグループは作成済みであるため、ここではセキュリティグループの割り当て
には「既存のセキュリティグループを選択する」を選び、
WordPress導入サーバ用のセキュリティグループである「web-server」を選択します。
選択後、「確認と作成」を押下します。

ステップ 7としてこれまでの設定内容が一通り参照できます。
そのまま「起動」を押下します。
キーペアの選択画面が表示されるので今回は「新しいキーペアの作成」を選択し、
キーペア名を「key-pair-practice」と入力後、「キーペアのダウンロード」を押下して
ファイルをダウンロードします。
※このキーペアファイルはssh接続でサーバにログインするために使用します。
最後に「インスタンスの作成」を押下して、インスタンスを作成します。

インスタンスのスターテスチェックが「2/2のチェックに合格しました」となったら無事作成完了です。

これでEC2インスタンスの作成は完了です。
次はEIPを設定してEC2インスタンス(WordPress導入サーバ)にログインしてみます。

6. EIPの設定・EC2インスタンスにログイン

WordPress導入サーバがインターネットと接続するためにはグローバルIPを付与する必要がるためEIPを設定していきます。
EC2画面左のツリーから「Elastic IP」を選択し、「Elastic IP アドレスを割り当てる」を押下します。

特に変更はせずに「割り当て」を押下します。
EIPが作成できたら、対象EIPを選択しアクションから「Elastic IPアドレスの関連付け」を選択します。


インスタンスに作成済みの「wordpress-server」を選択し、
プライベートIPアドレスには「10.0.2.10」を選択します。
「関連付ける」を押下して、EIPを関連付けします。

teratermを使用して、サーバにログインしてみます。
ホストに先ほど設定したEIPのIPアドレスを指定します。
ユーザ名は「ec2-user」を指定し、「RSA/DSA/ECDSA/ED25519を使う」を選択して
秘密鍵には先ほどダウンロードした「key-pari-practice」を指定してログインします。

ログインできればEIPの設定・EC2インスタンスにログインは完了です。


パート1はここまでとなります。
パート2からwordpress-serverにミドルウェアのインストール/設定をしていきます。

コメント

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