こんにちは、フルスタックエンジニアのryuです。
今回の記事は、EC2でWebサーバーを構築する方法を解説します。EC2でWebサーバーを構築するには、EC2をLinuxで作成してからApacheをインストールします。VPCの構築からEC2の設定までを解説します。AWS初心者の方必見です。
目次
EC2でWebサーバーを構築する方法解説
AWSでWebサーバーの構築方法が分からない・・・
今回の記事では、AWSの基本であるVPCとEC2を使用してWebサーバーを構築します。今回構築する構成図はこちらです。

VPCを作成して、その中にEC2を配置します。EC2にはApacheをインストールしてWebサーバーとして起動させます。
今回はこの構成の作成方法を詳しく解説します。では、早速やってみましょう!
VPCの構築
まず、VPCの構築を行います。VPCとは、AWSで仮想のネットワークを構築するサービスです。EC2をインターネットへ公開するために、ネットワークの制御を行います。
VPCの構築については、こちらの記事をご覧ください。パブリックサブネットの作成方法を詳しく解説しております。
【AWS】VPCの作成手順を詳しく解説!【AWSでネットワークを構築してみよう】
また、AWSでデフォルトで作成されているVPCを使用しても問題ありません。デフォルトで用意されているVPCは、パブリックサブネットとプライベートの両方が用意されているので、インターネットゲートウェイに接続されているパブリックサブネットを選択しましょう。
VPCの構築が難しいという方は、Cloudformationを使用することで自動で作成することができます。詳しくはこちらをご覧ください。
【AWS】CloudFormationでVPCを自動作成する方法解説!【手順を公開】
VPCの作成が完了したら、EC2インスタンスを作成しましょう!
EC2インスタンスの作成
次にEC2インスタンスの作成を行います。EC2インスタンスはLinuxのイメージを使用して作成しましょう。
作成方法については、こちらの記事をご覧ください。
【AWS】EC2インスタンスの作成方法解説!サーバーを作成して接続してみる
SSH接続を行い、EC2インスタンスへ接続できることを確認しましょう。下記のような画面に接続できれば大丈夫です。

EC2にWebサーバーをインストール
ここまで、VPCとEC2の準備を行いました。次にEC2にApacheをインストールして、Webサーバーを構築します。
Apacheのインストール
では、早速Webサーバーをインストールしましょう。WebサーバーはApacheと呼ばれるOSSをインストールすることで、構築することができます。
まず、管理者権限で操作できるようにします。
sudo su
次にApache(httpd)をインストールします。パッケージ管理によってイン周インストールコマンドが違うので注意しましょう。
yum install httpd
もしくは
apt-get install apache2
そして、apacheを起動させます。
httpd -k start
これでApacheのインストールは完了です。
念のため、tcp/80番ポートが開いているのか確認してみましょう。Webサーバーはこのポートを使用します。
netstat -naptu
こちらの画面のように80番ポートが開いていればOKです。

しかし、これだけではAWSのインスタンスへWebアクセスができません。セキュリティ上ポートが解放されていないからです。次に80ポートへアクセスできるようにEC2の設定を行います。
EC2で80番ポートに接続できるようにする
次に、EC2で80番ポートに接続できるようにします。これは、EC2のセキュリティの設定です。
まず、AWSのEC2コンソールに移動します。そして、使用しているEC2をクリックします。

そして、画面下部の「セキュリティ」タブをクリックします。そして、セキュリティグループのリンクをクリックしましょう。

セキュリティグループの「インバウンドルールを編集」をクリックします。

そして、インバウンドルールでHTTPを追加します。ソースなどは下記の画像のように設定します。「0.0.0.0/0」を指定して、どのIPアドレスからでもアクセスできるようにします。

これで、ルールを保存して完了です。
EC2で構築したWebサーバーにアクセスする
では最後に動作確認してみましょう。
EC2インスタンスの概要ページのパブリックIPv4DNSを確認してみましょう。

これが接続するURLになります。

このURLへ接続するとApacheのデフォルトページにアクセスできることが確認できます。

もし接続できない場合は、セキュリティの設定やVPCの設定を見直してみましょう。
EC2でWebサーバーを構築する方法まとめ
今回の記事はEC2でWebサーバーを構築する方法を解説しました。手順は以下の通りです。
- VPCの構築
- EC2の構築
- apacheのインストール
- EC2のセキュリティ設定
AWSでWebサーバーを構築したい人は是非覚えておきましょう!
さらにAWSについて学びたいという方は、こちらの講座がオススメです。初心者の方向けにAWSについて幅広く学ぶことが可能です。
AWS認定ソリューションアーキテクト アソシエイト試験突破講座 – 初心者向け20時間完全コース-
こちらの参考書もオススメです。