web-dev-qa-db-ja.com

Amazon AWSのVPC内のパブリックサブネットのEC2で発信HTTP / HTTPSリクエストを有効にするにはどうすればよいですか

AWSドキュメントからシナリオ2を使用してVPCを設定しました: http://docs.aws.Amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html

パブリックサブネットで実行されているEC2インスタンスにElastic IPを割り当てました。 SSHは正常に動作し、その上で実行されているWebサイトにアクセスできます。ただし、発信HTTPまたはHTTPSリクエストを行うことはできません(yum update)。

私のセキュリティ設定はすべて正しいと思います。インターネットゲートウェイ経由で発信HTTP/HTTPSリクエストを行うことはできませんか?作成時に、このインスタンスにパブリックIPを割り当てないように特別にリクエストしました。これは、WebサイトのDNSに高く評価されるElastic IPを割り当てることになるためです。私はNATプライベートサブネット内のインスタンスのセットアップを持っていますが、現在はそこで実行されているRDSインスタンスしか持っていないため、そこからの発信要求をテストしていません。

そのEC2インスタンスのセキュリティグループには、次の送信ルールがあります。 enter image description here

そのサブネットのルートテーブルには次の設定があります。 enter image description here

ネットワークACLには次の設定があります。 enter image description here

デフォルトのDHCPオプションセットには、次の設定があります。

domain-name = ec2.internal
domain-name-servers = AmazonProvidedDNS

デフォルト /etc/resolv.conf設定は次のとおりです。

search ec2.internal
nameserver 10.0.0.2

VPCとサブネットのCIDRブロックは次のとおりです。

VPC: 10.0.0.0/16
Public Subnet: 10.0.0.0/24
Private DB Subnet in US East 1A: 10.0.1.0/24
Private DB Subnet in US East 1C: 10.0.2.0/24
7
T. Brian Jones

STILL WONDERING

この場合、提供されたAWS DNSサーバーが機能しないのはなぜですか?

[〜#〜]問題[〜#〜]

問題は、DNS名が local DNSサーバーを介して、Amazonが最初にVPC を作成したときに提供したDNSサーバーよりも解決されないことでした。解決するためにDNSサーバーに接続する必要がないIPアドレスへの発信HTTP/HTTPS接続を作成できることがわかりました。

[〜#〜]ソリューション[〜#〜]

Amazon VPC AWSコンソール内でカスタムDHCPオプションセットを作成し、GoogleのパブリックDNS IPをdomain-name-servers = 8.8.8.8, 8.8.4.4として設定する必要がありました。

次に、/etc/resolv.confを同じものに設定して更新する必要がありました:nameserver 8.8.8.8 nameserver 8.8.4.4

7
T. Brian Jones