はじめに
今回は、AWSのEC2について学びたい方向けに、実際に WordPressのデプロイ を通して基礎を体験できる構成を紹介します。
クラウド上にブログやホームページを構築する第一歩として、実践的な内容になっています。インフラ構築の勉強にも最適です。
本記事はAWS EC2上にWordPressを構築し、ブラウザからアクセスできる状態を目指します。
構成図
以下のようなシンプルな構成を想定しています

手順一覧
以下のステップで構築を進めていきます。
- VPCの作成
- サブネットの作成(パブリック)
- インターネットゲートウェイの作成とアタッチ
- ルートテーブルの作成と関連付け
- セキュリティグループの作成
- EC2インスタンスの作成
- Apache + PHP + MariaDB のインストール
- WordPressファイルの配置
- データベースの作成
wp-config.php
の編集と設定
VPC作成
何をするか
まずはEC2インスタンスを配置するための仮想ネットワーク「VPC(Virtual Private Cloud)」を作成します。
VPCはクラウド上に構築する自分専用のネットワーク空間で、IPアドレスの範囲や通信ルールを自由に設計できます。
これがインフラ構築の第一ステップです。
作成手順(マネジメントコンソール)
- AWSマネジメントコンソールにログイン
- 「VPC」サービスに移動
- 左メニューの「VPC」→「VPCを作成」をクリック
- 以下を入力して作成
- 名前タグ:
wordpress-vpc
- IPv4 CIDR ブロック:
10.0.0.0/16
- その他の設定はデフォルトのままでOK
- 名前タグ:
- 「VPCを作成」ボタンをクリックして完了

設定値の意味
項目 | 設定例 | 説明 |
---|---|---|
名前タグ | wordpress-vpc | VPCの識別用の名前。わかりやすい名前をつけましょう。 |
IPv4 CIDR ブロック | 10.0.0.0/16 | VPC内で利用するプライベートIPアドレスの範囲を指定します。/16 だと最大65,536個のIPが使えます。 |
IPv6 CIDR ブロック | 無効または割り当てなし | 今回は使用しません(必要に応じて後から追加可能です)。 |
テナンシー | デフォルト | 「専有」ではなく「共有」ハードウェア上にインスタンスを配置する設定です(コスト面で一般的)。 |
これでどうなるか
このVPCは、今後作成するサブネットやインターネットゲートウェイ、ルートテーブルなどの土台になります。
この時点ではまだ通信はできませんが、次のステップでそれを可能にしていきます。
パブリックサブネット作成
何をするか
VPC内にサブネット(Subnet) を作成します。
サブネットとは、VPC内でIPアドレスの範囲を区切るネットワークの一部であり、EC2インスタンスを実際に配置する場所です。
今回は、インターネットに接続できる パブリックサブネット を作成します。
作成手順(マネジメントコンソール)
- 「VPC」サービスにアクセス
- 左メニューから「サブネット」→「サブネットを作成」をクリック
- 以下を入力:
- 名前タグ:
wordpress-subnet-01
- VPC:
wordpress-vpc
- アベイラビリティゾーン:任意(例:
ap-northeast-1a
) - IPv4 CIDRブロック:
10.0.1.0/24
- 名前タグ:
- 下部オプションの「パブリック IPv4 アドレスの自動割り当て」に✔を入れる
- 「サブネットを作成」をクリック



設定値の意味
項目 | 設定例 | 説明 |
---|---|---|
名前タグ | wordpress-subnet-01 | わかりやすい名称を付けましょう。 |
VPC | wordpress-vpc | 作成済みのVPCを指定します。 |
アベイラビリティゾーン(AZ) | ap-northeast-1a など | 任意のAZを選びます。同じリージョン内であればどれでも可。 |
IPv4 CIDR ブロック | 10.0.1.0/24 | このサブネットに割り当てるIPアドレス範囲。VPCのCIDRブロック内で重複しない範囲を指定します。 |
パブリック IPv4 アドレスの自動割り当て | 有効(✔ チェック) | インスタンス起動時に自動的にパブリックIPを割り当てる設定。パブリックサブネットに必須です。 |
これでどうなるか
インターネットに出られる準備が整ったサブネットが完成します。
- このサブネットに配置されるEC2インスタンスには、起動時に自動でパブリックIPアドレスが割り当てられます。
- ただし、まだ ルートテーブルでインターネットへの経路(IGW)を設定していないため、通信はできません。
インターネットゲートウェイの作成とアタッチ
何をするか
作成したVPCからインターネットにアクセスできるようにするために、インターネットゲートウェイ(IGW: Internet Gateway) を作成し、VPCに接続(アタッチ)します。
これにより、EC2インスタンスが外部と通信できるようになります(例:Webアクセスやパッケージのインストールなど)。
IGWの作成手順
- AWSマネジメントコンソールで「VPC」サービスにアクセス
- 左メニューから「インターネットゲートウェイ」を選択
- 「インターネットゲートウェイを作成」をクリック
- 名前タグに wordpress-igwと入力
- 「インターネットゲートウェイを作成」をクリック

