前回、EC2インスタンスにApacheをインストールしました。実際にブラウザに発行したElastic IPアドレスを入力して、サーバーにアクセスしてみます。しかし、サイトにアクセスできません。

前回の記事『EC2インスタンスにApacheをインストールする

ファイアウォールを設定してWebサーバにアクセスできるようにしていきます。

Webサーバにアクセスできない

EC2に作成したインスタンスにApache HTTP Serverをインストールしました。Web ブラウザからパブリックIPアドレスを入力して接続すると、本来であれば、画面が表示されるはずです。

しかし、現在の状態では表示されませんね。これは、ファイアウォールで80番ポートがブロックされているからです。

ファイアウォールによるブロック

パブリックIPアドレスについては、EC2ダッシュボードの中の[Elastic IP]にあるIPアドレスをチェックしましょう。

IPアドレスをWebブラウザに入力して、アクセスすると接続がブロックされてしまいます。これは、SSL通信におけるポート番号80番(HTTP)がファイアウォールによってブロックされているからです。*なお、HTTPSは443番になります。

ファイアウォールの設定

ファイアウォールの設定で通信を許可していきます。

EC2でファイアウォールを設定する場合、「セキュリティグループ」を操作していきます。

EC2で仮想サーバー構築する際にインスタンス作成時にセキュリティグループを用意しました。

「WebServer-Group」というセキュリティグループを用意していますので、そこから「80番ポート」を開放していきましょう。

ポート開放する

実際にEC2セキュリティグループのポート開放手順についてご紹介します。

EC2ダッシュボード>ネットワーク&セキュリティ>セキュリティグループより「WebServer-Group」を選択します。

インバウンド(受信)を選択して、「編集」をクリックします。

ルールの追加をクリックします。

[タイプ]はカスタムTCP、[ポート範囲]は80番、[ソース]はWebサーバーなので、不特定多数の方が見られるようにしなければなりません。なので、IPの範囲を「0.0.0.0/0」にしましょう。これは全てのIPアドレスを意味します。

TCP80番ポートが手動追加されたことが確認できました。

80番ポートが追加されました。

ポート開放の設定は以上で終了です。これでHTTPポートが開放され、Webサーバにアクセスできるようになりました。

サイトにアクセスしてみる

実際にアクセスしてみましょう。

インスタンスに関連付けられている、パブリックIPアドレスをWebブラウザの検索バーに貼り付けてみます。

Apacheのデフォルトページが表示されていればOKです。

参考までに、Apacheのデフォルト構成では、/var/www/htmlディレクトリの内容がブラウザに表示されます。しかし、このディレクトリに何もない場合は、/var/www/error/noindex.htmlが出力されます。

IPアドレスを入力するとApacheのデフォルトページが表示されます

ディレクトリには、まだ何もありませんので、noindex.htmlファイルが表示されています。

今回はこのあたりまでにしておきましょう。

Webサイトにアクセスするためには、HTTPポートが開放されていなければなりません。セキュリティグループの受信方向(インバウンド)での設定を追加することで、ポート開放がされてサイトの情報が閲覧できるようになります。