Upgrade to Pro — share decks privately, control downloads, hide ads and more …

〜備えあれば憂いなし〜とりあえず障害訓練やろ? デジタル/フィジカル横断プロダクトを24365...

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

〜備えあれば憂いなし〜とりあえず障害訓練やろ? デジタル/フィジカル横断プロダクトを24365で維持するための戦略 / Better Safe Than Sorry: Incident Drills for 24/365 Digital-Physical Products

登壇者名:Ryo Sasaki
登壇したイベントタイトル:〜備えあれば憂いなし〜とりあえず障害訓練やろ? デジタル/フィジカル横断プロダクトを24365で維持するための戦略
登壇したイベントのURL:https://kaigi.cloudnativedays.jp/

More Decks by 株式会社ビットキー / Bitkey Inc.

Other Decks in Technology

Transcript

  1. 佐々木 了 Ryo Sasaki 2012/04 2017/07 某 通信系SIer 入社 ・元々はNWエンジニアだったので

    BGP使った他拠点 NW作ったりとか ・自治体とか官公庁系システムに携わったりすることが多かったかな ・橋梁点検ロボット開発やったりとか フリーランスに転向 ・ペネトレーションテストやったりとか ・OpenStatkとOpenShift結構やってたりとか ・ハイブリッドクラウド作ったりとか ・工事現場DXのサービス作って運営したりとか ・HWスタートアップのプロトタイピングやったりとか 2021/11 ビットキーにジョイン ・IoT Develop - Team Manager ・Prototyping Lab - Principal Engineer Principal Engineer 静岡ホビーショーで発表されたウ ルトラザウルスと 20式GBB 絶対買います
  2. 6 会社情報 会社名 設⽴ 代表 所在地 株式会社ビットキー (英⽂表記:Bitkey Inc.) 2018年5⽉16⽇ 寳槻

    昌則(代表取締役社⻑ CEO) 福澤 匡規(取締役副社⻑ CRO) 東京本社 〒104-0031 東京都中央区京橋3-1-1 東京スクエアガーデン9F ⼤阪オフィス 〒541-0046 ⼤阪府⼤阪市中央区平野町2-3-7 アーバンエース北浜ビル 1階 宮崎オフィス 〒 880-0001 宮崎県宮崎市橘通⻄ 3-10-32 宮崎ナナイロ東館 8F 資本⾦ 22,912,688,300円 (2025年12⽉31⽇時点 資本準備⾦を含む) ⼦会社 パレットクラウド株式会社
  3. 16 お客様の広がりに合わせて、商品‧サービスも多⾓化 スマート化できる場所 共⽤部 多様な解錠⽅法 スマートアクセス 専有部 スマートサービス 暮らしサービス ‧家事代⾏

    ‧ペットシッター ‧ベビーシッター ‧クリーニング ‧宅配 ‧⾷材配送 ‧飲料⽔配送 ‧集荷 ‧ライフライン料⾦ 共通 ‧外部サービス連携 ‧ID連携 ‧データ連携 homehubビジネスエンジン ‧賃料 ‧管理費 ‧請求‧⽀払い ‧未収⾦の料⾦計算 ‧会計連携 ‧決済連携 (クレジット‧請求書‧⼝座振 込) スマートフォンアプリ 顔認証 ‧WEB会議 ‧議事録 ‧録画 ‧アジェンダ ‧出⽋管理 ‧議案作成 ‧投票 / 集計 WEBカンファレンス デジタル申請 スマートファシリティ ‧居住者情報 ‧転居届け ‧駐輪場 ‧駐⾞場 ‧⼊居契約 ‧宅配ボックス ‧宅配ロッカー ‧TVスティック ‧IoTリモコン ‧キーボックス ‧配信 ‧掲⽰板 ‧ファイル共有 ‧イベント ‧アンケート コミュニティ ポータル 共⽤施設管理‧運営 ⾒守り‧駆けつけ ‧施設予約 ‧備品予約 ‧レセプション ‧スマートキー連携 ‧デジタル決裁 ‧WEB会議ブース ‧bitbutton ‧リモート通知 ‧リモート解錠 ‧駆けつけ連携 ‧異常検知 ‧外部システム連携 ‧有⼈チャット ‧チャットボット ‧お知らせ ‧アンケート ‧FAQ ‧グループチャット ‧LINE連携 コミュニケーション 管理員業務DX 内⾒効率化 ‧点検 ‧報告 ‧スマートキー解錠 ‧リモート解錠 ‧チャット ‧物件管理 ‧内⾒予約 ‧スマートキー連携 ‧ワンタイムパス ‧遠隔解錠 ‧キーボックス ‧外部連携 テンキー カードキー 遠隔解錠 事例集はこちらから!
  4. homehubシリーズにおけるプロダクト開発の軌跡 Home 2020年 2021年 2022年 共通 理事会‧総会⽀援 コミュニティ 施設予約 イベント

    スマートロック 顔認証 基幹データ連携 ID連携 鍵‧チケット管理 内⾒予約管理 アナウンスメント 建物‧物件管理 契約管理 FAQ WEB会議 掲⽰板 宅配ボックス 宅配事業者連携 EVERING連携 さらなる 拡張 正式提供開始 分譲管理 賃貸管理 さらなる 拡張 暮らしサービス デジタル申請 ⾃宅査定 Work Booth and more… 理事会‧総会⽀援 コミュニティ 施設予約 イベント スマートロック 顔認証 基幹データ連携 ID連携 鍵‧チケット管理 内⾒予約管理 アナウンスメント 建物‧物件管理 契約管理 FAQ WEB会議 掲⽰板 デジタル申請 ⾃宅査定 スマートロック 顔認証 鍵‧チケット管理 内⾒予約管理 契約管理
  5. スマートビルディング化が可能に。ビル内の共⽤部から専有部までのスマートアクセス化 やビル受付の無⼈‧⾮対⾯化により、ビルの管理業務負担を軽減できます。 たとえば、オフィスで働く社員に向けて どこでも顔パス、1アプリでシームレスに働く事が可能に。顔でビルエントランスからオ フィスへの⼊室までできたり、会議室の即時予約も。事前にアプリで座席を予約すると、 予約に応じて必要なドアの鍵の解錠も可能になります。 たとえば、オフィスを管理するビルオーナーに向けて 多くの「働く」場所でworkhubが使われています オフィステナント ワーカー

    ビル(オーナー) テンポラリーユース フレキシブルオフィス 働き⽅に、⾃由とパワーを 仕事に必要な環境、ワークスペース。そこにはルールや⼿続きが数多く存在します。 オフィス空間はもちろん、コワーキングスペースやシェアオフィスなど、あらゆる 「働く空間」と「⼈やしごと」を、洗練された⽅法でつなぎます。 たとえば、コワーキング事業者に向けて ⼊会受付から⽇頃の運営まで無⼈対応可能に。オンラインでの⼊会受付、プラン選択に 応じた決済まで対応し、利⽤者は即⽇顔認証で⼊室することも可能。 全て無⼈で対応できます。
  6. 働き⽅に合わせて、商品‧サービスも多⾓化 Bitkey work booth ブース本体、 部屋前端末、 スマートロック、 予約‧管理‧ 決済SaaS同梱の ブースパッケージ

    iPad fully managed model workhubアプリを iPad上で利⽤する際 に 初期設定〜運⽤監視 等 ⾏うパッケージサー ビス ソリューション全体 の 管理ソフトウェア ⼈、モノ、空間、 ロジック等を⼀元管 理 workhub Cloud ワンタイムや期間指 定でロッカーのデジ タルキーを付与した りシェアできるソフ トウェア workhub Reservation for locker 会議室やブースの 予約‧管理 ソフトウェア PCからだけでなく 部屋前端末で 予約‧利⽤も可能 workhub Room Support bitlock Starter Kit スマートロック、 リーダー、 通信⽤中継機器、 管理SaaSの同梱された セキュリティパッケー ジ workhub Hotelling Option 座席予約、 チェックイン デジタルキー付与、 出社状況や位置情報 の可視化を実現 顔認証オプション 顔認証で さまざまな処理を⾏ う ソフトウェア 解錠、チェックイ ン、 予約等を「顔パス」 で実⾏ bitlock GATE 制御盤/コントローラ との無電圧接点での 連携により、施錠解 錠を実現するモ ジュール workhub Rececption 来訪者受付‧ 管理ソフトウェア。 来訪者コード発⾏か らチェックイン‧ アクセスを担う workhub Business platform 会員‧契約管理、 予約、カギ発⾏、 課⾦、請求、決済含 む 運営管理パッケージ workhub People count カメラにより、 フロアやエリア等の 対象空間内に在居す る⼈をカウントし、 混雑状況を可視化 ビーコンデバイス for workhub どこに誰が どの時間いるかを BLE通信で測定し 施設の利⽤状況を 可視化するための ビーコン 事例集はこちらから!
  7. workhubシリーズにおけるプロダクト開発の軌跡 共通 会員向け検索予約 契約‧会員管理 決済エンジン 請求‧⼊⾦管理 スマートロック 受付 顔認証 スマートロッカー

    混雑判定 スマートロック 受付 顔認証 制御盤連携 会議室予約 位置検知 スマートロッカー 混雑判定 BACNet連携 座席予約 稼働率レポート マルチテナント エレベーター ビル総合受付 会員向け検索予約 契約‧会員管理 決済エンジン 請求‧⼊⾦管理 スマートロック 受付 顔認証 制御盤連携 会議室予約 位置検知 スマートロッカー 混雑判定 BACNet連携 座席予約 稼働率レポート マルチテナント エレベーター ビル総合受付 個室ブース運営 パブリックアカウント 地図で検索 ⽬的で検索 正式提供開始 フレキシブルオフィス オフィステナント テンポラリーユース ビル(オーナー) Workspace 2020年 2021年 2022年 さらなる 拡張 さらなる 拡張
  8. 34 とりあえず障害訓練やろ? 実例の話: スマートビルディング • すぐにエスカレ • 先方ご担当者に連絡 -> 特に停電などの作業はなし

    • 緊急事態と判断 -> 現地対応を決定 • 午後にはカスタマーサクセス担当メンバーが現地到着
  9. 38 • HW/オンプレが絡んでくる -> 障害点は多い とりあえず障害訓練やろ? なぜ障害訓練が必要だったのか API Cloud Load

    Balancing Cloud Run Cloud Functions Database AlloyDB Firestore Contents Cloud Storage frontend(SPA) Firebase hosting RUM Logs dd-agent Cloud Run APM Logging Error Tracking Monitor BLE BLE BLE
  10. 39 とりあえず障害訓練やろ? API Cloud Load Balancing Cloud Run Cloud Functions

    Database AlloyDB Firestore Contents Cloud Storage frontend(SPA) Firebase hosting RUM Logs dd-agent Cloud Run APM Logging Error Tracking Monitor BLE BLE BLE • ざっくり黄枠で囲ってみても ... これだけある。細かく言えばもっとたくさん! なぜ障害訓練が必要だったのか
  11. 40 とりあえず障害訓練やろ? • どこかのログを見れば解決するわけじゃない • そもそもまともにログやメトリクスがない / 欠けていることも珍しくない ◦ HWのバッテリーがなくなっていたら何もログはない

    ◦ 外からはバッテリー切れなのか、電波が悪いのか、中継NWが悪いのか、そもそ もクラウド側に問題があって異常なペイロードを投げてしまっているのか... などは わからない なぜ障害訓練が必要だったのか ログ ログ ログ ログ 現地環境の場合 まともなログはもらえないと考えるべき
  12. 42 とりあえず障害訓練やろ? • 経験が増えてくれば、アタリをつけやすくなるし、調査方法もわかってくる • でも、皆が皆その能力をすぐに身につけられるわけじゃない • “強い誰か” が24時間365日対応してくれるわけじゃない なぜ障害訓練が必要だったのか

    XXの時間でAのFWログが 何もない... ここまではReqは届いてるっぽいが、 変換して次の無線通信の Resがなさそう この時間帯でIoTの アップリンクは無事そう Request Payloadは 正常に見える
  13. 43 とりあえず障害訓練やろ? • 経験が増えてくれば、アタリをつけやすくなるし、調査方法もわかってくる • でも、皆が皆その能力をすぐに身につけられるわけじゃない • “強い誰か” が24時間365日対応してくれるわけじゃない •

    なぜ障害訓練が必要だったのか XXの時間でAのFWログが 何もない... ここまではReqは届いてるっぽいが、 変換して次の無線通信の Resがなさそう この時間帯でIoTの アップリンクは無事そう Request Payloadは 正常に見える 障害訓練によって、メンバーの運用スキルベースラインを 一定程度揃えることができる。 複数の技術コンポーネントが入り組んだアーキテクチャの中で より信頼性を高めることができる。
  14. 49 とりあえず障害訓練やろ? 障害訓練の効能: 信頼設計の効果検証 • 20年前ならいざ知らず、現代なら何かしらの冗長構成により 信頼性を向上する何かしらの術を講じているはず ◦ リアルなアプリケーションが動いてる中で、それらがどう機能するか? ◦

    単に切り替わればいいってもんじゃない ・本当にこれが”今”動くのか? ・期待するダウンタイムで収まるのか? ・デッドロックやセッション不整合など 何かしらの不具合は発生しない? “インフラ的に大丈夫 ” でも、 アプリケーション踏まえて本当に大丈夫?
  15. 50 とりあえず障害訓練やろ? 障害訓練の効能: 潜在的な脆弱性の発見 • ここでいう脆弱性というのはセキュリティ的な意味合いに限らない • え!? そこそうなっちゃうの?? うわー

    ここ落ちるじゃん... みたいひっそりした障害点は、レビュー段階だとなかなか気付けない • 大体のシステムはどんどん増築工事が行われて肥大化 していく • その中で増築のつなぎ目 の部分は盲点になりがち • しかしながら地震が起きればそのつなぎ目から壊れる
  16. 51 とりあえず障害訓練やろ? 障害訓練の効能: モニタリング/アラーティング改善 • 障害に如何にして早く気づくか?適切にそれが伝わるか? • 一次対応に際して十分な情報を迅速に手に入れられるか? • 実際に訓練をやってみると、足りない!となるはず

    • ただし、足せばいいっていうわけじゃない • 多すぎるアラートは時に障害を霧の中に隠してしまう • ここでいう改善というのは、追加するだけでなく、消す/変える というのも含む すごく大事
  17. 52 とりあえず障害訓練やろ? 障害訓練の効能: ランブックの妥当性検証 • あります? あったとして整備/更新してます? • 「いつでも誰でも一定程度対応できるように」という点でランブックは有用 •

    やってみりゃわかる、そのランブックが本当に意味あるのかどうか • また、ランブックを作る過程で自分たちを見つめ直すことになり、 そこで学ぶことも多い • 「あ、最近修正したXXの部分、ランブック古いわ・・・!」
  18. 53 とりあえず障害訓練やろ? 障害訓練の効能: MTTD / MTTRの改善 • まぁ正直これが一番と言ってもいいかもしれない • 障害に早く

    気づけるよ うになる • 障害を早く 対処できる ようになる • もうこれは純粋に 目の前の困ってるお客様のためになる
  19. 54 とりあえず障害訓練やろ? 障害訓練の効能: チームの対応力の向上 • 結局、これはMTTRの短縮につながる話なのだけど... • ジュニアレベルであったり、あるいはチームにジョインしたばかりだと、 とにかく障害は怖い /

    何すればいいかわからない • 実際に発生した障害 / リアルにあり得る障害を 何度も経験することで、だんだん慣れてくる • これは実際に効果てきめん! と実際に聞いたし、 過去を振り返れば自分もそう 何かアラートでてるけど... どうすりゃええんや? 無視してええんか? 先月ジョインしたAさん このアラート、この間の 障害訓練でやったやつだ。 一次対応やってみよう。 先月ジョインしたAさん
  20. 59 とりあえず障害訓練やろ? 実例紹介: 運用ルール: 訓練設計 • オブザーバーと訓練チームを分ける ロール名 やること オブザーバー

    ・障害の発生時刻や内容の決定 ・当日の障害発生操作 ・障害対応の報告やその他訓練を円滑に進めるための相談 訓練チーム ・障害の検知 ・検知した障害の対応 ・オブザーバーへの報告や相談
  21. 60 とりあえず障害訓練やろ? • 訓練日を定めて事前に連絡はするが、具体の障害発生時間は秘密 ◦ ただし日中時間帯のみとし、深夜/早朝の実施はしない • トリガーは2パターン ◦ アラート発報

    -> 対応開始 ◦ Slackで顧客からの報告があったことを連絡 -> 対応開始 ① ② 原則こっち 障害特性によっては 敢えてこっち 実例紹介: 運用ルール: 訓練設計
  22. 69 とりあえず障害訓練やろ? 実例紹介: 運用ルール: 改善活動 ログ 増やす / 減らす /

    文言を変える / contextを足す メトリクス 項目を増やす / 頻度を変える トレース スパンを増やす / 幅を変える / 属性を増やす アラート 増やす / 減らす / 文言を変える / 条件を変える ドキュメント 新しく書く / 文章をわかりやすく変える / 関連資料をリンクする インフラ 構成を変える / params調整 (あまりに多岐にわたるので割愛) コード イジる (あまりに多岐にわたるので割愛)
  23. 71 とりあえず障害訓練やろ? 実例紹介: 運用ルール: 効果検証 • 同じテーマで原則2回は実施する • ポストモーテム ->

    改善活動の効果検証をする ◦ 前回露見したペインを解決できているか ? ◦ 迅速に障害に気づけるか? ◦ スムーズに一次対応を開始できるか? ◦ コミュニケーションに問題はないか? • もちろん障害内容によっては そもそも発生しない ように改善されてるかどうか が最重要
  24. 73 とりあえず障害訓練やろ? 障害訓練テーマ設定 • 一番大変なのはテーマ設定 あるいは、そのテーマを実現するための手段の設計 • まずはインフラにフォーカスして”わかりやすいやつ ”をやってみよう ◦

    インスタンスが止まった! RDBに一時的に接続できなくなった! etc. ◦ 後述するが、そういう系はツールがあるので始めやすい • ちゃんとそのへんも意識して作ったよ! ◦ 最近それ試した? 気づける?それが起きた時に現メンバーは皆、対処できる? 何かアラートでてるけど... どうすりゃええんや? 無視してええんか? 先月ジョインしたAさん
  25. 74 とりあえず障害訓練やろ? 障害訓練テーマ設定 • でもさ、大体の障害ってもっと面倒だしワケわかんないよね • そのガチでありえるテーマ設定っていうのが意外と大変 • オススメは直近で発生したガチ障害の模倣 •

    ポストモーテムした内容があれば、そこでのアクションアイテムの効果を 検証する目的でやるのが良いと思う • 「こうすればよかった」内容を確かめることもできる
  26. 77 とりあえず障害訓練やろ? 障害訓練テーマ設定 • 例えば先ほどの回線契約の更新漏れのケースもそう • 実はなかなか良い障害訓練のテーマ ◦ 「実はうちは悪くない」というケースの調査 •

    真因として、うちが悪くないのはそうかもしれないが、 とはいえ、そう言い切れるまでの切り分けはしないといけない • 当然ながら早ければ早い方がいい... しかしながら絶対にミスれない 実はこれがムズい 後になってから、「実はうちが悪かったです!」なん て言うことになったらガチアウト
  27. 78 とりあえず障害訓練やろ? 障害訓練テーマ設定 • 例えば先ほどの回線契約の更新漏れのケースもそう • 実はなかなか良い障害訓練のテーマ ◦ 「実はうちは悪くない」というケースの調査 •

    真因として、うちが悪くないのはそうかもしれないが、 とはいえ、そう言い切れるまでの切り分けはしないといけない • 当然ながら早ければ早い方がいい... しかしながら絶対にミスれない 実はこれがムズい 後になってから、「実はうちが悪かったです!」なん て言うことになったらガチアウト 限られた時間の中、暗中模索を続け、 意思決定しないといけない。 そういった 証拠収集力 / 意思決定力を 訓練で鍛えることもできる。
  28. 86 Q. カオスエンジニアリングと何が違うの? 日本語と英語の違い? • うーん、自分もまだちゃんと言語化できてないっちゃできてない • 目的はほぼ同じだと思う。アプローチが違う。 • あくまで私の解釈だが、

    障害訓練は ”人と運用のリハーサル ”、 カオスエンジニアリングは “システムに対する技術実験 ” に近いかもしれない • より技術フォーカスなのがカオスエンジニアリング • その前後や至るまでの過程も含めるのが障害訓練...かな? とりあえず障害訓練やろ? 休題
  29. 90 • k8sはいくつか選択肢がある (他に比べ圧倒的に充実してる) ◦ Chaos Toolkit ◦ ChaosBlade ◦

    Chaos Mesh ◦ Krkn とりあえず障害訓練やろ? 訓練を助けるツール
  30. 92 • よって、より現実に即した”障害”となってくると既存ツールでサクッと実現!というのは 難しい • 一定程度は頼りつつも、やはり自作はだいぶ必要だと覚悟した方がいい • 実際、ビットキーにおいても、難度の高い障害になればなるほど、 HW /

    FW / オンプレ / マルチクラウドが相互に絡み合ってくる • それらを模した効果的な訓練...となると、ほぼ自作になるのが現状 とりあえず障害訓練やろ? 訓練を助けるツール
  31. 97 とりあえず障害訓練やろ? 訓練を助けるツール • アラート発報 -> Datadog MCP + Codex

    で Logs / Metrics / APM を統合して自動調査 • 約20分で調査完了 -> 原因特定, 修正PR提出 まで完了 • 手法は↑と同じ (Opus 4.6使ってたかもしれん) • 約40分かけても原因特定ならず... • というか原因特定できました!とか言いつつ、見当違いの報告ばかり • 業を煮やして自分で手動調査 -> 7分で原因特定 ① ②
  32. 98 とりあえず障害訓練やろ? 訓練を助けるツール • アラート発報 -> Datadog MCP + Codex

    で Logs / Metrics / APM を統合して自動調査 • 約20分で調査完了 -> 原因特定, 修正PR提出 まで完了 • 手法は↑と同じ • 約40分かけても原因特定ならず... • というか原因特定できました!とか言いつつ、見当違いの報告ばかり • 業を煮やして自分で手動調査 -> 7分で原因特定 ① ② 別にAI自体は悪くない。 データのラベリングが悪かった。 適切ではない属性のせいで AIが勘違いしてしまった。
  33. 99 とりあえず障害訓練やろ? 訓練を助けるツール • アラート発報 -> Datadog MCP + Codex

    で Logs / Metrics / APM を統合して自動調査 • 約20分で調査完了 -> 原因特定, 修正PR提出 まで完了 • 手法は↑と同じ • 約40分かけても原因特定ならず... • というか原因特定できました!とか言いつつ、見当違いの報告ばかり • 業を煮やして自分で手動調査 -> 7分で原因特定 ① ② こういうのもやらないとわからない。 やってこそ、あーこうすりゃもっと良くできる!って学べる
  34. 101 とりあえず障害訓練やろ? まとめ • 障害訓練は ”百利あって一害なし ” • ポストモーテムの延長みたいな感じで障害訓練やり始めてみよう •

    難しく考えるな、とりあえず何か止めてみよう • 良い訓練を模索すればするほど既存ツールには頼れないので自作すべし • AIを頼っても良いが呑まれるな! ケジメをつけるべきは常に人間だ