リッスン構成でパブリック IP アドレスを使用して Apache を起動できません

リッスン構成でパブリック IP アドレスを使用して Apache を起動できません

現在、AWS Ec2 ubuntu (20.04) インスタンスを使用しています。apache2 をインストールし、apache の Listen ディレクティブを構成しました。しかし、"Listen IP:port" ディレクティブで Ec2 インスタンスのパブリック IP アドレスを指定できません。IP フィールドにパブリック IP アドレスを指定すると、apache は起動に失敗します。次のようなエラーが表示されます。"制御プロセスがエラー コードで終了したため、apache2.service のジョブが失敗しました。詳細については、"systemctl status apache2.service" および "journalctl -xe" を参照してください。" しかし、Listen ディレクティブにプライベート IP アドレスとポートの組み合わせを指定すると機能します。理由を知っている人はいますか?

答え1

EC2 インスタンスは、それに関連付けられたパブリック アドレスを認識しません。これは、そのアドレスが EC2 インスタンスの外部にマッピングされており、「仮想ルーター」レベルで外部 IP をインスタンスにマッピングするために「リバース NAT」が使用されているためです。

EC2 には外部アドレスがないため、Apache にはバインドするものがありません。

関連情報