Gehirn DNS エラーレスポンスレート上昇・パフォーマンス低下
Incident Report for Gehirn Web Services
Postmortem

障害内容

2020 年 5 月 8 日 9 時 24 分から同 13 時 17 分にかけ、 Gehirn DNS においてエラーレスポンスレートの上昇、及びクエリパフォーマンスの低下が発生しておりました。

エラーレスポンスでは、通常 NOERROR が返されるべきクエリに対し、 NXDOMAIN または REFUSED が応答されておりました。

この障害によりご不便とご迷惑をおかけいたしましたことをお詫び申し上げます。

障害原因

本障害では、DNS キャッシュ・ロードバランサーがクエリをリバースプロキシする DNS バックエンドサーバー郡の一部においてサーバーリソースの枯渇が発生したため、クエリパフォーマンスが低下したり、間欠的に NXDOMAIN エラーや REFUSED エラーを応答していたことが原因となっておりました。

また、 DNS キャッシュ・ロードバランサーでは DNS バックエンドサーバーの応答をエラーレスポンスも含め一定時間( 1 分未満)キャッシュしており、 DNS バックエンドサーバーがエラーレスポンスを応答した場合は、キャッシュが有効である期間、キャッシュ・ロードバランサーからは常にエラーレスポンスが応答されておりました。

さらに、 DNS キャッシュ・ロードバランサーは ANYCAST により世界 150 都市以上の POP にて DNS クエリを処理しており、各 POP ごとにパフォーマンスがよりよい DNS バックエンドサーバー(通常はネットワーク的に近傍なキャッシュサーバー)に DNS クエリをリバースプロキシするようになっております。

しかし、今回の障害では一部の DNS バックエンドサーバーにてパフォーマンスの低下が発生したため、問題のあった DNS バックエンドサーバーに近傍の POP では、通常は選択されることのないネットワーク的に遠方の DNS バックエンドサーバーが選択されることになり、正常なクエリレスポンスにおいてもパフォーマンスの低下が生じました。

なお、先述のように DNS キャッシュ・ロードバランサーには多くの POP が存在し、 DNS クエリが送信された環境の地理や ISP により利用される POP が異なるため、 DNS クエリが送信された環境により本障害の影響度合いが大きく異なっております。

再発防止について

今回の障害の原因となったリソースの枯渇は、ソフトウェアの不具合が原因であると特定しております。

Gehirn DNS では、オープンソースにて開発されている DNS 権威サーバーと、当社が開発したソフトウェアが通信することにより DNS クエリに応答しております。

この仕組みによる DNS クエリの処理において、 DNS クエリの応答に必要な通信が終了した時点で開放されるべき OS リソースが開放されておりませんでした。このため、新たな当該 OS リソースの確保を試みた際に OS の制限により割当を受けられず、エラー応答がなされておりました。

当該不具合はすでに修正し、また監視のレベルを上げ、正しく修正できていることを確かめております。

また、今回の障害では障害の発生からエンジニアへの通知までに長時間を要しております。

今後、万が一同様の問題が発生した場合は直ちにエンジニアに通知されるよう、監視システムの閾値を調整いたしました。

今回の障害により、お客さまにご不便とご迷惑をおかけいたしましたことを改めてお詫び申し上げます。

対応履歴

  • 09 時 24 分 DNS バックエンドサーバーの 1 台でリソースの枯渇が発生
  • 09 時 33 分 監視システムが当該 DNS バックエンドサーバーにおいてクエリパフォーマンスの低下を検知
  • 13 時 12 分 監視システムが異常を検知し、エンジニアに電話で通知
  • 13 時 17 分 エンジニアが疑わしい原因を特定し、対応を開始
  • 13 時 17 分 障害復旧
  • 21 時 30 分 本障害報告書掲載
Posted May 08, 2020 - 21:35 JST

Resolved
平素より Gehirn DNS をご利用くださりありがとうございます。

2020 年 5 月 8 日 9 時 24 分から同 13 時 17 分にかけ、 Gehirn DNS においてエラーレスポンスレートの上昇、及びクエリパフォーマンスの低下が発生しておりました。

エラーレスポンスでは、通常 NOERROR が返されるべきクエリに対し、 NXDOMAIN または REFUSED が応答されておりました。

この障害によりご不便とご迷惑をおかけいたしましたことをお詫び申し上げます。
Posted May 08, 2020 - 13:17 JST