【完全ガイド】AWS EC2でWebサーバー(Nginx+PHP)を構築する手順|アカウント作成から公開まで

AWS EC2でWebサーバー(Nginx+PHP)を構築する完全ガイドのアイキャッチ画像 AWS
AWS EC2 Webサーバー構築 完全ガイド

※本記事にはアフィリエイト広告(PR)を含みます。

この記事は、AWSのアカウント作成からEC2でWebサーバー(Nginx+PHP)を立ち上げるまでを1本で通しで解説する完全ガイドです。当ブログに分散していた個別記事を統合し、2026年7月時点の現行仕様(Amazon Linux 2023/新しい無料利用枠)に更新しています。AWSは仕様変更が多いため、最新の料金・画面は必ず公式でご確認ください。

この記事で分かること
AWSアカウントの作り方/料金の事故を防ぐ設定/EC2インスタンス作成/固定IP(Elastic IP)/SSH接続(Windows・Mac)/サーバー初期設定/Nginx+PHP導入/複数ドメイン運用/小さく始めるLightsailという選択肢

AWS・EC2とは

EC2はIaaSに分類される仮想サーバーです。1つ作成すると1台のサーバーとして利用でき、増設・削除・スペック拡張が簡単に行えます。作成したサーバー1台を「インスタンス」と呼びます。

STEP1:AWSアカウントを作成する

公式サイト(aws.amazon.com)の「無料で始める」から、メールアドレス等を入力してアカウントを作成します。カスタマーアグリーメントに同意し、クレジットカード情報の入力と電話(PIN)による本人確認を行います。

注意:個人情報は必ず英数字で入力してください。日本語で入力すると登録後に文字化けします。

【現行版の注意】登録画面の文言・手順は変わります。作成後はルートアカウントのMFA(多要素認証)を有効化し、日常操作用のIAMユーザーを別途作るのが安全です。

STEP2:無料利用枠と料金管理(重要・2025年に大幅変更)

2025年7月、AWSの無料利用枠は大きく変わりました。2025年7月15日以降に新規作成するアカウントは、従来の「12か月・EC2 月750時間無料」ではなく、最大200 USD相当のクレジット(サインアップで100 USD+対象サービス利用で最大100 USD)を6か月間使える「無料プラン」になります。クレジットを使い切るか6か月経過でアカウントは自動的に閉鎖されます(nano および xlarge以上のインスタンスは対象外)。2025年7月14日以前に作成した既存アカウントは、従来の12か月無料枠のままです。

いずれの場合も、コンソールの「請求とコスト管理」で請求額をこまめに確認し、AWS Budgets/CloudWatch請求アラームで超過通知を設定しておきましょう。

【要確認】無料枠の条件・対象サービスは変更されます。最新はAWS公式の「無料利用枠」ページでご確認ください。

STEP3:EC2インスタンスを作成する

マネジメントコンソールにサインインし、リージョンを「東京」にしてからEC2を開きます。「インスタンスを起動(作成)」から、AMI(OS)→インスタンスタイプ→キーペア作成(秘密鍵 .pem を安全に保管)→セキュリティグループ(SSH:22/HTTP:80/HTTPS:443 を許可)→起動、の順に進めます。

【現行版の注意】新しい無料プランはクレジット制のため、インスタンスタイプは micro など小さめを選ぶとクレジットを節約できます(nano・xlarge以上は対象外)。OSは現行の Amazon Linux 2023 を推奨。SSHの許可元IPは自分のIPに絞るとより安全です。

STEP4:Elastic IP(固定グローバルIP)を割り当てる

EC2は再起動でIPが変わることがあるため、Webサーバー/メールサーバー用途では固定IP(Elastic IP)を割り当てます。インスタンス1つにつき1つは無料ですが、未関連付けのままだと少額課金されます。移管時もコンソールで付け替えるだけでDNS変更が不要になる利点があります。

STEP5:SSHで接続する

Windowsの場合(Tera Term)

EC2のパブリックIPをホストに入力し、SSH認証で秘密鍵(.pem)を指定します。ユーザ名は ec2-user(Amazon Linuxの既定ユーザ)で接続します。複数サーバー運用なら RLogin も便利です。

