メニュー
Amazon Virtual Private Cloud
ユーザーガイド

VPC での DNS の使用

インターネットで使用される名前を対応する IP アドレスに解決するには、ドメインネームシステム (DNS) が標準的です。DNS ホスト名はコンピュータを一意に識別する絶対名で、ホスト名とドメイン名で構成されます。DNS サーバーは DNS ホスト名を対応する IP アドレスに解決します。

パブリック IPv4 アドレスによってインターネットでの通信が可能になり、プライベート IPv4 アドレスによってインスタンス (EC2-Classic または VPC) のネットワーク内部での通信が可能になります。詳細については、「VPC の IP アドレス指定」を参照してください。

Amazon では Amazon DNS サーバーを提供しています。独自の DNS サーバーを使用するには、VPC 用の DHCP オプションの新しいセットを作成します。詳細については、「DHCP オプションセット」を参照してください。

DNS ホスト名

デフォルト VPC 内にインスタンスを起動すると、パブリック IPv4 アドレスとプライベート IPv4 アドレスに対応するパブリック DNS ホスト名およびプライベート DNS ホスト名がインスタンスに割り当てられます。デフォルト以外の VPC 内にインスタンスを起動すると、プライベート DNS ホスト名がインスタンスに割り当てられ、VPC に指定した DNS 属性に応じて、およびインスタンスにパブリック IPv4 アドレスがある場合、パブリック DNS ホスト名が割り当てられる可能性があります。

Amazon が提供するプライベート (内部) DNS ホスト名はインスタンスのプライベート IPv4 アドレスに解決され、ip-private-ipv4-address.ec2.internal の書式が us-east-1 リージョンに使用され、ip-private-ipv4-address.region.compute.internal の書式が (private.ipv4.address が逆引きルックアップ IP アドレスとなっている) 他のリージョンに使用されます。プライベート DNS ホスト名は、同じネットワーク内のインスタンス間の通信に使用できます。ただし、インスタンスが含まれるネットワークの外部の DNS ホスト名を解決することはできません。

パブリック (外部) DNS ホスト名には、us-east-1 リージョンには ec2-public-ipv4-address.compute-1.amazonaws.com 書式、その他のリージョンには ec2-public-ipv4-address.region.amazonaws.com 書式が使用されます。パブリック DNS ホスト名を解決すると、インスタンスのパブリック IPv4 アドレス (インスタンスのネットワークの外部の場合) およびインスタンスのプライベート IPv4 アドレス (インスタンスのネットワーク内からの場合) となります。

IPv6 アドレスの DNS ホスト名は付与されません。

VPC の DNS サポート

VPC には、インスタンスがパブリック DNS ホスト名を受け取るかどうか、また Amazon DNS サーバーを使用してDNS解決がサポートされているかどうかを、特定する属性があります。

属性 説明
enableDnsHostnames

VPC 内に起動されるインスタンスが パブリック DNS ホスト名を取得するかどうかを示します。

この属性が true の場合、VPC 内のインスタンスは DNS ホスト名を取得しますが、これは enableDnsSupport 属性も true に設定されている場合のみです。

enableDnsSupport

VPC に対して DNS 解決がサポートされているかどうかを示します。

この属性が false の場合、Amazon が提供する VPC の DNS サーバー (パブリック DNS ホスト名を IP アドレスに解決します) が有効になりません。

この属性が true の場合、Amazon が提供する DNS サーバー (IP アドレス 169.254.169.253) へのクエリ、またはリザーブド IP アドレス (VPC IPv4 ネットワークの範囲に 2 をプラスしたアドレス) へのクエリは成功します。詳細については、「Amazon DNS サーバー」を参照してください。

属性の両方が true に設定されている場合、次のようになります。

  • インスタンスはパブリック DNS ホスト名を受け取ります。

  • Amazon が提供する DNS サーバーは、Amazon が提供するプライベート DNS ホスト名を解決できます。

属性のいずれかまたは両方が false に設定されている場合は、次のようになります。

  • インスタンスはパブリック DNS ホスト名を受け取りません。

  • Amazon が提供する DNS サーバーは、Amazon が提供するプライベート DNS ホスト名を解決できません。

  • DHCP オプションセットでカスタムドメイン名を指定した場合、インスタンスはカスタムプライベート DNS ホスト名を受け取ります。Amazon が提供する DNS サーバーを使用しない場合、カスタムドメインネームサーバーは必要に応じてホスト名を解決する必要があります。

デフォルトでは、両方の属性がデフォルト VPC で true に設定されるか、VPC が VPC ウィザードによって作成されます。デフォルトでは、enableDnsSupport 属性のみが、VPC コンソールの [Your VPCs] ページで作成されたか、AWS CLI、API、または AWS SDK を使用して作成された VPC で、true に設定されます。

Amazon DNS サーバーは、プライベート DNS ホスト名を、「RFC 1918 」に指定されているプライベート IPv4 アドレス範囲外の VPC の IPv4 アドレス範囲を含む、すべてのアドレス空間のプライベート IPv4 アドレスに解決できます。

重要

2016 年 10 月より前に VPC を作成した場合は、VPC の IPv4 アドレス範囲が RFC 1918 で指定されたプライベート IPv4 アドレスの範囲外の場合、Amazon DNS サーバーはプライベート DNS ホスト名を解決しません。これらのアドレスについて Amazon DNSサーバーがプライベート DNS ホスト名を解決できるようにするには、AWS サポート に問い合わせください。

