CloudFront ディストリビューションを指すエイリアスレコードが解決されないのはなぜですか?

最終更新日: 2021 年 5 月 20 日

Amazon Route 53 パブリックホストゾーンの Amazon CloudFront ディストリビューションを指すエイリアスレコードを設定しました。しかし、インターネット上でレコードを解決することはできません。この問題のトラブルシューティング方法を教えてください。

簡単な説明

次の場合、クライアントが CloudFront ディストリビューションを指すエイリアスレコードを解決できないことがあります。

  • CloudFront ディストリビューションに対応するエイリアスレコードの設定が間違っている
  • エイリアスレコードは、ドメインの権威ホストゾーンで作成されなかった
  • ドメインの状態が inactiveserverHold、または clienHold となっている
  • エイリアスレコードに関連付けられたヘルスチェックが異常
  • レコードはグローバルに伝播されていない
  • ドメインの DNSSEC が有効になっているときの DS レコードが間違っている

解決方法

エイリアスレコードタイプを確認する

エイリアスレコードが誤って設定されている場合、DNS レコードは期待どおりに解決されません。CloudFront エイリアスレコードタイプは、CNAME ではなく、Type A として設定する必要があります。

Route 53 のエイリアスレコードタイプを確認するには、次の手順に従ってください。

1.    Route 53 コンソールを開きます。

2.    ナビゲーションペインで、[Hosted Zones] (ホストゾーン) を選択します。

3.    ドメインのホストゾーンを選択します。

4.    ドメインの Route 53 のエイリアスレコードを選択します。

5.    [レコードセットの編集] ウィンドウで、[エイリアスレコード] の [レコードタイプ] が [A] に設定されていることを確認します。そうでない場合は、レコードを更新します。

6.    [レコードセットの保存] を選択します。

レジストラで設定されたドメインネームサーバーを確認します。

ドメインにホストゾーンを作成すると、Route 53 はホストゾーンに 4 つのネームサーバーのセットを割り当てます。ホストゾーンは、ドメインのレジストラでネームサーバーが指定されている場合にのみ、ドメイン解決に使用されます。

レジストラが、エイリアスレコードを作成したホストゾーンに割り当てられたものと同じ 4 つの権威ネームサーバーを返すかどうかを確認します。レジストラで設定されたネームサーバーを確認するには、次のコマンドを使用してドメインで whois 検索を実行します。

$ whois domain-name |grep 'Name Server'

ホストゾーンに割り当てられているネームサーバーを確認します。ネームサーバーが whois 検索の結果と一致しない場合、ホストゾーンはドメイン解決に使用されていません。ドメインレジストラでネームサーバーを更新する必要があります。ドメインが Route 53 に登録されている場合は、「ドメインのネームサーバーおよびグルーレコードの追加あるいは変更」を参照してください。ドメインがサードパーティに登録されている場合は、そのドメインのマニュアルで、ネームサーバーの更新手順を確認してください。

ドメインのステータスを確認する

ドメインのステータスが [inactive]、[ServerHold]、または [clientHold] の場合、ドメインは解決されません。whois lookup コマンドを使用して、ドメインのステータスを確認できます。

$ whois domain-name |grep 'Domain Status'

エイリアスレコードに関連付けられたヘルスチェックを確認する

エイリアスレコードに関連付けられているヘルスチェックがある場合は、ヘルスチェックのステータスを確認します。DNS 検索中に返される値は、レコードのルーティングポリシーおよびヘルスチェック設定によって異なります。

レコードの伝播を確認する

Route 53 は、通常の条件では 60 秒以内に DNS レコードへの更新を全世界の権威 DNS サーバーのネットワークに伝播します。ただし、DNS リゾルバーのキャッシュは Route 53 サービスの範囲を超えているため、TTL 値に従ってリソースレコードセットをキャッシュします。

ローカルリゾルバーは、設定された TTL の間、以前のレコード値をキャッシュします。場合によっては、信頼できるネームサーバーからの NXDOMAIN の結果がリゾルバーによってキャッシュされる場合に、ネガティブキャッシュが発生することがあります。この種類のネガティブキャッシュがシナリオで問題であるかどうかを判断するには、ドメインのホストゾーンに割り当てられたネームサーバーに直接クエリを送信して、応答を得ているかどうかを確認します。例:

$ dig domain-name @ns-2041.awsdns-63.co.uk

(DNSSEC が有効な場合) DS レコードを確認します

DNSSEC が有効な場合、委任署名者 (DS) レコードは、親ホストゾーンと子ホストゾーンの間の信頼チェーンを確立します。このレコードには、DNS ゾーンのゾーン署名キー (ZSK) に署名するために使用される公開キー署名キー (KSK) と署名アルゴリズムの種類のダイジェストが含まれています。DS レコードは、委任の親ゾーンに追加する必要があります。DS レコードは、親ゾーン内の権威データです。

例えば、「example.com」の DS レコードは、「example.com」ゾーン (子ゾーン) ではなく「.com」ゾーン (親ゾーン) に格納されます。DS レコードを作成するには、パブリック KSK と署名アルゴリズムの種類をドメインレジストラに提供します。ドメインレジストラは、パブリック KSK とアルゴリズムの種類をトップレベルドメインのレジストリに転送します。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?