Blog

Cloudflare DNSで、StripeのDNS検証が通らなくなった現象に対処する

DNSをAmazon Route53からCloudflareに切り替えたのですが、ある日Stripeのダッシュボードにエラーメッセージが表示されました。

DNSレコードが一致しないため、Stripeから送信するメールに独自ドメインが使えなくなっていた様子でした。

どのレコードがfailしているかチェックする

[DNSレコードを更新]から状況を確認しましょう。

どのレコードが失敗しているかも、Stripeのダッシュボード上で確認できました。

TXTレコードの1つがうまくいっていない様子です。

nslookupでFailしているレコードの設定を確認する

問題のレコードがわかったので、nslookupで値を見てみましょう。

% nslookup -type=TXT -timeout=5 wp-kyoto.net
Server:     123.456.789.1
Address:    123.456.789.1#53

Non-authoritative answer:
wp-kyoto.net    text = "v=spf1 include:amazonses.com ~all"
wp-kyoto.net    text = "stripe-verification=123456789

whatmydns.netでもいける

レコードの確認は、ブラウザ上からでも可能です。この場合は、https://www.whatsmydns.netを使いました。

https://www.whatsmydns.net/

DNSレコードを更新様子見する

問題のあるレコードがわかれば、Stripeダッシュボードで訂正すべき値を確認してDNSをこうしんするだけです。Cloudflareダッシュボードでの変更が反映されるまで少し時間がかかりますので、nslookupで値が変わったかを確認してから検証をリトライします。

成功すれば、カスタムドメインからの送信が再開されます。

終わりに

DNSについても、アプリケーションコードなどと同様「どうデバッグすれば良いか」がわかれば案外なんとかなる・・・のかもしれません。なんでレコードが不一致になったのかや、Amazon Route53では起きなかった理由とかは不明なままなので、その辺りも調べることができれば続報として書くようにします。