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

IoT デバイス監視から始める SRE / SRE starts with IoT devic...

IoT デバイス監視から始める SRE / SRE starts with IoT device monitoring

Genki Ogasawara

March 07, 2025
Tweet

More Decks by Genki Ogasawara

Other Decks in Technology

Transcript

  1. ⾃⼰紹介 Genki (⼩笠原 元気) 北海道ガス株式会社(2017〜) ・Job, Role フロントエンド・バックエンドエンジニア 開発チームのリードエンジニア 北ガスの賃貸

    EFUTE の防災システム設計 最近興味があること︓Engineering Manager @geivk 2 Copyright Hokkaido Gas Co.,Ltd. All rights reserved.
  2. 注意事項 • IoT プロジェクトのため、デバイスに関する話が中⼼です。 • 既存の SRE とは少し違うアプローチで実施しています。 • そのため通常の

    SRE の⽂脈で使われる⽤語はあえて避けています。 • 資料は SpeackerDeckで公開します︕ 3 Copyright Hokkaido Gas Co.,Ltd. All rights reserved.
  3. 北海道ガス株式会社 主要事業内容 本社所在地 従業員数 沿⾰ 1911年 設⽴ ガス事業 電気供給事業 ガス機器販売

    851名 札幌市東区北7条東2丁⽬1-1 売上⾼ 1,738億円(連結) 2024年3⽉末時点 お客さま 件数 ガス︓604,329件 電⼒︓254,956件 会社概要 6 Copyright Hokkaido Gas Co.,Ltd. All rights reserved.
  4. 業務⽤省エネサービス「Mys3(ミース)」 • 多額の初期投資が必要 • 既設設備の停⽌期間や⼤掛かりな⼯事が必要 • 中⼩規模向けの選択肢(少機能・低価格)が少ない。 Make your smart

    solution service Mys(ミース): スウェーデン語で“楽しい・⼼地よい” の意 最新の技術を活⽤した多様なサービスで、お客さまの楽しい・ ⼼地よいを創造する意図を込めている。 業務⽤のお客さまで省エネ設備を導⼊する際の課題 こうしたお客さまの課題を、デジタル技術を⽤いて解決 北ガスグループ 独⾃開発 7 Copyright Hokkaido Gas Co.,Ltd. All rights reserved.
  5. 8 「Mys3(ミース)」i-Ch / REM 常時計測・監視、 ⾃動で省エネ制御 セントラル空調機器 当社クラウドシステム 冷温⽔(往) 冷温⽔(還)

    アタッチメント型 制御ユニットを設置 計測データの⾒える化 遠隔制御 吸収式冷温⽔機遠隔省エネサービス 当社クラウドシステム 計測データの⾒える化 CO2/温度/湿度 データ CO2・温湿度可視化サービス Copyright Hokkaido Gas Co.,Ltd. All rights reserved.
  6. SRE: これまでやってきたこと • CI/CD パイプライン構築によるデプロイ職⼈(私)の卒業 • コンテナの B/G Deploy の検証

    • デバイス登録作業の⾃動化 • 制御デバイスのエラー検知 • センサーデータ(冷温⽔温度)の異常値を監視する仕組みの構築 • サーバレスアプリケーションのモニタリング Copyright Hokkaido Gas Co.,Ltd. All rights reserved. 10
  7. SRE: これまでやってきたこと • CI/CD パイプライン構築によるデプロイ職⼈(私)の撲滅 • コンテナの B/G Deploy の検証

    • デバイス登録作業の⾃動化 • 制御デバイスのエラー検知 • センサーデータ(冷温⽔温度)の異常値を監視する仕組みの構築 • サーバレスアプリケーションのモニタリング Copyright Hokkaido Gas Co.,Ltd. All rights reserved. 11
  8. 信頼性: お客さまがこのサービスに求めること • セントラル空調機器の省エネが続けられる • 制御デバイスが故障しても、冷暖房の利⽤に影響がない • 温湿度や CO2 が正確に測られている

    • 制御デバイスが正常に動いている • 制御デバイスのエラーや、物理的な故障を早く検知する 14 Copyright Hokkaido Gas Co.,Ltd. All rights reserved. デバイスの設計 で解決 監視で解決
  9. 信頼性: お客さまがこのサービスに求めること • セントラル空調機器の省エネが続けられる • 制御デバイスが故障しても、冷暖房の利⽤に影響がない • 温湿度や CO2 が正確に測られている

    • 制御デバイスが正常に動いている • 制御デバイスのエラーや、物理的な故障を早く検知する 15 Copyright Hokkaido Gas Co.,Ltd. All rights reserved. デバイスの設計 で解決 監視で解決
  10. 信頼性: お客さまがこのサービスに求めること(再掲) • セントラル空調機器の省エネが続けられる • 制御デバイスが故障しても、冷暖房の利⽤に影響がない • 温湿度や CO2 が正確に測られている

    • 制御デバイスが正常に動いている • 制御デバイスのエラーや、物理的な故障を早く検知する 19 Copyright Hokkaido Gas Co.,Ltd. All rights reserved. デバイスの設計 で解決 監視で解決
  11. 21 アーキテクチャ Copyright Hokkaido Gas Co.,Ltd. All rights reserved. 運⽤監視

    可視化画⾯ 運⽤管理画⾯ お客さま画⾯ データ連携 分析 保存 状態管理 収集・処理 ネットワーク 機器接続 AWS IoT Core AWS Lambda DynamoDB IoT Shadow Amazon API Gateway AWS Amplify 認証・認可 Amazon Timestream クエリ 遠隔指令 お客さま 管理者 Amazon Data Firehose S3 VPC AWS Fargate 外部連携 ゲートウ ェイ ⽣データ センサー値 Cognito Aurora Serverless 4G/LTE 連携 SORACOM APIなど インターネット 設定値 AWS CDK 制御対象 デバイス QuickSight 短期データ 中⻑期データ AWS X-Ray
  12. SRE に取り組み始めた当初のチームの状況 • ⼈のリソースが少ない 開発+運⽤を4⼈チームで実施、その他業務と兼務あり • 初⼼者がボトムアップではじめたプロジェクト =チームの中に、熟練した運⽤スキルを持った⼈がいない • プロジェクトを構成するクラウドサービスが多い

    新しく⼊ってきたメンバーの認知負荷がとても⾼い (メンバーにはエンジニアのバックグラウンドなし) • 実際の運⽤を想像できないまま構築したシステムが存在 • リアーキテクトは現実的ではない → ビジネス視点で監視する指標を考える Copyright Hokkaido Gas Co.,Ltd. All rights reserved. 22
  13. 24 アーキテクチャ Copyright Hokkaido Gas Co.,Ltd. All rights reserved. 運⽤監視

    可視化画⾯ 運⽤管理画⾯ お客さま画⾯ データ連携 分析 保存 状態管理 収集・処理 ネットワーク 機器接続 AWS IoT Core AWS Lambda DynamoDB IoT Shadow Amazon API Gateway AWS Amplify 認証・認可 Amazon Timestream クエリ 遠隔指令 お客さま 管理者 Amazon Data Firehose S3 VPC AWS Fargate 外部連携 ゲートウ ェイ ⽣データ センサー値 Cognito Aurora Serverless 4G/LTE 連携 SORACOM APIなど インターネット 設定値 AWS CDK 制御対象 デバイス QuickSight 短期データ 中⻑期データ AWS X-Ray
  14. 信頼性を⾼めるための重要な指標は何か︖ 指標 • 制御デバイスに異常が発⽣していることを知りたい → 制御デバイス、センサーの故障やエラーの発⽣ (セントラル空調機器の故障やエラーが発⽣) • 通信異常が起きていることを知りたい →

    制御デバイスから送信されるセンサーデータの数 • 制御異常が起き、冷暖房温度が異常である → 制御デバイスから送信される計測温度の最⼩値 → 制御デバイスから送信される計測温度の最⼤値 Copyright Hokkaido Gas Co.,Ltd. All rights reserved. 25
  15. 信頼性を⾼めるための重要な指標は何か︖ ⽬標 • セントラル空調機器の故障が起きていない • 制御デバイスの故障やエラーが起きていない • 3時間あたりのセンサーデータの数 => 60

    • 30分間で 7 < 計測温度(MIN) かつ 計測温度(MAX) < 60 即時的な指標 時系列の指標 AWS IoT Device Shadow Grafana Alerting Copyright Hokkaido Gas Co.,Ltd. All rights reserved. 27
  16. ⽬標を達成するための監視パターン(再掲) ⽬標 • セントラル空調機器の故障が起きていない • 制御デバイスの故障やエラーが起きていない • 3時間あたりのセンサーデータの数 => 60

    • 30分間で 7 < 計測温度(MIN) かつ 計測温度(MAX) < 60 即時的な指標 時系列の指標 AWS IoT Device Shadow Grafana Alerting Copyright Hokkaido Gas Co.,Ltd. All rights reserved. 29
  17. AWS IoT Device Shadow • AWS IoT Shadow デバイスと同期される JSON

    とその 周辺の予約トピック • さまざまな予約トピックが⽤意されて おり、トピックを通じてデバイスと やりとりする • IoT Rule でこのトピックにメッセージ が来たら◦◦する、ができる 30 Copyright Hokkaido Gas Co.,Ltd. All rights reserved. { “mode”: “auto”, “temp”: 10, ... } $aws/… /shadow/update $aws/… /shadow/update/delta Publish Subscribe 制御信号変更 IoT Device Shadow
  18. IoT Rule • AWS Lambda • Amazon DynamoDB • Amazon

    Data Firehose • AWS Simple Queue Service (SQS) • AWS Step Functions etc. Fan-out パターン →IoT Rule でトピックから複数の出⼒可 ◆ Step Functions → AwsCallService ◆ DynamoDB →DynamoDB Streams ◆ SQS → EventBridige Pipes 31 IoT Rule 各サービスに メッセージを転送できる topic/xxx/yyy/zzz Copyright Hokkaido Gas Co.,Ltd. All rights reserved.
  19. AWS IoT Device Shadow の監視 • セントラル空調機のエラー信号をキャ ッチできる配線をつなげておく • エラーが発⽣したらIoT

    デバイスから IoT Shadow の予約トピックへ メッセージを送信 ”machineError”: false → true 32 Copyright Hokkaido Gas Co.,Ltd. All rights reserved. { “sensorError”: false, “machineError”: false, ... } $aws/… /shadow/update $aws/… /shadow/update/delta 故障信号発報 Publish ❌ IoT Device Shadow
  20. AWS IoT Device Shadow の監視 • IoT Shadowが変更されるので、予約 トピック …/delta

    に Publish 33 Copyright Hokkaido Gas Co.,Ltd. All rights reserved. { “sensorError”: false, “machineError”: true, ... } $aws/… /shadow/update $aws/… /shadow/update/delta Publish 故障信号発報 Publish IoT Device Shadow
  21. AWS IoT Device Shadow の監視 • IoT Rule で、…/delta を

    Subscribe し ておき、Lambda を連携する • Lambda から Slack の Incoming Webhook でエラーを通知する 34 Copyright Hokkaido Gas Co.,Ltd. All rights reserved. { “sensorError”: true, “machineError”: false, ... } $aws/… /shadow/update $aws/… /shadow/update/delta AWS Lambda Slack 管理者 IoT Rule IoT Device Shadow Publish
  22. ⽬標を達成するための監視パターン(再掲) ⽬標 • セントラル空調機器の故障が起きていない • 制御デバイスの故障やエラーが起きていない • 3時間あたりのセンサーデータの数 => 60

    • 30分間で 7 < 計測温度(MIN) かつ 計測温度(MAX) < 60 即時的な指標 時系列の指標 AWS IoT Device Shadow Grafana Alerting Copyright Hokkaido Gas Co.,Ltd. All rights reserved. 35
  23. Grafana Alerting による監視 • Grafana (OSS) をセルフホストで利⽤ • Grafana を

    IoT センサーデータの監視に利⽤ • PoC のとき SORACOM Lagoon ( SORACOM ホストの Grafana )を 使⽤しており相性が良さそうだった 36 Copyright Hokkaido Gas Co.,Ltd. All rights reserved. Amazon ECS Cluster AWS Fargate Amazon DynamoDB Amazon Timestream Amazon API Gateway (Private API) AWS Lambda
  24. Grafana Alerting による監視 • 制御デバイスの通信遮断により データが送信されないことがある → 能動的に⾒る必要がある • データのカウント数

    →制御デバイスの死活監視 • 計測温度の最⼩値 • 計測温度の最⼤値 → 異常状態ではないか、監視 • エラー状態になったら、Slack へ発報 37 Copyright Hokkaido Gas Co.,Ltd. All rights reserved. Slack 管理者 Alert rules - Temp(min) < 7 || 60 < Temp(max) - Count(data) < 60 Notification policy Contact point = Slack
  25. SRE に取り組み始めた当初のチームの状況(再掲) • ⼈のリソースが少ない 開発+運⽤を4⼈チームで実施、その他業務と兼務あり • 初⼼者からボトムアップでできたプロジェクト =熟練した運⽤スキルを持った⼈がチームいない • つらみ︓プロジェクトを構成する要素が多すぎる

    新しく⼊ってきたメンバーの認知負荷がとても⾼い (メンバーにはエンジニアのバックグラウンドなし) • 実際の運⽤を想像できないまま構築してしまった • リアーキテクトは現実的ではない → ビジネス視点で監視する指標を考える Copyright Hokkaido Gas Co.,Ltd. All rights reserved. 40
  26. SRE の失敗1: いきなり SRE • チーム内で開発・運⽤どちらも実施するので、全員でやりたかった • エンジニア教育がない → 広範なサーバレスアーキテクチャを理解するのに時間がかかる

    • 兼業のためリソースのない中で全員で SRE を進めるのはかなり厳しかった • 毎週1時間 SRE の時間をとっていたが、⽴ち消え Copyright Hokkaido Gas Co.,Ltd. All rights reserved. 41
  27. SRE の失敗1: いきなり SRE<改善策> • ビジネスでクリティカルな影響が起きるところに絞って、特に Grafana で⾒ ることができるセンサーデータのみに着⽬することにした •

    メンバーには、スプリントタスクまで落とし込んでから SRE にかかわるタス クとして実施してもらうことにした Copyright Hokkaido Gas Co.,Ltd. All rights reserved. 42
  28. SRE の失敗2︓オブザーバビリティの取り組み • サーバレスアーキテクチャのオブザーバビリティを導⼊していなかった • API Gateway のエラー発⽣時 • Lambda

    のエラー数が⼀定を超えた場合 • CloudWatch ダッシュボードを作成 • CloudWatch Alarm を設定 • Slack に通知をする 計測は始めたが、意味のある指標かどうか判断せず計測しているだけ Copyright Hokkaido Gas Co.,Ltd. All rights reserved. 43
  29. Future works • ゲートウェイ・AWS・Grafana とみるべきものが散らばっていることが課題 初⼼者にはハードルが⾼く、なかなかチームに浸透しない → 統合的なオブザーバビリティ基盤の構築 • IoT

    ゲートウェイの内部状態の監視 • インシデントレスポンスのフロー確⽴ • お客さまとのコミットメント: 省エネ率の可視化 → ビジネス指標とセンサーデータとの関連付け・常時可視化 Copyright Hokkaido Gas Co.,Ltd. All rights reserved. 46