VPC での DNS の使用 - Amazon Virtual Private Cloud

VPC での DNS の使用

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

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

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

DNS ホスト名

VPC 内のインスタンスには、そのインスタンスのパブリック IPv4 アドレスとプライベート IPv4 アドレスに対応するパブリック DNS ホスト名とプライベート DNS ホスト名が割り当てられます。IPv6 アドレスには DNS ホスト名が割り当てられません。

プライベート DNS ホスト名

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

VPC 内に起動したインスタンスは、常にプライベート DNS ホスト名を受け取ります。

パブリック DNS ホスト名

パブリック (外部) DNS ホスト名には、us-east-1 リージョンには ec2-public-ipv4-address.compute-1.amazonaws.com 書式、その他のリージョンには ec2-public-ipv4-address.region.compute.amazonaws.com 書式が使用されます。Amazon DNS サーバーがパブリック DNS ホスト名を解決すると、インスタンスのパブリック IPv4 アドレス (インスタンスのネットワークの外部の場合) およびインスタンスのプライベート IPv4 アドレス (インスタンスのネットワーク内からの場合) となります。詳細については、Linux インスタンス用の Amazon EC2 ユーザーガイドの「パブリック IPv4 アドレスと外部 DNS ホスト名」を参照してください。

VPC 内に起動したインスタンスにパブリック IPv4 アドレスがあり、VPC の DNS ホスト名と DNS サポート属性の両方が true に設定されている場合、そのインスタンスはパブリック DNS ホスト名を受け取ります。詳細については、「VPC の DNS サポート」を参照してください。

VPC の DNS サポート

VPC には、VPC 内で起動したインスタンスがパブリック IP アドレスに対応するパブリック DNS ホスト名を受け取るかどうか、および Amazon DNS サーバーを通じた DNS 解決が VPC に対してサポートされるかどうかを決定する属性があります。

属性 説明
enableDnsHostnames

パブリック IP アドレスを持つインスタンスが、対応するパブリック DNS ホスト名を取得するかどうか示します。

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

enableDnsSupport

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

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

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

以下のルールが適用されます。

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

    • パブリック IP アドレスを持つインスタンスは、対応するパブリック DNS ホスト名を受け取ります。

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

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

    • パブリック IP アドレスを持つインスタンスは、対応するパブリック DNS ホスト名を受け取りません。

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

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

  • Amazon Route 53 のプライベートホストゾーンで定義されたカスタム DNS ドメイン名を使用する場合や、インターフェイス VPC エンドポイント (AWS PrivateLink) でプライベート DNS を使用する場合は、enableDnsHostnames 属性と enableDnsSupport 属性の両方を true に設定する必要があります。

  • Amazon Route 53 Resolver は、プライベート DNS ホスト名を、「RFC 1918」に指定されているプライベート IPv4 アドレス範囲外の VPC の IPv4 アドレス範囲を含む、すべてのアドレス空間のプライベート IPv4 アドレスに解決できます。ただし、2016 年 10 月より前に作成した VPC の場合、VPC の IPv4 アドレス範囲がこれらの範囲外であると、Amazon Route 53 Resolver はプライベート DNS ホスト名を解決しません。このサポートを有効にするには、AWS サポートにお問い合わせください。

デフォルトでは、両方の属性がデフォルト VPC で true に設定されるか、VPC が VPC ウィザードによって作成されます。デフォルトでは、その他の方法で作成された VPC で、enableDnsSupport 属性のみが true に設定されます。VPC がこれらの属性で有効かどうかを確認するには、「VPC の DNS サポートを表示および更新する」を参照してください。DNS ホスト名と DNS サポートを、以前はそれらに対応していなかった VPC で有効にすると、その VPC で既に起動されているインスタンスはパブリック DNS ホスト名を取得します。ただしそのためには、インスタンスにパブリック IPv4 アドレスまたは Elastic IP アドレスが割り当てられている必要があります。

DNS クォータ

各 EC2 インスタンスは Amazon Route 53 Resolver (具体的には 10.0.0.2 などの .2 アドレス) へ送信できるパケット数をネットワークインターフェイスあたり最大 1024 パケット/秒に制限しています。このクォータを増やすことはできません。Amazon Route 53 Resolver でサポートされる 1 秒あたりの DNS クエリの数は、クエリのタイプ、レスポンスのサイズ、および使用中のプロトコルにより異なります。スケーラブルな DNS アーキテクチャーの詳細および推奨については、「Amazon VPC のハイブリッドクラウド DNS ソリューション」ホワイトペーパーを参照してください。

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

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

[Public DNS (IPv4) (パブリック DNS (IPv4))] フィールドと [Private DNS (プライベート DNS)] フィールドは、インスタンスに関連付けられている VPC で DNS オプションが有効になっている場合に使用できます。詳細については、「VPC の DNS サポート」を参照してください。

インスタンス

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

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

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

  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. 詳細ペインの [プライベート 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. [説明 ] タブの情報を確認します。この例では、両方の設定が有効になっています。

    
              [DNS 設定] タブ
  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 のリソースにアクセスする場合は、Route 53 でプライベートホストゾーンを作成できます。プライベートホストゾーンは、インターネットにリソースを公開することなく、1 つ以上の VPC 内のドメインとそのサブドメインにトラフィックをルーティングする方法に関する情報を保持するコンテナです。次に、Route 53 リソースレコードセットを作成できます。これにより、ドメインとサブドメインへのクエリに 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 名を使用してリソースにアクセスすることはできません。詳細については、Linux インスタンス用の Amazon EC2 ユーザーガイドの「ClassicLink の制限」を参照してください。

重要

Amazon Route 53 のプライベートホストゾーンに定義されているカスタム DNS ドメイン名を使用している場合は、enableDnsHostnames 属性と enableDnsSupport 属性を true に設定する必要があります。