前回作成したEC2にApache HTTP Serverをインストールする。
作業前にSSHでインスタンスにログインをしておく。
Apachをインストールする。
yumからhttpdをインストールする。
sudo yum -y install httpd
インストールしたhttpdを起動する。
sudo service httpd start
httpdをOSが再起動したときに自動起動するように構成変更する。
sudo systemctl enable httpd.service
プロセスの確認をする。
[ec2-user@ip-10-0-1-10 ~]$ ps -ax | grep httpd
3374 ? Ss 0:00 /usr/sbin/httpd -DFOREGROUND
3376 ? Sl 0:00 /usr/sbin/httpd -DFOREGROUND
3377 ? Sl 0:00 /usr/sbin/httpd -DFOREGROUND
3378 ? Sl 0:00 /usr/sbin/httpd -DFOREGROUND
3379 ? Sl 0:00 /usr/sbin/httpd -DFOREGROUND
3380 ? Sl 0:00 /usr/sbin/httpd -DFOREGROUND
3537 pts/0 S+ 0:00 grep --color=auto httpd
こんな状態になっていれば正常にApacheが動作している。
次にネットワーク状況を確認する。
[ec2-user@ip-10-0-1-10 ~]$ sudo lsof -i -n -P | grep httpd
httpd 3374 root 4u IPv6 21230 0t0 TCP *:80 (LISTEN)
httpd 3376 apache 4u IPv6 21230 0t0 TCP *:80 (LISTEN)
httpd 3377 apache 4u IPv6 21230 0t0 TCP *:80 (LISTEN)
httpd 3378 apache 4u IPv6 21230 0t0 TCP *:80 (LISTEN)
httpd 3379 apache 4u IPv6 21230 0t0 TCP *:80 (LISTEN)
httpd 3380 apache 4u IPv6 21230 0t0 TCP *:80 (LISTEN)
ポート80番でリスナーが起動していることがわかる。
ファイアウォールを設定する。
現在の設定ではポート80番がファイアウォールでされていて接続することができないので、AWSマネジメントコンソールからファイアウォールの設定を変更する。
AWSマネジメントコンソールのセキュリティグループをクリックして、作成済みのグループ名WEB-SGを選ぶ。
画面下部のインバウンドタブを選択し、編集をクリックする。
ルールの追加ボタンをクリックしてポートを80に設定し、ソース①に0.0.0.0/0を入力して保存するをクリックする。
ここまで設定が完了したら起動中のEC2インスタンスのパブリックIPをブラウザのURLバーに入力して接続する。
こんなページが表示されたらアクセスOK。
DNSを有効にする。
AmazonVPCのVPN内名前解決を有効にして、ドメイン名でブラウザからWEBページにアクセスできるようにする。
AWSマネジメントコンソールのサービスをクリックし、VPCをクリック。さらに左側メニューからVPCをクリックする。
既に作成済みのVPC領域の上で右クリックするとEdit DNS hostnamesが表示されるのでクリックする。
DNS hostnamesにチェックを入れてSaveボタンをクリックする。
これでDNSが有効になったので、AWSマネジメントコンソールから起動中のEC2インスタンスの説明を確認してみる。
すると、プライベートDNSが割り振られていることがわかる。
え、長っ...(´・ω・`)
何はともあれ、パブリックDNSを使ってブラウザからアクセスできるかチェックする。
アクセスできた。
ここまででやったことをおさらい。
- EC2インスタンスにApacheをインストールした。
- ファイアウォールに80番ポートのアクセスを許可した。
- DNS名を有効にした。