AWS EC2にApache/Nginxをインストールする方法を初心者向けにやさしく解説
生徒
「先生、AWS(エーダブリューエス)のEC2(イーシーツー)にWebサーバーをインストールするにはどうしたらいいんですか?」
先生
「いい質問ですね。Webサーバーには代表的なものとしてApache(アパッチ)やNginx(エンジンエックス)があります。それをEC2という仮想サーバーにインストールする手順を見ていきましょう。」
生徒
「ApacheとNginxって何が違うんですか?」
先生
「どちらもWebページを表示するためのサーバーソフトですが、Apacheは古くからある安定性が高いソフトで、Nginxは軽量で処理が速いのが特徴です。今回は両方のインストール方法を紹介しますね。」
1. AWS EC2とは?
AWS(エーダブリューエス)は、Amazonが提供するクラウドサービスの名前です。その中のEC2(イーシーツー)とは、「Elastic Compute Cloud(エラスティック・コンピュート・クラウド)」の略で、仮想的なコンピューターを使うことができるサービスです。
簡単に言えば、インターネット上に自分専用のパソコンを作れるイメージです。EC2は、Linux(リナックス)というOSを使うことが多く、ここにWebサーバーをインストールして公開することができます。
2. Apacheとは?Nginxとは?
Apache(アパッチ)とNginx(エンジンエックス)は、どちらもWebサーバーソフトです。Webサーバーとは、Webページを表示するために必要なソフトで、ブラウザからのリクエストに応じてHTML(エイチティーエムエル)ファイルを返します。
Apacheは昔からある有名なソフトで、設定の自由度が高く、長い歴史があります。Nginxは、より新しいソフトで、高速で軽量な処理が特徴です。どちらを使っても、初心者には十分すぎる機能があります。
3. EC2インスタンスの作成と接続方法(簡単に説明)
まず、AWSの管理画面(コンソール)からEC2インスタンスを作成します。インスタンスとは仮想サーバーのことです。
作成後は、SSH(エスエスエイチ)という方法を使ってターミナル(黒い画面)から接続します。WindowsならTera Term(テラターム)や、Macならターミナルを使って接続します。
接続が成功したら、いよいよWebサーバーをインストールできます。
4. Apacheをインストールする手順
以下は、Amazon Linux(アマゾンリナックス)というOSでApacheをインストールする手順です。
sudo yum update -y
sudo yum install httpd -y
sudo systemctl start httpd
sudo systemctl enable httpd
上のコマンドを順番に実行すると、Apacheがインストールされ、サービスが起動します。起動とは、Apacheが動き出してWebページを表示する準備ができる状態のことです。
ブラウザでEC2のパブリックIPアドレスを開くと、「Test Page」などの表示が出れば成功です。
5. Nginxをインストールする手順
Nginxを使いたい場合も、手順は似ています。Amazon Linuxの場合は以下の通りです。
sudo amazon-linux-extras enable nginx1
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
Nginxも、インストールして起動させた後、パブリックIPにアクセスすれば「Welcome to nginx!」という画面が表示されるはずです。
ApacheとNginxは同時に使えないので、どちらか一方だけを起動しておくのが基本です。
6. ファイアウォールの設定も忘れずに
EC2インスタンスは、初期状態では外部からのアクセスが制限されています。そこで、セキュリティグループという設定で、HTTP(エイチティーティーピー)ポート「80番」を開けておく必要があります。
AWSの管理画面でEC2インスタンスのセキュリティグループに移動し、「インバウンドルールの編集」から「HTTP(ポート80)」を許可しましょう。
7. インストール後にやっておくこと
Webサーバーのインストール後は、以下のような点も確認するとよいでしょう。
- ブラウザで表示できるかどうかをチェック
- サーバーを再起動してもApache/Nginxが自動起動するか
- 必要に応じて、index.html(インデックス・エイチティーエムエル)などのファイルを置く
ここまでできれば、EC2を使ったWebサーバーの構築は完了です。
まとめ
AWSのEC2にApacheやNginxをインストールする流れは、最初はむずかしそうに見えても、手順をひとつずつ進めればしっかり理解できるようになります。とくにLinux環境でのコマンド操作は、クラウド上のサーバーを扱ううえで欠かせない要素であり、更新やインストール、サービス起動や永続化など、同じ操作を繰り返し実行することで自然と身につきます。EC2という仮想サーバーの仕組みにふれることで、クラウドの基本的な概念や、Webサーバーがどのように動作しているのかをより深く感じられるようになります。
また、ApacheとNginxの違いを理解することで、用途に応じたサーバー構築ができるようになります。Apacheは設定の柔軟性と長い歴史に支えられた安定性をもち、Nginxはリバースプロキシや高速通信に強みがあります。どちらもEC2との相性は良く、学習初期であっても迷わず導入しやすい点が魅力です。今回の手順を通して、「必要なソフトをインストールし、起動させて、ブラウザでアクセスして確認する」という一連の流れを体験できるため、クラウド学習の基礎固めにも最適です。
さらに、セキュリティグループによるHTTPポートの開放という重要な設定にも触れました。これはクラウド環境ならではの仕組みであり、物理サーバーでは体験できないAWS特有の考え方です。サーバー側だけでなく、ネットワーク設定も合わせて理解することで、より本格的なインフラ構築へと進むことができるようになります。実際の利用場面でも、アクセス制御や公開範囲を意識する力が求められるため、この段階で慣れておくことは大きなメリットになります。
インストール後には、index.htmlの設置や自動起動設定の確認なども行っておくことで、トラブルを防ぎながら安定してWebページを公開できます。たとえば、Apacheで表示確認を行うためにHTMLファイルを配置する場合、以下のような基本的な構造を作って動作を確かめることができます。
<html>
<head>
<title>EC2 Web Server Test</title>
</head>
<body>
<h1 class="mark fw-bold">EC2でWebページを表示するテスト</h1>
<p>ApacheやNginxで正しく設定できているか確認するためのシンプルなページです。</p>
</body>
</html>
このようなサンプルによって、Webサーバーに配置したファイルがブラウザでどのように表示されるかをすぐに確認できます。クラウドとWebの関係性を目に見える形で理解できるため、学習効果も高まります。EC2は学習用としても本番運用としても使える柔軟なサービスなので、今回の基礎をきっかけに、さらに応用的な設定や構築にチャレンジしていくと良いでしょう。
生徒「先生、EC2にApacheやNginxを入れる流れがようやく理解できました。コマンドが多いけど、順番がわかれば怖くないですね。」
先生「そうですね。クラウドではコマンド操作が基本ですから、今回のようにアップデート、インストール、起動、永続化という一連の流れを覚えると応用が利きますよ。」
生徒「ApacheとNginxの違いもわかりました。どちらも同時に動かせないというのも大事なポイントですね。」
先生「その通りです。どちらを使うかは構成や目的次第です。軽量さを重視するならNginx、柔軟な設定を重視するならApacheが向いています。」
生徒「あと、セキュリティグループでポートを開けないとブラウザで見られないのも、実際にやってみてよくわかりました。」
先生「クラウドではネットワーク設定も重要ですからね。今の段階で理解できたのは大きな成果ですよ。」
生徒「ありがとうございます。次はもっと複雑な設定にも挑戦してみたいです。」
先生「ぜひ挑戦していきましょう。この基礎がしっかりしていれば、着実にステップアップできますよ。」