近年企業でのIoT 利用が活発になったことにより、デバイスの個別管理が新しい課題となっています。そこで活用したいのが、デバイスの統括管理を行うツールです。
こうしたツールを導入することによって、複数のデバイスを効率的に活用できるだけでなく、IoTによる大規模なデータの収集から、一歩進んだデータ活用も可能となります。
Google Cloud IoT Coreとは
Google Cloud IoT Coreは、複数のIoTデバイスが取得したデータを1つのプラットフォーム上でまとめて管理するツールです。個人では管理しきれない多くのデバイスを、分かりやすく効率的に運用できます。
このツールの主な活用方法は、2つです。1つは前述した複数デバイスの管理、もう1つはセキュリティの向上となります。デバイスの管理は数に制限がなく、1000個以上の大規模ビッグデータの運用も可能です。データ取得の量が多い場合やデバイスが広範囲に散らばっていても問題ありません。
さらにIoTデバイスの抱えるセキュリティの問題点も解消します。近年、IoTを標的としたサイバー攻撃が増えてきています。特に有名なのが、Miraiというマルウェアです。このマルウェアでは、IoTデバイスを乗っ取ってDDoS攻撃というサイバー攻撃の手段に使用します。そのため、企業や個人が所有しているIoTデバイスが、サイバー犯罪の道具として利用されてしまうのです。
その他にも、不正にアクセスされたデバイスから個人情報が盗み出されるなど、多くの事例が報告されています。こうしたセキュリティの脆弱性も、Google Cloud IoT Coreでは解消可能です。
Google Cloud IoT Coreの特徴
Google Cloud IoT Coreの詳しい仕組みを解説します。
デバイスマネージャー
デバイスマネージャーは、Google Cloud IoT Coreのコンポーネントの1つです。コンソールとAPIによって、IoTデバイスの管理やロールレベルのアクセス制御を行います。このツールでは、アクセス制御にPub/Subを用いており、これはイベントデータを送る「パブリッシャー」と、それを受け取る「サブスクライバー」によって構成されます。
基本的なデータの流れは、キューと似たような構造です。パブリッシャーから送られたデータ(メッセージ)は、トピックと呼ばれる部分に登録されます。そして、トピックからサブスクライバーにメッセージが流れていきます。Pub/Subではこのような一方向の流れを複数作成できるようになっており、処理の分割が可能なのです。パブリッシャーとサブスクライバーの間は非同期通信となっており、RPCよりも通信の柔軟性が高くなっています。
また、機械学習関連のサービスである「Cloud Bigtable」「BigQuery」「Cloud Dataflow」などとも統合が可能です。「Googleデータポータル」などBIツールなども利用できるため、データ解析をより高度な方法で実施でき、新しい価値の創出にも活用できます。
プロトコルブリッジ
プロトコルブリッジは、デバイスから送信されるプロトコルのエンドポイントを構成します。基本的な機能は、複数デバイス接続の負荷分散です。ツールに接続されたデバイス、ゲートウェアは、1つのグローバルシステムとして管理できます。
対象となるプロトコルは「HTTP」「MQTT」で、TLS 1.2を使用した非対称鍵認証による通信がエンドツーエンドのデータ保護を実現します。さらにCA署名証明書も使用できるため、デバイスがCloud IoT Coreのセキュリティ用件を満たしている場合には、フルスタックでセキュリティの向上が可能です。
また、デバイスとツールでは、双方向の通信が可能となっており、Pub/Subを経由した送受信が行えます。Pub/Subではデータが7日間保存される他、デバイスへのさまざまなプログラムの送信や、Cloud Schedulerを利用した定期的なメッセージ発行も行えるのです。前述した機械学習などのツールにデータの転送をすることもできます。
ここでプロトコルブリッジとPub/Subが実現する、基本的な構成を見てみましょう。デバイスからPub/Subに送信されたデータは、Cloud Functions、Dataflowに送信されます。Dataflowではデータを変換して、蓄積と解析のためにBigtableとBigQueryに送ります。そして、蓄積したデータを元に、機械学習を用いたり、可視化したりして観測と分析を行うのです。
その他の特徴
Google Cloud IoT Coreは、サーバーレスで提供されるFaaSのクラウドサービスです。サーバー管理の必要ないフルマネージドのサービスで、イベントを起点としてアプリケーションが動作する仕組みとなっています。FaaSの利点は、フレキシブルなインフラの構築が可能な点です。使用するデバイスの規模に合わせてインフラがスケーリングされるので、拡張の問題に悩まされることはありません。
また、サーバーレスですとログの確認方法が気になりますが、「Stackdriver Logging」というモニタリングのためのツールが利用可能です。これはログを効率的に収集・解説するためのサービスで、ストレージ容量管理は自動で行われて、検索システム作成などの面倒なタスクも行う必要がありません。そのため、ログの調査がすぐに簡単に使用できるようになっているのです。
Cloud IoT Coreは従量課金制なのですが、課金データの管理もこのツールで行います。課金データに料金のしきい値を設けることも可能で、超過した場合はアラートの設定もできます。
Google Cloud IoT Coreの使い方
ここではGoogle Cloud IoT Coreの使い方として、基本的なデバイスレジストリの作成方法について解説します。まずは以下の手順に沿って、開発環境を構築します。
- Goolgeアカウントを作成して、Google Cloud Consoleにアクセスします。
- Google Cloud Consoleから既存のプロジェクトの選択、または作成をします。(初めての場合は作成)
- プロジェクトの課金が有効になっているか確認します。Google Cloud IoT Coreでは、課金設定を登録していないと使用できないので注意が必要です。
- APIの有効化からIoTとPub/SubのAPIを有効にします。
- gclousコマンドを利用するためにCloud SDKをインストールします。「https://cloud.google.com/sdk/docs/install?hl=ja」を参考に導入してください。
- 「https://cloud.google.com/nodejs/docs/setup」を参考にして、Node.js環境を構築してください。
これで環境構築が完了しました。次に端末レジストリの作成を行います。
- Cloud Console からGoogle Cloud IoT Coreのページに遷移して、「レジストリを作成」を選択します。
- レジストリIDを入力してください。(my-registry)
- リージョンを「asia-east1」にします。アメリカやヨーロッパで使用する場合は、他のリージョンを選択してください。
- プロトコルをMQTTにします。
- 「デフォルトのテレメトリーのトピック」から「トピックの作成」をクリックします。
- トピックの名前を入力します。(my-device-events)
- 作成を選択します。
- Cloud IoT Coreページから「作成」を選択します。
これでデバイスレジストリの作成完了です。
DSKが提供するGoogle Cloud関連のサービス
DSKでは、Google Cloudサービスの導入・運用サポートを行なっております。「検討」「管理」「設計・開発」「運用」の4つのフェーズでサービスを提供しており、「導入するとどのくらいのメリットがあるのか知りたい」「システムを導入したいけど使い方がわからない」など、さまざまなニーズにお応えします。
今回ご紹介したGoogle Cloud IoT Coreでは、システムの構築にプログラムやコマンド入力が必要です。ITの知識があれば構築が可能ですが、知見をお持ちでないとシステムを作成することが難しいかと思います。「複数のIoTデバイスを統括して管理したいけど使い方がわからない」という場合でも、お客様が利用できるように構築・支援を行います。
また、データ分析サービスも提供しており、企業様の事業に合わせたデータの活用方法を考案することが可能です。データの収集・分析を行なってみたがうまく運用できていない、という場合もお任せください。
まとめ
Google Cloud IoT Coreは、IoTデバイスとの双方向データ通信を可能にするプラットフォームです。収集したデータは、ビッグデータとしての蓄積や機械学習・BIツールによる分析ができます。さらにデバイスにプログラムコードを送信して、遠隔操作も可能です。
とても便利なツールですが、使いこなすにはAPI、プロトコル、プラグラミング言語、コマンドなど、多岐に渡る知識が必要です。そこでDSKでは、ITの知見をお持ちでない企業様でもIoTの効率的な運用ができるようにGoogle Cloudサービスの利用サポートを行なっています。利用方法がわからない方からデータの活用方法を知りたい方まで、お気軽にご相談ください。
- カテゴリ:
- Google Cloud(GCP)
- キーワード:
- google cloud