この質問は これはこちら とは異なることに注意してください。ここで、標準のAMIを使用したNAT AMI(私の場合)。また、私の場合はプライベートインスタンスがアクセスできます。ホスト名解決ではなく、ipaddressを介したインターネット。
これが私の設定です:
curl http://74.125.135.99/
は機能しますが、curl http://www.google.com
機能しませんプライベートインスタンス:
$cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
search us-east-2.compute.internal
$ curl http://74.125.135.99/
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>
$ curl http://www.google.com/
curl: (6) Could not resolve Host: www.google.com
NATインスタンス:
$ cat /etc/resolv.conf
; generated by /sbin/dhclient-script
search us-east-2.compute.internal
options timeout:2 attempts:5
nameserver 10.0.0.2
更新:次のDNS設定がVPCにあります:
DNS resolution: yes
DNS hostnames: yes
VPCのDNS解決は、NATデバイス、NATインスタンスであるか、NATゲートウェイであるか、実装方法により、ネットワークの設定ミスによってDNSを破壊することは不可能ではないにしても非常に困難です。これは、セキュリティグループとネットワークACLを介してトラフィックを許可する必要がないためです。
機能していない場合は、電源が入っていないことを示しています。
enableDnsSupport
がtrue
に設定されていることを確認します。
https://docs.aws.Amazon.com/AmazonVPC/latest/UserGuide/vpc-dns.html#vpc-dns-support
そこにいる間は、おそらくenableDnsHostnames
をアクティブ化したいと思うでしょう。文書化された説明がそうであることを示唆しているという事実にもかかわらず、それはあなたのインスタンスを「公開」しません。
これらのオプションのいずれかを有効にしないケースはめったにありません。