obniz incident

LoadBalancer Issue

Critical Resolved View vendor source →

obniz experienced a critical incident on December 29, 2021 affecting obnizCloud: Console and Device Connection Request and obnizCloud: GraphQL API, lasting —. The incident has been resolved; the full update timeline is below.

Started
Dec 29, 2021, 01:13 AM UTC
Resolved
Dec 29, 2021, 01:13 AM UTC
Duration
Detected by Pingoru
Dec 29, 2021, 01:13 AM UTC

Affected components

obnizCloud: Console and Device Connection RequestobnizCloud: GraphQL API

Update timeline

  1. resolved Dec 29, 2021, 01:13 AM UTC

    発生時刻:2021/12/29 07:39:01(JST) 復旧時刻:2021/12/29 08:37:00(JST) 影響範囲: ・obniz.com, api.obniz.comへのHTTPリクエスト(デバイス接続リクエストを含む) 非影響範囲: ・すでに接続中のデバイスとの通信(全デバイスのうち約70%) 原因:収容サービスのロードバランサの障害 対策:障害回復までの間にロードバランサとDNSを変更することにより早期復旧を行いました 【デバイスへの影響の詳細】 obniz.comはユーザーだけでなくデバイスやSDKも接続しに来るドメインとなっており、新規の接続リクエストが行えなくなっていました。 そのためその時間帯の新規に電源を投入したもの、またはネットワークに再接続したものに関してバランシングされずに 接続できない問題が発生しました。 これはすでに接続中のデバイスやSDKには影響がなく全接続台数のうち約70%のデバイスとそれを操作するSDKには影響がありませんでした。 また、api.obniz.comも同様の影響を受けたためapp-sdkを用いたサービスにおいてはその期間のAPIでの情報取得が行えず新規デバイス追加や削除が検知できず、SDK内に保持した情報において運用される状態となりました。 【ユーザーへの影響の詳細】 obniz.comおよびapi.obniz.comへのすべての新規アクセスが行えない状態となったため、開発者コンソールを含めログインできない状態となりました。 より詳細な経緯、今後の対策などについてはPostmortemの項目をご覧ください。

  2. postmortem Dec 29, 2021, 01:14 AM UTC

    **2021/12/29 07:39:01\(JST\)** obniz社が利用しているサーバーサービスのロードバランサに障害が発生、その結果 [obniz.com](http://obniz.com), [api.obniz.com](http://api.obniz.com) への新規アクセスが不可となりました。 マシン自体の障害がなかったため、DNSの設定を変更しロードバランサを回避するように設定することで\(8:25\)一時的に回避。 **2021/12/29 08:37:00\(JST\)** すべてのドメインへのアクセスを復旧しました **今後の対策** サーバーサービスのロードバランサの障害は発生しても弊社で修復することが難しいため、その問題が発生しても回避できるシステム構成が今後の対策となります。 2リージョンにまたがる広域ロードバランシングの実施で高い確率で解決可能です。また、デバイス接続の重要度が高いため、デバイス接続ではデバイス自身へのバランシング機能を実装することでロードバランサの影響を回避することが可能となります。 特に後者の対策がサービスに依存せず接続性を担保可能なため、次期リリースのobnizOSに搭載いたします。