Macの場合(ターミナル / iTerm)

cp ~/Desktop/AWS_KEY.pem ~/.ssh/AWS_KEY.pem
chmod 400 ~/.ssh/AWS_KEY.pem
ssh -i ~/.ssh/AWS_KEY.pem ec2-user@(パブリックIP)

STEP6:サーバーの初期設定

【現行版:OSは Amazon Linux 2023】初代Amazon Linuxは提供終了、Amazon Linux 2も2026年6月30日でサポート終了しました。現行は Amazon Linux 2023(サポートは2029年6月30日まで)を使用します。パッケージ管理は dnf、サービス管理は systemctl です(旧 yum / service・chkconfig)。

sudo dnf update -y                         # パッケージ更新(AL2023)
sudo timedatectl set-timezone Asia/Tokyo   # タイムゾーン
# 自動更新は dnf-automatic を利用

(参考:旧Amazon Linuxでは sudo yum update -y と yum-cron を使用していました)

STEP7:Nginxをインストールする

sudo dnf install nginx -y
sudo systemctl enable --now nginx

ブラウザで http://(IPアドレス)/ にアクセスし、初期ページが表示されれば成功です。

STEP8:PHP(PHP-FPM)を動かす

NginxはPHPを単体で処理できないため、PHP-FPMを使います。AL2023ではPHP 8系が標準です。

sudo dnf install php php-fpm php-mysqlnd -y
sudo systemctl enable --now php-fpm
php -v   # バージョン確認

その後、Nginxの設定で fastcgi_pass を PHP-FPM のUNIXドメインソケットに向けて再起動します。

【要確認】利用できるPHPバージョン(8.1/8.2/8.3等)やdnfのパッケージ名は時期により異なります。公式でご確認ください。

STEP9:複数ドメインを運用する(バーチャルホスト)

/etc/nginx/conf.d/ にドメインごとの設定ファイル(例:hoge.conf)を作成し、server_nameroot(例:/usr/share/nginx/vhosts/hoge.jp/html)を指定します。ドメインの増減や個別変更がしやすくなります。DNSレコードはサーバー宛に設定済みであることが前提です。

STEP10:MySQL/MariaDBが落ちる場合の対策(小メモリ環境)

小メモリのインスタンスでWordPress等を動かすとデータベースが落ちることがあります。最大接続数の設定とスワップ領域の作成で安定します。

sudo vi /etc/my.cnf
# [mysqld] に max_connections = 10 などを追記
# 1GB程度のスワップ領域を作成(dd → mkswap → swapon)

小さく始めるなら:Amazon Lightsail

EC2より手軽に定額で始めたい場合は Amazon Lightsail が選択肢です。2026年7月時点で、最安はIPv6のみのLinuxプランが月$3.50、IPv4対応の標準プランは月$5から(構成により変動)。一定期間の無料お試しもあります。個人の検証やワンコインサーバー用途に向きます。料金は公式のLightsail料金ページで最新をご確認ください。

この記事で使えるおすすめサーバー

自分でVPSを立てて試すなら、root権限付きで自由度が高く、初心者でも扱いやすい次のVPSがおすすめです。

  • XServer VPS:高性能・コスパ重視。月1,000円台〜。
  • さくらのVPS:老舗で安定。学習・検証の定番。

WordPressサイトを手軽に始めたいなら、管理が簡単なレンタルサーバーも選択肢です。

※料金・仕様は各公式サイトで最新をご確認ください。

まとめ

アカウント作成 → 料金管理 → EC2作成 → 固定IP → SSH → Nginx+PHP までで、公開Webサーバーの土台が完成します。次はSSL化(HTTPS)でセキュアにしましょう。

SSL化(HTTPS)やWordPressの構築・引っ越しについては、今後別の記事で詳しく解説する予定です。

※本記事は関連する複数の手順を1本にまとめ、2026年時点の情報に更新した保存版です。料金・仕様・画面は変わることがあるため、各公式サイトで最新をご確認ください。

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