【AWSオンラインセミナーメモ】AWS IoT

 昼休みに聴講していたのですが、チームメンバーからの問い合わせ対応などで2~3割聞けておりません。。。が、自分へのメモも兼ねて投稿させていただきます。

証明書の持ち方について

  • Thing: AWS IoT と通信するもの。これが証明書を持つべき。
    • 大量のセンサーがそれを司るネットワーク機器にぶら下がっている場合、その機器を Thing と捉える
  • Just in time registration
    • 事前に AWS IoT に証明書を登録しておくことで、デバイスからの初回アクセス時に証明書がアクティベートされる
    • 証明書のアクティベートが完了するまでは、必ず通信がエラーになることに注意
    • (聴き逃し)
      • 工場でのHW作成と証明書の方式について、何パターンか説明されていました
    • プロジェクトの最初からデバイスの管理方式を決めておくのがポイント
    • 何かあったときに出荷済の機器に対しても、クラウドから Thing をコントロールする術を用意しておくことが大事

IoT デバイスのグルーピング機能: Thing Group

  • 現在は、Group名の変更ができない、階層(Hierarchy)の変更はできないなどの制約がある
  • これまで DynamoDB でデバイスの状態を管理する設計が推奨されていたが、
    • 全てのデバイスの shadow を更新する必要があった
    • 結果として、大量の(デバイスの数だけ)APIコールが必要だった
    • DynamoDB の write ユニットも大きくしないといけなかった
  • Thing Group を定義しておきことで、例えば「LEDだけに配信したい」というオペレーションができるようになった
  • ステータス管理機能もあるので、AWS IoT で完結する方式にできるようになった

Jobs

  • Job 方式
    • Snapshot: Jobを作成したタイミングに存在する thing が対象
    • Continuous: Job を作成したあとも Group に Thing が追加されると通知される。
  • 作成された Job は 90日間有効
  • Job は作成されたら即時実行されてしまうので、夜間に発火させたいときは、cron などで「Job作成」を行う必要あり
  • 簡単にテストする方法が紹介されています
  • 1分に何台まで通知するかの上限を決めることも可能(現在は最大でも1,000台まで)

まとめ

 AWS IoT はなかなか個人では使うチャンスがないサービスなので、キャッチアップのためのいい機会になりました。とはいえ、どこかで実際に使ってみたいです。いい機会を探ってみたいと思います。