Cloud IoT Coreとは?
IoT Coreとは、IoTデバイスからGCPに接続して、IoTデバイスで取れるデータをBigQueryであったりにデータを貯めることができたりなどできるサービスのこと。
IoTデバイスからのデータをGCPにためてさまざまな処理をするとなると、上記のようなGCPソリューション群の構成になるのが一般的かなと思います。
IoTデバイスからGCPのIoT coreに繋ぐ設定をします。こうすることで、GCP内でIoTデバイスの登録が完了し、
IoTデバイスで取れたデータをpub/subを通じてdataflowに流れます。
dataflowでは取得したデータに対して何らかの処理を行い、そのあとGCPのデータウェアハウスであるBigQuery、ファイルストレージであるCloud Storageにデータを格納していきます。
dataflowはGCPのETLソリューションであり、他にもGCPではcomposerなどETLソリューションがあります。
名前の通りdataflowはdataのflowなので、リアルタイムで流れてくるデータの整形処理などを得意とするソリューションで、今回のようにIoTデバイスから都度流れてくるデータに対して処理する場合は、dataflowが適しています。
例えばですが、IoTデバイスから温度のデータを5分おきに取得して、BigQueryに溜めるなどが初歩でイメージがしやすいかと思います。
実際にIoTデバイスとIoT coreを繋ぐ設定をする
では早速IoT coreにIoTデバイスを登録して、IoTデバイスとGCPを繋ぐ設定をしてみたいと思います。
今回はラズベリーパイ3をIoTデバイスとして利用します。
ラズベリーパイを設定していない方は以下で設定を説明していますので、確認ください!
以下のopensslコマンドを打つことで、暗号がRS256によるもので秘密鍵(rsa_cert.pem)と公開鍵(rsa_private.pem)を作成できる。
▼コマンド
openssl req -x609 -newkey rsa:2048 -keyout rsa_private.pem -nodes -out rsa_cert.pem -subj “/CN=unused”