HTTP API 500 エラーレート上昇
Incident Report for Gehirn Web Services
Postmortem

障害期間

2019 年 12 月 18 日 23 時 0 分 - 2019 年 12 月 18 日 23 時 44 分

障害内容

Gehirn Web Services が提供する HTTP API が HTTP 500 Internal Server Error により利用できなくなる障害が発生いたしました。また、 Gehirn MTA が提供する SMTP API では AUTH コマンドによる認証ができなくなり、メールを送信することができなくなりました。

さらに、 Gehirn Web Services ウェブコンソールではお客さまにご提供しているものと同一の HTTP API を利用しているため、ウェブコンソールによる操作がエラーにより実行できなくなったり、ウェブコンソールの初期化に失敗して正常に表示できなくなる障害が発生いたしました。

お客さまにはご迷惑とご不便をおかけいたしましたことを深くお詫び申し上げます。

なお、 Gehirn RS2 Plus のお客さま環境及びその上でホストしているウェブサイト、 Gehirn DNS の名前解決、 Gehirn MTA を利用したメールの受信、ならびに Gehirn EDJ を利用したイベント受信には影響はございませんでした。

障害原因

当社では障害発生の直前、日常のサービス運用の一貫として、 Gehirn Web Services の各サービス及び内部サービス間のネットワーク通信を制御するソフトウェアの更新を行いました。この更新は後方互換性の破壊を伴わず、また事前の調査でも当社が利用する機能の範囲において機能の変更がないことを確認しておりました。

しかし、当該ソフトウェアの更新後のバージョンにおいて混入したバグが当社の環境においてサービス間通信の分断を引き起こし、他のサービスに依存する Gehirn Web Services の各サービスにおいて HTTP 500 Internal Server Error の発生に繋がりました。

このバグは、ソフトウェア設定に従来有効とされてきた特定の文字が含まれた場合にのみ発生するもので、バージョン更新においては特段の警告やエラーが表示されず、正常に完了したものとして報告されておりました。

また、当該ソフトウェアは当社が利用するクラウドプロバイダが管理するものであり、当社ではアップデートの指示のみしかできなかったことから、通常の障害対応で優先して行うべきロールバックができず、障害が継続した状況で障害原因の特定とその回避手段の確立が必要となり、障害が 44 分間と長時間にわたるものとなりました。

再発防止

今回の障害では、原因となったネットワーク通信を制御するソフトウェアの更新において、お客さまにご提供する環境に適用するまで問題となるバグを発見できませんでした。

これは当社における事前の検証が不十分であった事が原因であると考えております。

当社の検証環境とお客さまにご提供する環境では若干の差異があり、今回の特定の文字が設定に含まれる場合にのみ発生するような元より発見が困難な問題では、この差異がより一層問題の発見を困難にしております。

当社では技術的に合理的な範囲でできる限り検証環境とお客さまにご提供する環境の差異をより小さくした上で、事前の検証をより入念に実施し、また検証環境におけるソフトウェア更新実施後の先行運用期間を長く設定することにより、今回の様な問題の発生を防いで参ります。

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

Posted Dec 19, 2019 - 02:31 JST

Resolved
本障害は解決いたしました。お客さまにはご不便とご迷惑をおかけいたしましたことをお詫び申し上げます。
Posted Dec 19, 2019 - 00:27 JST
Monitoring
障害の原因を推定した上で対策を実施し、エラーレートが通常の値まで低下したことを確認しております。引き続き状況を注視して参ります。
Posted Dec 18, 2019 - 23:42 JST
Investigating
We are currently investigating this issue.
Posted Dec 18, 2019 - 23:12 JST
This incident affected: Gehirn RS2 Plus (HTTP API), Gehirn MTA (HTTP API, SMTP API), Gehirn DNS (HTTP API), Web Console, and Gehirn EDJ (HTTP API).