昨今、ビジネスにおける IoT 活用に注目が集まっており、産業用途やコンシューマー領域では2023年には2016年の3〜4倍の市場規模になることが予想されています。コロナ禍を経たニューノーマルの時代に、あらゆる業界で DX(デジタルトランスフォーメーション)が加速しています。一方、知識不足や人材不足から IoT 導入が進まないという課題も生じています。

そこでアイレットは2022年8月4日、ビジネス+IT の Web セミナー「IoT・エッジコンピューティング2022 夏」にて、AWS を活用したドローンIoTソリューションの事例を紹介しました。

登壇したのは、アイレット アジャイル開発事業部で Web・IoT のサーバーサイドエンジニアを務める本間 崇平。

IoT 導入における AWS 活用の有効性について、実例を交えて紹介しました。

AWS×IoT が開発スピードを加速させる

冒頭、「本日お伝えしたいことは、“IoT ソリューションは AWS を活用していただくこと”。そして“AWS を利用した IoT 開発 はスクラム開発、サーバーレス開発と相性が良い”ということです」と述べる本間。

まずは AWS と IoT の即効性について説明がありました。IoT は端末をクラウドへ接続するため、サーバー開発が必要不可欠です。その開発スピードを加速させる手段として、本間が挙げたのがスクラム開発です。

「スクラム開発の特徴は、サービスやプロダクトの開発スピードを高めて、変化に柔軟性を持たせているところです」と本間。
従来のウォーターフォール型(上流工程から下流へ順に開発する、従来型の手法)の開発と比べチーム一丸となって短期間で開発を進めるため、軌道修正が早く顧客をも巻き込み、問題が起きても迅速に課題に対して修正をかけることができると言います。

ウォーターフォール型はプロジェクトのスコープ(要求)を固定した上でコストと納期を見積もりますが、スクラム開発(アジャイル型の一種)はコストと時間を固定した上で、優先順位の高いスコープから開発を進めていく手法になります。

アジャイル開発ではステークホルダーの要望に対して、プロダクトオーナーと開発チームがワンチームでプロジェクトに取り組みます。その際の利点として「スプリント」という概念があります。

「はじめにプロダクトオーナーが開発の優先順位設定(スプリントプランニング)を行ないます。
それをもとに開発チームは毎日15分程度、進捗報告や情報共有を行ないながら、1週間で開発を行ないます。
1週間後、プロダクトオーナーに対してスプリントレビューを行ない、問題がなければリリース。問題があればレトロスペクティブで報告や共有したり、次のスプリントに対して改善をつなげていく。このサイクルを何度も回していくような開発スタイルになっています」と本間は説明します。

さらに、プロジェクトを加速させる開発手法として本間が挙げたのが「サーバーレス開発」です。
「サーバーレスの大きな特徴は、運用保守作業からの脱却です。

従来の物理サーバーや EC2 のアンマネージドではなく、クラウドサービスが提供するマネージドサービスを利用することで、サーバー管理や運用などのコスト削減と、開発生産性・アジリティ向上が期待できます」と本間。

また、さまざまなサーバーレスアーキテクチャの中でもコンピューティングに関しては、サーバーのプロビジョニングや管理が不要で、コードで実行できる「AWS Lambda」を使うのがベストだと述べます。

実際、ドローンのプロジェクトにスクラム開発・サーバー開発を導入したところ、「2年強で多様な機能を拡充し、優先度の高いスコープの機能開発を進めることでより明確に、正確に開発物を作っていくことが可能になりました。

また、サーバーレス開発なので EC2 よりも利用料が安くなり、モダンなサーバーレスコンピューティングを利用することで開発に専念できました」と導入効果を語りました。

AWS IoT はスケール、迅速対応、コスト削減のフルマネージドシステム

続いて、AWS IoT の特徴やメリットについて説明がありました。

AWS IoT を使うと、家で使うモノ、工場で使うモノ、乗り物などをクラウドサービスでつなぎ、モノの状態などをアプリで通知することができます。また、機能の1つである AWS IoT Core を活用することで、IoT デバイスをさまざまな AWS サービスにつなげて拡張することが可能になります。
「スケール、迅速対応、コスト削減のフルマネージドシステムであることが、AWS IoT の利点です」と本間は述べます。

なお、AWS IoT Core で対応しているプロトコルは MQTT や MQTT over WSS(WebSocket Secure)、HTTPS、LoRaWAN があります。
今回取り上げるドローンのソリューションに関しては毎秒メッセージを送る必要があるため、MQTT 通信を使っているそうです。「MQTT は Publish/Subscribe モデルに基づく軽量なメッセージプロトコルなので、ネットワークが不安定な場所でも軽量に動作するのが特徴です」と本間。

ここからは実際に AWS×IoT で開発してきたドローンソリューションの実例をいくつか紹介します。

モノを AWS に接続するためには証明書が必要になりますが、AWS IoT Core の Policy は複数のモノに対してセキュアに Publish/Subscribe が制御可能です。このポリシーを活用した事例では、企業Aが保有するドローンとアプリ、企業Bが保有するドローンとアプリがある中で、自社以外のドローンの位置情報やテレメトリーの情報を受け取れないようにする制限を実現しました。

続いて、「Fleet Provisioning」を活用した事例です。これはデバイス側にあらかじめ証明書を組み込んでおくことで、AWS IoT に接続する際の証明書の払い出しを行なえる機能です。これを活用することで、ドローンが増えるごとに毎回手動で証明書を払い出す手間が生じていたものが、ドローン出荷前や初期セットアップ時に証明書を動的に払い出して、手間なくドローンがサーバーにアクセスできるようにしました。

また、RoleAlias を活用した事例についても紹介がありました。
RoleAlias は特定の AWS サービスだけにアクセスを可能にする、あるいは不可能にする機能です。これにより、証明書をもとに AWS サービスへの操作が可能になります。実際、ドローンで撮影した画像をストレージへアップロードしたい時、RoleAlias を活用して AWS 側でドローンが着陸したのを検知し、S3 にアクセスして画像をアップロードする仕組みを実現しました。

最後に RuleActions を活用した事例です。RuleActions はデバイスが対象のトピックに対して AWS IoT Core へ Publish する際、RuleActions を使って Lambda を動かしたり、DynamoDB にデータを保存することが可能になります。要するに、Topic を利用したアクション操作が可能になるということです。
実際、Publish されたログを長期保存したいというケースでは、ドローンが毎秒位置情報や実際の状態を Topic として Publish していく際に、RuleActions を使うことで Kinesis Data Firehose で S3 に対してログを保存しました。

これにより、例えばドローンに何か問題がったときに、Athena というサービスを使って S3 に蓄積されているログを瞬時に状態や時間帯などを絞り込んで出力することができます。

システム開発なら、アイレットにお任せ!

最後に本間は今回の Web セミナーのまとめとして、「スクラム開発によって、都度改善を図りサービス品質を高めていく」「サーバーレス導入によって開発作業に集中可能」「AWS には豊富なマネージドサービスがあるため、導入コストも減り素早く IoT ソリューションが始められる」という3点をピックアップ。

「アイレットはスピードと変化への対応を武器に、プロダクトの価値を最大化するアジャイル開発を提供しております。また、弊社が提供している「cloudpack」はインフラ構築からシステム開発、デザイン制作など、あらゆる分野における専門チームを揃えており、お客さまの負荷を下げながら総合的なサービスをワンストップで提供できるのが大きな特長です。

もちろん、厳格なセキュリティ規格に準拠しているなど、サービス品質の高さにも定評があります。興味のある方はぜひお問い合わせをお待ちしています」と述べて締めくくりました。