前回、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番ポートが手動追加されたことが確認できました。
ポート開放の設定は以上で終了です。これでHTTPポートが開放され、Webサーバにアクセスできるようになりました。
サイトにアクセスしてみる
実際にアクセスしてみましょう。
インスタンスに関連付けられている、パブリックIPアドレスをWebブラウザの検索バーに貼り付けてみます。
Apacheのデフォルトページが表示されていればOKです。
参考までに、Apacheのデフォルト構成では、/var/www/htmlディレクトリの内容がブラウザに表示されます。しかし、このディレクトリに何もない場合は、/var/www/error/noindex.htmlが出力されます。
ディレクトリには、まだ何もありませんので、noindex.htmlファイルが表示されています。
今回はこのあたりまでにしておきましょう。
Webサイトにアクセスするためには、HTTPポートが開放されていなければなりません。セキュリティグループの受信方向(インバウンド)での設定を追加することで、ポート開放がされてサイトの情報が閲覧できるようになります。