事象
お名前.comで取得したドメインをVercelからNetlifyに変更し使用したところ、画像のように404ページが表示されてしまいました。
Vercelのほうはサブドメインとして使用していたものですが、エラー先がVercelのページになっていました。

画像のリンク部分をクリックすると、遷移先は以下のようでした。
https://vercel.com/docs/errors/DEPLOYMENT_NOT_FOUND
存在しないデプロイメントへのリクエストが行われた場合に発生するようです。
原因
そもそものDNSレコード設定が間違っていました。
お名前.comの「DNSレコード設定」から、一度デフォルトのレコード設定を削除し、Netlifyのレコードを正しく登録する必要がありました。
推測になってしまいますが、エラー先がVercelのページになっていたのは、「ネームサーバー設定」を「お名前.com」から「Vercel」に設定変更をしており、そもそもの「DNSレコード設定」が間違っていたために発生したと思われます。
お名前.comのままだったらそちらに飛ばされていたはずです。
対処法
- 「DNSレコード設定」>デフォルトのレコード設定を削除する
- レコードの追加から新たにレコードを設定する
※この時、 IP アドレスはNetlifyのものを使用します。Netlifyの推奨IPアドレスは 75.2.60.5 です。
https://docs.netlify.com/manage/domains/configure-domains/bring-a-domain-to-netlify/
DNSの反映には時間がかかる場合もあるので、24~48時間は置いて確認してみるといいです。
実際に変更前と変更後の設定を比較すると以下のようになります。
変更前(問題あり):
ドメイン: お名前.com
ネームサーバー: Vercel
DNSレコード:お名前.comのデフォルトのまま ← ここが設定できていなかった
実際のホスティング: Netlify
変更後(正常):
ドメイン: お名前.com
ネームサーバー: お名前.com
DNSレコード: Netlifyを指す
実際のホスティング: Netlify
設定後の確認方法
コマンドを使う方法とツールを使う方法
コマンドで確認する
ネームサーバーの反映を確認する場合
nslookup -type=ns your-domain.comこちらを使用すると、ドメインをどのネームサーバで管理しているのか、知ることができます。
DNSの反映を確認する場合
nslookup your-domain.com出力されたIPアドレスがNetlifyのものと一致すれば設定ができていることになります。
※コマンド内の「your-domain.com」は適宜変更してください。
ツールを使う方法
DNSが反映されているかについては、以下のツールを使って確認する方法もあります。
使い方は、
- ドメインを入力
- レコードのTypeを選択
- Searchボタンをクリック
でOKです。
リストとなって結果がわかりますので、IPアドレスがNetlifyのものと一致すれば設定ができていることになります。
同じ問題にハマらないためにきをつけること
- サブドメインをVercelで使っていた場合、ネームサーバーもVercelになっていないか確認する
- ホスティングサービスを変更する際は、ネームサーバー設定も確認すること
- DNSレコード設定を変更しても反映されない場合は、ネームサーバーを疑う
最後に
今後、いろいろなホスティングサービスを使ってみたいと思っているので、気づけて良かったです。
知識としてはなんとなく持っていたけど、自分で設定するのは初めてだったので、いい勉強になりました。
設定するときには気をつけたいと思います。
もし間違いや気づいたことがあれば教えていただけると幸いです!