アタッチ手順
- 作成したIGWを選択
- 「アクション」→「VPCにアタッチ」をクリック
- 接続先VPCとして
を選択wordpress-vpc
- 「アタッチ」をクリック

これでどうなるか
- VPCにインターネットの出入口が接続されました。
- ただしこの時点ではまだルートテーブルの設定がされていないため、実際の通信はできません。
- 次のステップ(ルートテーブル作成)で、インターネット経路を明示的に指定します。
ルートテーブル設定
何をするか
ルートテーブル(Route Table) は、VPC内の通信ルート(経路)を定義するものです。
ここでは、パブリックサブネットからインターネットにアクセスできるようにするためのルートを設定します。
具体的には下記を行います。
0.0.0.0/0
(すべての外部アドレス)宛のトラフィックを インターネットゲートウェイ(IGW) に転送するルートを追加- そのルートテーブルをパブリックサブネットに関連付ける
作成手順(ルートテーブル)
- 「VPC」サービスにアクセス
- 左メニューから「ルートテーブル」→「ルートテーブルを作成」をクリック
- 以下を入力:
- 名前タグ:
wordpress-rt
- VPC:
wordpress-vpc
- 名前タグ:
- 「ルートテーブルを作成」をクリックして完了

ルートの追加手順
- 作成したルートテーブルを選択
- 「ルート」タブ → 「ルートを編集」をクリック
- 「ルートの追加」を押し、以下を入力:
- 送信先:
0.0.0.0/0
- ターゲット:作成済みの インターネットゲートウェイ(igw-xxxxxxx)
- 送信先:
- 「変更を保存」をクリック


サブネットとの関連付け手順
- 同じルートテーブル画面の「サブネットの関連付け」タブを開く
- 「サブネットの関連付けを編集」をクリック
wordpress-subnet-01
を選択して「保存」

役割と設定内容
項目 | 設定例・内容 | 説明 |
---|---|---|
名前タグ | wordpress-rt | わかりやすい名前を設定 |
VPC |
| 作成済みのVPCを指定 |
ルートの送信先 | 0.0.0.0/0 | すべてのIPv4トラフィックを意味します |
ターゲット | igw-xxxxxxx (作成済みのIGW) | インターネットゲートウェイを指定します |
サブネットの関連付け | wordpress-subnet-01 | 作成済みのサブネットと紐付けることで、このルートテーブルが適用されます |
これでどうなるか
対象のサブネット(=パブリックサブネット)からインターネットへ通信できる経路が確立されます。
0.0.0.0/0
のルートは、「すべての外部宛の通信」を意味し、- それを インターネットゲートウェイ(IGW)に向けることで、EC2インスタンスから外部ネットワーク(インターネット)への送信が可能になります。
ただし、この時点ではまだEC2インスタンスへの外部からのアクセスはできません。
- なぜなら、セキュリティグループ(ファイアウォール)の設定がまだ行われていないためです。
- セキュリティグループで必要なポート(SSH:22、HTTP:80など)を開放しない限り、外部からの通信は遮断されたままとなります。
セキュリティグループ設定
何をするか
セキュリティグループ(Security Group) は、EC2インスタンスへの 仮想ファイアウォール です。
ここでは、外部からWebブラウザでWordPressにアクセスしたりするために必要な通信ポートを開放します。
作成手順
- 「EC2」サービスにアクセス
- 左メニューから「セキュリティグループ」→「セキュリティグループを作成」
- 以下を入力:
- 名前:
wordpress-sg
- 説明:WordPress用セキュリティグループ
- VPC:
wordperss-vpc
(作成済みのVPCを選択)
- 「インバウンドルールを追加」をクリックし、以下を追加
タイプ | プロトコル | ポート | ソース |
---|---|---|---|
HTTP | TCP | 80 | 0.0.0.0/0 |
HTTPS | TCP | 443 | 0.0.0.0/0 |


