AWSのEC2上で設定したWebサーバーにSSLを導入する

AWS
この記事は約5分で読めます。

はじめまして。
2022年よりSAKURUGの新卒エンジニアになりました山﨑です。

新卒研修にてAWSのEC2上で設定したWebサーバにSSLを導入したので、その際に起こったエラーと解決方法についてまとめました。

【エラー1】
・EC2でApacheの導入、起動はできたがデフォルトのUbuntu 20.04 Apache webページが表示されない
【エラー2】
・IPアドレスを打ってもアクセスすることができない
【エラー3】
・SSLの導入を完了し、HTTPでアクセスできるが、HTTPSではアクセスできない

などで困っている人のお役に立てればと思います。

SSL導入までの流れ

①AWSのアカウント作成
②Ubuntuの環境構築
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-20-04

③Apacheの導入
https://www.digitalocean.com/community/tutorials/how-to-install-the-apache-web-server-on-ubuntu-20-04-ja

④LAMP環境構築
https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-20-04

⑤SSL導入
https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-20-04

SSL導入までに躓いた点が幾つかあったので解決した方法とともにご紹介していきたいと思います。

【エラー1】Apacheをインストールし起動できたもののデフォルトのUbuntu 20.04 Apache webページにアクセスできない

対処法1:Ubuntuでファイアウォールの22と80を開く


sshで利用する22番のポートとhttpで利用する80番のポートを開放する

-input-

$ sudo ufw status		//ufwの状態確認

-output-

status: active

To			Action		From
--			------		----
OpenSSH		        ALLOW           Anywhere
Apache		        ALLOW	        Anywhere
OpenSSH(v6)		ALLOW	        Anywhere(v6)
Apache(v6)		ALLOW 	        Anywhere(v6)

22番と80番が許可されていないのでアクセスすることができないので開放をしていきます。

-input-

$ sudo ufw allow ‘22’		//ufwでポート20番を開放
$ sudo ufw allow ‘80’		//ufwでポート80番を開放

-output-

Status: active

To			Action		From
--			------		----
OpenSSH		        ALLOW	        Anywhere
Apache		        ALLOW	        Anywhere
22			ALLOW	        Anywhere
80			ALLOW	        Anywhere
OpenSSH(v6)		ALLOW	        Anywhere(v6)
Apache(v6)		ALLOW	        Anywhere(v6)
22(v6)			ALLOW	        Anywhere(v6)
80(v6)			ALLOW	        Anywhere(v6)

これでufw側の設定は完了です。

対処法2:AWSのEC2側のインバウンド設定をする

AWSのEC2側にも独自のファイアウォールがかかってしまっていることでアクセスできませんでした。なので、EC2側も設定をする必要があります。

①AWSにログインする
②EC2を開く
③インスタンスを開いてセキュリティの中のセキュリティグループIDを確認しておく
④画面左側にあるネットワーク&セキュリティからセキュリティグループを選択
⑤先程確認したセキュリティグループIDを選択
⑥インバウンドのルールを編集
⑦ルールを追加でHTTPを追加

これでAWSのEC2側のファイアウォール設定が完了します。

対処法3:アドレスバーにhttp://から打ち込む

アドレスバーにパブリックIPを打ち込むとHTTPSでのアクセスになります。
アドレスバーにEC2のパブリックIPを打ち込んでもアクセスは可能なのですが、現時点でSSLの設定が完了していないのでページを開くことができません。
なので、http://から打ち込んでアクセスすることでHTTPでのアクセスになります。

この段階を踏んだことでデフォルトのUbuntu 20.04 Apache webページにアクセスできないエラーを解決することが出来ました。

【エラー2】IPアドレスを打ってもアクセスできない

これは、上記の対処法3と同じ方法で解決できました。
アドレスバーはHTTPSで入ってしまうので、アドレスバーに直接http://から打ち込むことで解決です。

【エラー3】SSLの導入を完了し、HTTPでアクセスできるが、HTTPSではアクセスできない

これも【エラー1】と同じようにやっていくことで解決できました。

①Ubuntuのファイアウォールで443番を開放する
②AWSのEC2側のインバウンド設定でHTTPSの443番をカスタム000.000.000.000/0で追加する

まとめ

アウトプットの研修は初めてでした。
自分自身で解決できたことで理解が深まり、自己成長できたなと思います。
今後も役に立つような記事を書いていきたいと思います。

タイトルとURLをコピーしました