DNS ホスト名と DNS サポートを、以前はそれらに対応していなかった VPC で有効にすると、その VPC で既に起動されているインスタンスはパブリック DNS ホスト名を取得します。ただしそのためには、インスタンスにパブリック IPv4 アドレスまたは Elastic IP アドレスが割り当てられている必要があります。

プライベートホストゾーンの DNS サポートに関する情報は、プライベートホストゾーンの使用 を参照してください。

EC2 インスタンスの DNS ホスト名を確認する

Amazon EC2 コンソールまたはコマンドラインを使用して、実行中のインスタンスまたはネットワークインターフェイスの DNS ホスト名を確認できます。

インスタンス

コンソールを使用してインスタンスの DNS ホスト名を確認するには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインで、[Instances] を選択します。

  3. リストから インスタンスを選択します。

  4. 詳細ペインで、[Public DNS (IPv4)] および [Private DNS] フィールドに、該当する場合は DNS ホスト名が表示されます。

コマンドラインを使用してインスタンスの DNS ホスト名を確認するには

次のコマンドの 1 つを使用できます。これらのコマンドラインインターフェイスの詳細については、Amazon VPC へのアクセス を参照してください。

ネットワークインターフェイス

コンソールを使用してネットワークインターフェイスのプライベート DNS ホスト名を確認するには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインで、[Network Interfaces] を選択します。

  3. リストからネットワークインターフェイスを選択します。

  4. 詳細ペインの [Private DNS (IPv4)] フィールドにプライベート DNS ホスト名が表示されます。

コマンドラインを使用してネットワークインターフェイスの DNS ホスト名を確認するには

次のコマンドの 1 つを使用できます。これらのコマンドラインインターフェイスの詳細については、Amazon VPC へのアクセス を参照してください。

VPC の DNS サポートを更新する

Amazon VPC コンソールを使用して、VPC の DNS サポート属性を表示および更新することができます。

コンソールを使用して VPC の DNS サポートの詳細を確認し更新するには

  1. https://console.aws.amazon.com/vpc/にある Amazon VPC コンソールを開きます。

  2. 画面左枠のナビゲーションペインで、[VPC] を選択します。

  3. 一覧から VPC を選択します。

  4. [Summary] タブの情報を確認します。この例では、両方の設定が有効になっています。

     [DNS Settings] タブ
  5. これらの設定を更新するには、[Actions] を選択し、[Edit DNS Resolution] または [Edit DNS Hostnames] を選択します。表示されたダイアログボックスで、[Yes] または [No] を選択し、[Save] を選択します。

コマンドラインを使用して VPC の DNS サポートについて説明するには

次のコマンドの 1 つを使用できます。これらのコマンドラインインターフェイスの詳細については、Amazon VPC へのアクセス を参照してください。

コマンドラインを使用して VPC の DNS サポートを更新するには

次のコマンドの 1 つを使用できます。これらのコマンドラインインターフェイスの詳細については、Amazon VPC へのアクセス を参照してください。

プライベートホストゾーンの使用

プライベート IPv4 アドレスや AWS で提供されたプライベート DNS ホスト名の代わりに example.com のようなカスタム DNS ドメイン名を使用して VPC のリソースにアクセスする場合は、Amazon Route 53 でプライベートホストゾーンを作成できます。プライベートホストゾーンは、インターネットにリソースを公開することなく、1 つ以上の VPC 内のドメインとそのサブドメインにトラフィックをルーティングする方法に関する情報を保持するコンテナです。次に、Amazon Route 53 リソースレコードセットを作成できます。これにより、ドメインとサブドメインへのクエリに Amazon Route 53 が対応する方法が決定されます。たとえば、example.com のブラウザリクエストが VPC のウェブサーバーにルーティングされるようにする場合、プライベートホストゾーンで A レコードを作成し、そのウェブサーバーの IP アドレスを指定します。プライベートホストゾーンの作成の詳細については、Amazon Route 53 開発者ガイド の「プライベートホストゾーンの使用」を参照してください。

カスタム DNS ドメイン名を使用してリソースにアクセスするには、VPC 内のインスタンスに接続している必要があります。インスタンスで、ping コマンド (ping mywebserver.example.com など) を使用してカスタム DNS 名からプライベートホストゾーンのリソースにアクセス可能なことをテストできます (ping コマンドが機能するには、インスタンスのセキュリティグループのルールでインバウンド ICMP トラフィックが許可されている必要があります)。

ClassicLink DNS サポートに対して VPC が有効になっていれば、ClassicLink 経由で VPC にリンクされた EC2-Classic インスタンスからプライベートホストゾーンにアクセスできます。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイド の「ClassicLink DNS サポートを有効にする」を参照してください。それ以外の場合、プライベートホストゾーンは VPC 外部の推移的関係をサポートしていません。たとえば、VPN 接続の他方の側からカスタムプライベート DNS 名を使用してリソースにアクセスすることはできません。

重要

Amazon Route 53 のプライベートホストゾーンに定義されているカスタム DNS ドメイン名を使用している場合は、VPC 属性 enableDnsHostnamesenableDnsSupporttrue に設定する必要があります。詳細については、「VPC の DNS サポートを更新する」を参照してください。