これでどうなるか
このセキュリティグループをEC2インスタンスに適用することで、次のような通信が許可されます
- WebブラウザからWordPressページへアクセス
IAM
何をするか
EC2インスタンスから AWS Systems Manager(SSM) を利用し、Session Manager経由で安全に接続できるようにするためのIAMロールを作成します。
これにより、SSH鍵を使わずブラウザやAWS CLIからEC2にログイン可能になります。
アクセスキーや秘密鍵を直接インスタンスに配置する必要がなく、セキュリティ面で優れています。
作成手順
- 「IAM」サービスにアクセス
- 左メニューから「ロール」→「ロールを作成」をクリック
- 信頼されたエンティティの種類で AWSサービス を選択
- ユースケースで EC2 を選択し「次へ」
- ポリシー検索欄に
SSM
と入力し、以下を選択:
AmazonSSMManagedInstanceCore
(必須)
→ EC2がSSMと通信するための基本ポリシー
6. 「次へ」→ ロール名を入力(例:wordpress-ec2-role
)
7, 「ロールを作成」をクリック

これでどうなるか
- 作成したIAMロールは、EC2起動時または後からアタッチできます。
- このIAMロールをEC2にアタッチすると、SSHポートを開けなくてもSSM経由で接続可能になります。
EC2作成
何をするか
これまで準備してきた VPC・パブリックサブネット・インターネットゲートウェイ・ルートテーブル・セキュリティグループ を使い、実際にWordPressを動かすためのEC2インスタンスを起動します。
作成手順
- 「EC2」サービスにアクセス
- 「インスタンスを起動」をクリック
- 以下を順に設定
項目 | 設定例 | 意味 |
---|---|---|
名前とタグ | wordpress | インスタンスを識別するための名前。AWSコンソールや請求明細にも表示されるのでわかりやすい名称にします。 |
マシンイメージ(AMI) | Amazon Linux 2023 | EC2で動かすOSのテンプレート。Amazon公式AMIは軽量でAWSサービスとの互換性が高く、学習・実践どちらにも適しています。 |
インスタンスタイプ | t2.micro (無料枠を利用) | 仮想マシンのスペック(CPU・メモリ)を決定。 |
キーペア | 新規作成または既存を選択 | SSH接続用の鍵ファイル。セキュリティ上、秘密鍵はローカルに安全に保管します。 |
ネットワーク設定 | VPC:wordpress-vpc / サブネット:wordpress-subnet-01 | どの仮想ネットワークに配置するかを指定。ここで指定したサブネットの通信経路やIP割り当て設定が適用されます。 |
自動割り当てIP | 有効(サブネット設定でONの場合は自動) | インターネットと通信するためのパブリックIPを自動で付与。学習用のパブリックサーバには必須。 |
セキュリティグループ | wordpress-sg | インバウンド/アウトバウンド通信の許可ルールを持つ仮想ファイアウォール。ここでHTTPやSSHなど必要なポートを開放します。 |
IAMロール | wordpress-ec2-role | EC2からS3やCloudWatchなどAWSサービスに安全にアクセスするための権限セット。アクセスキー不要で安全。 |
ストレージ | 8GB GP3(デフォルト) | EC2のディスク容量と種類。GP3は汎用SSDで、学習や小規模サイトに十分な性能。 |
インスタンス数 | 1 | 起動する仮想マシンの台数。検証や学習目的では1台でOK。 |
- 「インスタンスを起動」をクリック







