Amazon Lightsail で自分のウェブサイトにアクセスしようとすると、"curl: (6) ホストを解決できませんでした" または、"ERR_NAME_NOT_RESOLVED." というエラーが発生します。
簡単な説明
"curl: (6) ホストを解決できませんでした" または、"ERR_NAME_NOT_RESOLVED" というエラーは、ブラウザまたはコマンドラインツールが、お使いのウェブサイトのドメイン名を解決できなかったことを示しています。
解決策
ドメイン登録を確認する
ドメインが登録されているかどうかを確認します。次の whois コマンドを実行します。
whois your_domain
注: your_domain は、お使いのドメイン名に置き換えます。
出力にドメインの詳細が表示されていれば、ドメインは登録されています。
"ドメイン 'example.com' に一致するものがありません。ドメインは登録されていません" という応答が発生する場合は、次の手順に進む前に、ドメインを登録する必要があります。
ネームサーバーを確認する
ドメインに正しいネームサーバーが設定されていることを確認してください。ドメインに関連付けられているネームサーバーを確認するには、次の dig または whois コマンドを実行します。
dig your_domain NS
または、
whois your_domain | grep "Name Server"
注: your_domain は、お使いのドメイン名に置き換えます。
ネームサーバーが正しく設定されていない場合やエラーメッセージが表示される場合は、ドメインレジストラでネームサーバーを更新してください。
問題がローカルかグローバルかを確認する
解決策がローカルかグローバルかを確認する
問題がローカルマシンに固有の問題か、グローバルな問題かを判断します。別のネットワークまたはデバイスからウェブサイトにアクセスします。ウェブサイトが読み込まれる場合、ローカルネットワークまたはマシンの構成に問題があります。
リゾルバー設定を検証する
問題がローカルなものである場合は、ローカルマシンの DNS リゾルバー設定を確認してください。DNS リゾルバーはドメイン名を IP アドレスに変換します。マシンに設定されている DNS サーバーが IP アドレスを解決できることを確認してください。
Windows で DNS サーバー設定を確認するには、コマンドプロンプトで次のコマンドを実行します。
ipconfig /all
macOS または Linux でリゾルバー設定を確認するには、/etc/resolv.conf ファイルを開き、リストされている DNS サーバーを確認します。
設定された DNS サーバーが誤っているか、応答しない場合は、更新するか、ネットワーク管理者に問い合わせてください。
DNS 解決プロセスが失敗した場所を特定するには、次の dig +trace コマンドを実行します。
dig +trace your_domain
注: your_domain は、お使いのドメイン名に置き換えます。
dig +trace コマンドを実行して再帰的な DNS ルックアップを行い、お使いのドメインを解決するためにクエリを実行した DNS サーバーのパスを特定します。
TLD での障害
クエリが TLD レベルで停止した場合は、ドメイン登録またはネームサーバーに問題があります。whois コマンドを実行して、登録ステータスとネームサーバー情報を確認します。
ネームサーバーでの障害
クエリがネームサーバーに到達しても A レコード (IP アドレス) を取得できない場合は、いくつかの問題を調査する必要があります。
- ドメインの A レコードがネームサーバーに設定されていない。
- レジストラにリストされているネームサーバーが誤っているか、古くなっている。
- ドメインのネームサーバーにホストゾーンが設定されていない。
ネームサーバーに A レコードがあるかどうかを確認するには、次のコマンドを実行します。
dig your_domain @nameserver_ip
注: your_domain は、お使いのドメイン名に置き換えます。nameserver_ip は、お使いのネームサーバーの IP アドレスに置き換えます。
出力にドメインの正しい IP アドレスが表示されている場合、問題はネームサーバーとは関連していません。
ネームサーバーを更新するか、ドメインを登録する
hosts ファイルをチェックして、ネームサーバーと登録ドメインを確認する
ローカルマシン上のホストファイルは、ホスト名を IP アドレスにマップする静的ファイルです。hosts ファイルで、お使いのドメインに関するエントリが誤っている場合、解決エラーの原因となります。
注: Windows では、hosts ファイルは C:\Windows\System32\drivers\etc\hosts にあります。macOS または Linux では、hosts ファイルは /etc/hosts にあります。
hosts ファイルをテキストエディタで開き、お使いのドメインに関するエントリがあるかどうかを確認します。エントリがある場合は、関連する IP アドレスが正しいことを確認します。エントリが間違っているか、不要な場合は、削除するかコメントアウトします。
ドメインが登録されていないか、ネームサーバーが正しくない場合は、レジストラでドメインを登録するか、ネームサーバーを更新します。
ドメインが未登録の場合は、次の手順を実行します。
- ドメイン名が登録されていることを確認します。
- ホスティングプロバイダーまたは DNS サービスが指定するネームサーバーを入力します。
ネームサーバーが正しくない場合は、次の手順を実行してください。
- ドメインレジストラの AWS アカウントにログインします。
- ドメイン管理セクションに移動し、ネームサーバー設定を探します。
- ホスティングプロバイダーまたは DNS サービスから提供された正しい情報でネームサーバーを更新します。
- 変更を保存し、DNS 更新がグローバルに反映されるのを待ちます (最長 48 時間かかります)。
ネームサーバーで A レコードを設定するか、レジストラでネームサーバーレコードを更新します。
dig +trace の出力がネームサーバーに到達しても A レコード (IP アドレス) を取得できない場合は、ネームサーバーで A レコードを設定します。または、レジストラでネームサーバーレコードを更新します。
ネームサーバー (Lightsail DNS) で A レコードを設定するには、次の手順を実行します。
- Lightsail コンソールで、[ネットワーク] セクションに移動します。
- ドメインの DNS ゾーンを選択します。
- [レコードを追加] を選択します。 次に、ドメイン名と IP アドレス (Lightsail インスタンスのパブリック IP アドレスなど) を使用して新しい A レコードを作成します。
- 変更を保存したら、DNS 更新がグローバルに反映されるのを待ちます (最長 48 時間かかります)。
カスタムネームサーバー (Lightsail でホストされていないネームサーバー) を使用する場合は、ドメインレジストラでネームサーバーレコードを更新します。レジストラでネームサーバーレコードを更新するには、次の手順を実行します。
- ドメインレジストラの AWS アカウントにログインします。
- ドメイン管理セクションに移動してから、ネームサーバー設定を探します。
- ネームサーバーレコードを、ドメインをホストしているネームサーバーの正しい IP アドレスで更新します。
- 変更を保存したら、DNS 更新がグローバルに反映されるのを待ちます (最長 48 時間かかります)。
ホストゾーンを作成し、ゾーンファイルを正しい DNS レコードで更新する
dig +trace 出力がネームサーバーに到達しても、A レコードを取得できない場合があります。ネームサーバーにおいて、ドメイン用のホストゾーンが設定されているかどうかを確認します。詳細については、「Lightsail インスタンスのドメインレコードを管理する DNS ゾーンを作成する」を参照してください。
関連情報
AWS CLI のコマンドを使用して Lightsail インスタンスを管理する方法を教えてください
Lightsail での DNS について