リモートネットワークからプライベートホストゾーンの DNS レコードを解決するように Route 53 リゾルバーのインバウンドエンドポイントを設定する方法を教えてください。

最終更新日: 2019 年 10 月 11 日

リモートネットワークからプライベートホストゾーンのレコードを解決するために、Amazon Route 53 リゾルバーのインバウンドエンドポイントを設定する方法を教えてください。

簡単な説明

Amazon Virtual Private Cloud (Amazon VPC) で作成された VPC は、Route 53 リゾルバーから自動的な DNS 解決を受け取ります。VPC 内の Amazon Elastic Compute Cloud (Amazon EC2) インスタンスは、VPC CIDR IPv4 ネットワーク範囲プラス 2 のベースにある予約済み IP アドレスを使用して、DNS クエリをリゾルバーに送信できます。リモートネットワークと VPC の間にネットワーク接続がある場合、リモートネットワーク上の DNS リゾルバーは DNS クエリを VPC のリゾルバーに転送できます。この接続は、AWS Direct Connect または VPN 接続を使用して実現されます。ただし、リゾルバーは VPC ネットワーク範囲外の IP アドレスからの DNS クエリを受け入れません。これを解決するには、VPC でインバウンドエンドポイントを作成できます。インバウンドエンドポイントが受信した DNS クエリは、リゾルバーに転送されます。これらのクエリは、VPC 自体から発信されるクエリと同じように処理されます。

解決方法

前提条件を満たす

まず、インバウンドエンドポイントを作成する VPC の DNS サポート属性で DNS ホスト名と DNS 解決を有効にします 。

次に、該当するプライベートホストゾーンを、インバウンドエンドポイントを作成する VPC に関連付けます。

プライベートホストゾーンと VPC が同じアカウントにある場合:

  1. Route 53 コンソールを開きます。
  2. ナビゲーションペインで、[Hosted Zones] を選択します。
  3. 照会するレコードを含むプライベートホストゾーンを選択します。
  4. 検索バーで VPC を検索し、[Associate New VPC] を選択します。

プライベートホストゾーンと VPC が異なるアカウントにある場合は、AWS コマンドラインインターフェイス (AWS CLI) を使用してクロスアカウントの関連付けを実行します。

インバウンドルールを設定する

  1. Route 53 コンソールを開きます。
  2. ナビゲーションペインで、[Inbound endpoints] を選択します。
  3. ナビゲーションバーで、インバウンドエンドポイントを作成する VPC のリージョンを選択します。
  4. [Create inbound endpoint] を選択します。
  5. [Create inbound endpoint] ページで、[General settings for inbound endpoint] セクションに入力します。送信先ポート 53 のリモートネットワークからのインバウンド UDP および TCP トラフィックを許可する、このエンドポイントのセキュリティグループを選択します。
  6. [IP addresses] セクションに入力します。リゾルバーにサブネットの使用可能な IP アドレスから IP アドレスを選択させるか、自分で IP アドレスを指定できます。DNS クエリには、2 つ (最小) から 6 つ (最大) の IP アドレスを選択します。ベストプラクティスは、少なくとも 2 つの異なるアベイラビリティーゾーンで IP アドレスを選択することです。[Subnet] で、対応する以下を持つサブネットを選択します。
    • AWS Direct Connect または VPN 接続を使用したリモートネットワークの DNS リゾルバーの IP アドレスへのルートを含むルートテーブル。
    • 送信先ポート 53 のリモートネットワークから、および送信先ポート範囲 1024-65535 のリモートネットワークへの UDP トラフィックと TCP トラフィックの両方を許可するネットワークアクセスコントロールリスト (ACL)。クライアントのタイプによっては、ネットワーク ACL に異なる範囲を使用する場合があります。
  7. (オプション) [Tags] セクションに入力します。
  8. [Submit] を選択します。

設定をテストする

テストする前に、以下を設定したことを確認します。

  • 条件付きでプライベートホストゾーンのドメイン名の DNS クエリをインバウンドエンドポイントの IP アドレスに転送するリモートネットワーク上の DNS サーバー。
  • ドメイン名の権限をインバウンドエンドポイントに委任する代わりに、ドメイン名の DNS クエリを転送するリモート DNS サーバー。
    注意: インバウンドエンドポイントは、再帰的な DNS クエリだけをサポートします。インバウンドエンドポイントタイムアウトに送信される反復 DNS クエリ。

次に、以下のコマンドを使用して、リモートネットワーク上のクライアントからプライベートホストゾーン内のレコードの 1 つに対して DNS クエリを実行します。

  • Linux または MacOS の場合: dig <record name> <record type>
  • Windows の場合: nslookup <record name> <record type>