これでどうなるか
- EC2インスタンスが起動し、パブリックIPを持つサーバが完成します。
- 現時点ではまだApacheやPHPなどの環境は入っていないため、次のステップでインストール作業を行います。
- 作成したIAMロールを持つため、インスタンスから直接AWSサービスにアクセスできます。
Apache + PHP + MariaDB のインストール
何をするか
EC2インスタンスにWebサーバー(Apache)、スクリプト実行環境(PHP)、データベース(MariaDB)をインストールします。
これらが揃うことでWordPressを動かせる環境になります。
接続方法(SSM経由)
IAMロールに AmazonSSMManagedInstanceCore ポリシーを付与していれば、SSHポートを開けなくても接続できます。
- AWSマネジメントコンソール → 「Systems Manager」
- 左メニューから「セッションマネージャー」→「セッションの開始」
- 対象のEC2インスタンスを選択 → 「セッション開始」
この状態でコマンドが実行可能です。
インストールコマンド
# パッケージ更新
sudo yum update -y
# Apache, PHP, MariaDBをインストール
sudo yum install -y httpd php php-mysqlnd mariadb105-server
# サービス有効化&起動
sudo systemctl enable httpd
sudo systemctl start httpd
sudo systemctl enable mariadb
sudo systemctl start mariadb
これでどうなるか
- Apacheが稼働し、HTTP通信の応答が可能になります。
- PHPが動作し、WordPressの動的処理が可能になります。
- MariaDBが起動し、WordPress用データベースを利用できる状態になります。
WordPressファイルの配置
何をするか
公式サイトからWordPressをダウンロードし、Apacheの公開ディレクトリに配置します。
手順
cd /var/www/html
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzf latest.tar.gz
sudo mv wordpress/* .
sudo rm -rf wordpress latest.tar.gz
sudo chown -R apache:apache /var/www/html
これでどうなるか
/var/www/html
にWordPress本体が展開され、ブラウザアクセス時に初期セットアップ画面が表示される準備が整います。- まだデータベース接続設定をしていないため、次の工程で設定します。
データベースの作成
何をするか
MariaDB上にWordPress用データベースと接続ユーザーを作成します。
手順
# MariaDBにログイン
sudo mysql -u root
MariaDB内で以下を実行
CREATE DATABASE wordpress;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'strongpassword';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
これでどうなるか
- WordPressが利用するデータベースと接続用ユーザーが作成されました。
- この情報を
wp-config.php
に設定することで、WordPressがDBと通信できるようになります。
wp-config.php の編集と設定
何をする
WordPressの設定ファイル wp-config.php
に、作成したデータベース情報を記載します。
手順
cd /var/www/html
sudo cp wp-config-sample.php wp-config.php
sudo vi wp-config.php
該当箇所を以下のように編集
define('DB_NAME', 'wordpress');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', 'strongpassword');
define('DB_HOST', 'localhost');
これでどうなるか
- WordPress本体とMariaDBが接続されます。
- ブラウザでEC2のパブリックIP(またはドメイン)にアクセスすると、WordPressの初期セットアップ画面が表示されます。
- 管理者アカウントやサイト情報を設定すれば、WordPressサイトの構築が完了です。
アクセス確認
構築が完了したら、ブラウザからEC2のパブリックIPv4アドレスにアクセスして動作を確認します。
- アクセス方法
ブラウザで以下を入力
http://<EC2のパブリックIPv4アドレス>
- 表示される画面
WordPressのインストール画面(初期セットアップ画面)が表示されれば成功です。- サイトタイトル、ユーザー名、パスワードなどを設定すると管理画面にログインできます。
- 注意点(HTTPSアクセス)
- 現状はSSL証明書を設定していないため、
https://<EC2のパブリックIPv4アドレス>
にアクセスすると失敗します。 - HTTPS対応を行うには、自己署名証明書やLet’s Encrypt、AWS ACMなどで証明書を発行し、Apacheに設定する必要があります。
- 現状はSSL証明書を設定していないため、

まとめ
これで以下の手順を経て、AWS EC2上でWordPressを動かす環境が構築できました。
- VPC・サブネット・IGW・ルートテーブルの設定
- インターネット接続可能なパブリックサブネットを構築
- セキュリティグループの作成
- HTTP(80)ポートを開放
- IAMロールの作成(SSM接続用)
- SSH鍵なしで安全にログイン可能
- EC2インスタンス作成
- Apache + PHP + MariaDB 環境をセットアップ
- WordPress配置・DB作成・設定
- wp-config.php に接続情報を設定
- アクセス確認
- HTTPアクセスでインストール画面が表示されればOK
コメント