- はじめに
- IoT Connect Gatewayとは?
- IoT Connect Gatewayの特徴
- 閉域網がなくてもセキュアにクラウド接続を実現
- 処理負荷がかかる暗号化処理をサービス側で実施
- 暗号化通信によるデータ転送量を抑制
- クラウドアダプタ機能で各種クラウドサービスに簡単接続
- IoT Connect Gatewayの特徴
- IoT Connect Gatewayにかける思い
- CI/CDの取り組みとサービスリリース
- Infrastructure as Code
- Test as Code
- GitOps
- 個人的な思い
- CI/CDの取り組みとサービスリリース
- 最後に
はじめに
こんにちは、データプラットフォームサービス部でIoT Connect Gateway開発チームのTech Leadを している栗原良尚(@yoshinao)です。
この度、NTT Com Engineers' Blogオープンに合わせて、開発をおこなっているIoT Connect Gatewayについてご紹介、情報発信をできる機会をいただきました。閲覧頂きありがとうございます。
Engineers' Blogでは、単なるサービス紹介だけでなく、IoT Connect Gatewayの使い方や、どんな事ができるのか?などのレシピや周辺技術を実験や電子工作を通じて発信していきたいと思っております。
また、皆様からのリクエストやフィードバックを通じて、双方向の情報発信、みなさまの声を次期開発に活かしたいと考えておりますのでリクエストやコメントを頂けますと幸いです。個人的にも記事投稿の励みになります(笑)
どうぞ、よろしくお願い致します。
IoT Connect Gatewayとは?
IoT Connect Gateway(ICGW)とは、NTT Comが2021年4月6日にリリースしたIoT向けGatewayサービスです。
このサービスは、IoTセンサーやデバイスで収集したデータをクラウドやお客様のサービスに簡単かつセキュアに転送するためのゲートウェイサービスです。
ICGWでは、IoTデバイスからの通信をNTT ComのGatewayで一度終端することで、IoTデバイス側に必要な機能をオフロードしたり、転送先を切り替えたり、デバイス側に機能追加必要なく様々な付加価値を利用することが可能になります。
ICGWは、NTT Comが提供しているSmartDataPlatform(SDPF) のIoTカテゴリのサービスで、IoT Connect Mobile Type Sと組み合わせてご利用が可能です。 今後も他のSDPFサービスのシームレスな連携を目指すことで、一つのプラットフォーム上でシームレスに融合、データを整理して利活用を容易にすることを目指しています。
IoT Connect Gatewayの特徴
以下に、現在のサービスの特徴をご紹介します。
1. 閉域網がなくてもセキュアにクラウド接続を実現
IoTデバイスからクラウドにセキュアにデータを送信したい場合、個別に閉域網で接続する、デバイスからデータ暗号化して送信するといった方法がありますが、どちらもコストがかかるという課題があります。
ICGWは、モバイル網とインターネットの境界に位置し、IoTデバイスからICGWの区間はモバイル網でセキュアに、ICGWからクラウドサービスに接続する時は、ICGWで暗号化(HTTPS/MQTTS) することでセキュアで安価なサービス接続を実現しています。
2. 処理負荷がかかる暗号化処理をサービス側で実施
IoTデバイスから暗号化したデータを送信する場合、デバイス側で暗号化を行うことになりますが、いくつかの課題に直面することがあります。
- 暗号化によってIoTデバイスの消費電力が大きくなってしまう
- IoTデバイスの製造コストが高くなってしまう
ICGWは、これらの課題をサービス側で暗号化を行うことで解決します。端末側で暗号化の暗号化能力を気にする必要はありません。 また、鍵の交換などの作業もサービス側で一括して実施できるので、端末ごとの個別設定は必要なくなるというメリットがあります。
3. 暗号化通信によるデータ転送量を抑制
IoTデバイスから暗号化通信を行う場合、暗号化によるプロトコルオーバヘッドが発生し、暗号化しない通信と比較してデータ通信料が多くなるという課題があります。
ICGWでは、IoTデバイスからICGW区間は、閉域のモバイル網を利用するため、暗号化を必要とせずセキュアにデータを転送可能です。また、サービス側で暗号化処理を行うため、セキュアかつデータ通信量を節約することが可能です。
4. クラウドアダプタ機能で各種クラウドサービスに簡単接続
ICGWでは、暗号化と合わせて、各種クラウドサービスの差異を 意識することなく簡単に接続できるクラウドアダプタを提供しています。
この機能によって、IoTデバイスに利用クラウドに合わせた接続パラメータなどの個別の設定や開発のコストを削減することが可能となります。
各種クラウドサービスは、頻繁に機能アップデートや新規サービスを展開していますが、既に展開済みのIoTデバイスに、これらのアップデートを追従していくことは困難です。 しかしICGWを利用している場合、簡単に転送先サービスの変更や新機能が利用可能になります。 これはすでに展開済みのIoTデバイスを管理する上でも大きなメリットとなります。また、長期運用の観点では、暗号化プロトコルのアップデートや追従ができる点も重要になります。
現在対応中のクラウドサービス
クラウドサービス | プロトコル |
---|---|
AWS IoTCore | HTTP |
MQTT | |
GCP IoTCore | HTTP |
MQTT | |
Azure IoTHub | HTTP |
MQTT |
現在、NTT ComのIoTプラットフォームであるThings Cloudのクラウドアダプタやその他の新アダプタ対応についても現在開発を行っていますので、ご期待ください。
IoT Connect Gatewayにかける思い
CI/CDの取り組みとサービスリリース
ICGWの開発は、スピーディーに新機能を開発し、いち早くお客さまに提供するためにDevOpsチームとして開発、運用を行っています。
新機能開発・提供を実現するために以下のようなことをICGWのDevOpsチームでは取り組んでいます。このあたりの話もブログ投稿などでお話できればと思ってます。
1. Infrastructure as Code
ICGWの環境構築作業はTerraformを利用し、コード管理で 開発環境、テスト環境、商用環境の構築を行っています。 これにより、新機能をリリースするために必要となる構成変更や拠点の追加をスピーディーに実現することが可能になりました。
2. Test as Code
スピード感をもった開発も重要ですが、品質も重要ですので これまで通り品質を担保し、開発するための仕組みとして UnitTest, E2E Testなどの検証作業をGitHub Actionsで自動化することで従来の検証時間を削減しています。 また新機能追加でデグレが発生していないかをチェックし、品質を担保する仕組みを実現しています。
3. GitOps
これまでの開発では、コード開発以外の作業や多大な時間が必要でした。 そこで、コンテナ化やArgo CDやHelmを利用することで、CI/CDを実現し開発者が開発に集中できる環境を実現し、商用環境に適応していくという仕組みを作りました。
また、Stg環境では、開発中の新機能を先行的にお客様やIoTデバイスベンダの方にトライアルして頂くなどの取り組みもすすめています。
個人的な思い
このICGWは、私が小さなころから好きな電子回路の世界と大学院から夢中になったネットワークやクラウドの世界をつなぐサービスとして非常に思い入れがあるサービスです。
このサービス開発をはじめて、趣味でIoTデバイスをRaspberry PiやM5Stackなどを利用して色々と開発していますが、その根底には、「つくるひと」でありたいという思いがあると思っています。
以下の動画は2007年頃、とある番組の1000回放送記念CMとして1度だけ放送されたもので、リアルタイムに見て衝撃を受けたものです。
当時、分野をネットワークに変えて大学院進学するか悩んでおり、その後も、博士後期課程に進むか就職するかなど、いつも人生の大きな分岐点をこれまで支えてきてくれた大切な動画なので、紹介させてください。
この動画の中で、息子がただただ聞いてくる「なんでこの会社にしたの?」という無邪気な質問に対して、私達は自身の勤める社名に置き換えた時、「自分の子供が納得する答え」、「自分自身が納得できる答え」を出せるでしょうか?
私の場合、「なんでNTT Com/NTTグループにしたの?」という質問に対して、父親の回答である「つくる人になりたかった」を 「つくる人であると共に、つなぐ人になりたかった」 と息子に自身をもって言えるよう、これからもサービス開発に取り組みたいとおもっています。
最後に
IoTサービス関係者、クラウドサービス提供者などみなさんと共に、私達の技術が誰かの何かの役に立ちたい、またその先にいる利用者の幸せに貢献できればという思いをもって、これからもサービス開発を続けていきたいと思っています。 それがNTT Comが掲げるRe-connect Xと自分は思っています。
この思いは、弊社のNTT Com Engineers' Blog投稿者の共通の思いであると思っています。そんな会社にしていきたいと思っていますので、これからもNTT ComならびにNTT Com Engineers' Blogをよろしくお願い致します。
次回予告
今回は、ICGWのご紹介とICGWにかける思いの投稿になってしまいましたが、次回はICGWの使い方や、ICGWを使った電子工作やアプリの記事を投稿する予定です。
to be continued...
ICGWに関するお問い合わせ先
トライアル、サービス導入に関するお問い合わせ
開発チームへのお問い合わせ
- メールを送る
※お手数ですが@を半角文字に置き換えてください
- メールを送る