先日 AWS の無料枠を使って web サーバを立ち上げたのですが、nginx のインストール、およびサービスの起動が正常に完了したにもかかわらず、web ページにアクセスできない問題が発生しました。
原因自体は非常にシンプルだったのですが、1時間弱詰まっていたので備忘録とともに共有という意味でも記事に残しておきたいと思います。
結論から言うと、AWS のセキュリティグループで http および https をブロックしていたことが原因でした。
セキィリティグループは EC2 の対象のインスタンス画面から確認することができます。
![](https://apprythm.com/wp-content/uploads/2020/09/aws_ec2_instance_list-1024x623-1.png)
セキュリティグループ名をクリックすると、設定画面に飛びます。
![](https://apprythm.com/wp-content/uploads/2020/09/aws_ec2_securitygroup-1024x339-1.png)
インバウンドのタブを選択して編集をクリックします。
![](https://apprythm.com/wp-content/uploads/2020/09/aws_ec2_securitygroup_add-1024x294-1.png)
ルールが SSH のみとなっている場合は、SSH 接続のみが許可されており、HTTP / HTTPS でのアクセスはできない状態となっています。
ルールの追加から、許可するプロトコルを追加することができます。
![](https://apprythm.com/wp-content/uploads/2020/09/aws_ec2_securitygroup_http-1024x359-1.png)
HTTP および HTTPS を追加後、保存をクリックして閉じます。
![](https://apprythm.com/wp-content/uploads/2020/09/aws_ec2_securitygroup_result-1024x219-1.png)
ルールが上記の様になっていれば、HTTP / HTTPS でのアクセスが許可された状態となっています。
この状態で再度 web ページにアクセスすると、無事表示されるようになりました。
サーバ内部の設定が正しいのにうまく動かないときは、インフラ側の設定を見直してみるのが良いかもしれません。
※この記事の内容は https://3jino-oyatsu.com/blog/206/ からお引越ししたものです