ChromeのDNSキャッシュクリアがちゃんと動かないとき
公開: 2020/11/14更新: 2024/12/8
DNSフェイルオーバーが効かない(怒)
私の作ったWebサービスには、メンテナンス中にメッセージを表示するためにDNSフェイルオーバーを設定しています。 ところが、メンテナンス中に時々DNSフェイルオーバーが効かなくなることがありました。
ALBのヘルスチェックは問題なくhealthyになっているのにもかかわらず、 Chromeからアクセスしてもメンテナンス中のメッセージが表示されてました。
ChromeのDNSキャッシュが悪さをしている…?
色々調べて、目星はついていました。 どう考えてもDNSキャッシュ周りが悪さをしているとしか思えませんでした。
しかし、DNSキャッシュと一言にいっても、Route53なのか、OSなのか、ブラウザなのか、 はたまた私の知らない何かなのか原因がわからず、 いろいろ試してみてもだめだったのでしばらくの間放置していました。
原因判明
最近ようやくおそらくこれであろうという原因を見つけました。 ChromeのDNSキャッシュ削除をするときは、以下の手順を踏まなければいけないらしいです。
- chrome://net-internals/#dnsを開き、「Clear host cache」をクリック
- chrome://net-internals/#socketsを開き、「Flush socket pools」をクリック
参考:https://superuser.com/questions/203674/how-to-clear-flush-the-dns-cache-in-google-chrome
これでようやくDNSフェイルオーバーうまく動かない問題から解放されました。
まとめ
皆さんもChromeのDNSキャッシュに悩まされていたら試してみてください。