こんにちは、AWS IoT Heroのソラコム松下(ニックネーム:Max)です。
今回はAWS re:invent 2020で発表のあった新発表や新サービスの中から、特にIoTの活用やシステム開発で知っておきたい内容をご紹介します。
AWS re:Invent とは?
AWSの年次イベントです。「ラーニングイベント」と銘打っており、ただ聞くだけのセミナーでは無く、基調講演などで発表された直後から利用可能なサービスが登場して使ってみることができるのはもちろん、新サービスのブレイクアウトセッションが即座に新規追加されたり、ワークショップがあったりと、クラウドに興味がある、学びたいと考えているエンジニアにとって参加する価値のあるカンファレンスイベントです。
AWS re:Invent 2020
2012年から開催されているAWS re:Inventは、毎年ラスベガス(アメリカ/ネバダ州)で行われてきました。2019年は「5日間、5会場、2500を超えるセッションで、6.5万人の参加者」という規模で、私は2015/2016/2019の3回参加してきました。
AWS re:Invent 2020はCOVID-19を鑑みて完全無料のオンライン開催となりました。期間は11/30 ~ 12/18 と 1/12 ~ 1/14の計24日間で、多くのオンラインセッションやオンラインワークショップが提供されていました。
セッションはアメリカ西海岸時間が中心で公開されていきましたが、他の地域でも見やすい時間帯にも再放送されるといった、オンラインの特性をうまく活用した内容となっています。また、セッションカタログでは過去の動画も見ることが可能です。
セッションカタログの右側にある「Select Date」で過去の日付を選択すると、その時の日付が検索対象となります。
ソラコムにおける「AWSの活用」
ソラコムのAWS活用は大きく2つの方向性があります。
1つ目は「IoTプラットフォーム事業者としてのAWS活用」、2つ目は「IoTシステム構築時のアーキテクチャ部品」です。
ソラコムはAWS上に、3G/LTEといったセルラー通信やSigfox等のLPWA(Low Power Wide-Area network; 省電力長距離無線通信)を収容・処理する「コアネットワーク」を構築し、IoTプラットフォームを提供をしています。このプラットフォームを高速かつ安定的に、しかも機能の拡充をし続けていくためにAWSの様々なサービスを活用しており、AWSのサービス向上はSORACOMサービスの向上にもつながる事が多くあるため注目しています。
活用の詳細は(Publickeyの記事)をご覧ください。
また、AWSのサービスにはIoTシステム構築において「部品」として利用できるサービスも数多くあり、これらの組み合せることでゼロから構築するよりも圧倒的な速度でIoTシステムを実現できます。ソラコムはAPN(AWS パートナーネットワーク)テクノロジーパートナー「アドバンスド」並びに、AWSコンピテンシープログラムの「IoT コンピテンシー」認定を持っており(プレスリリース)、IoTを活用したいと考えているお客様へ、SORACOM プロフェッショナルサービス等を通じてシステムアーキテクチャをお客様と共に考えていく事もあります。その際に、最新の情報やサービスを知っておくことで、迅速かつ安価なIoTシステム構築が期待できることから、常に最新情報を入手して検証するようにしています。
AWS re:Invent 2020 キーノートにみる「IoTの位置づけ」
AWS re:Inventのキーノート(基調講演)は、これまで Andy Jassy/CEO、Werner Vogels/CTO、APN Partner(AWS パートナーネットワーク)の3つでしたが、今年(2020)はこれらに加えて「機械学習(Machine Learning、以下ML)」と「インフラストラクチャー(Infrastructure)」の2つが加わり、計5つとなりました。AWSが力を入れている分野がキーノートとして現れた形だと考えられます。
※インフラストラクチャーは物流やライフライン、都市交通といった業界としてのインフラです。
キーノートは、2016年の「Super Power」、2019年の「Transformation」と特定のフレーズを中心に展開されることが多いのですが、2020年は 「Game Changer」 というフレーズが多用されました。
例えばAmazon EC2でmacOSが動くMac Instanceは、これまでデスクトップやノートパソコンで使われることが多かったmacOSのクラウド化という、新しい使い方や可能性を切り拓きました。
AWSがIoTに本腰を入れたのはAWS IoT(現: AWS IoT Core)を発表した2015年の事で、そこからは毎年新サービスが登場しキーノートでも紹介されていました。2019、そして今回とキーノートを見てきた個人的な印象にはなりますが、IoTという単語を直接使うよりも、IoTで蓄積したデータをどのように活用するのかといった内容が多く話されたと感じています。
これはIoTの重要度が下がったのではなく、ハードウェアとクラウドがつながりデータを集めるのは「当然」となり始めており、改めて言及する必要が無くなったのが背景だと考えています。IoTによって集められたデータの活用先の一つとして注目されているMLがキーノート化されたことが象徴的です。「IoTでデータを集めるのはあたりまえ、これからはどうやって使うか」が問われる時代となりました。
ここからは、IoTの開発/活用の視点で知っておきたい新発表や新サービスを紹介していきます。
データを集めるためのハードウェアの提供
先に総括すると、いつの間にかAWS製のハードウェアが充実しています。遠くに離れた現場をデジタル化するためには「モノ」が必要という事ですね。
Amazon Monitron
Amazon Monitronとは、センサーからゲートウェイ(センサーとクラウドをつなげる中継機器)というハードウェアに加え、センサーからのデータを活用するためのスマートフォンでも見ることができるアプリケーションまでと、全てが一括で揃うE2E(End to End)ソリューションです。
最大のポイントはISO 20816(機械振動の測定と評価)という規格に則った設備管理が行えるようになります。設備管理のノウハウが少なくとも、測定や評価の環境構築できるのが最大のメリットです。もちろんデータは他にもMLによる異常検知といった先進的な管理にも転用可能です。
ハードウェアはAmazon.comで販売しています。仕様を確認する限り技適未取得であるため日本国内での利用は原則できませんが、FCCは取得している(FCC ID: 2AVPL-TE1A001)ため技適未取得機器を用いた実験等の特例制度を利用して短期間ではありますが試験できる可能性があります。
AWS Panorama
AWS Panoramaアプライアンスとは、IPカメラのONVIFストリーム処理に特化したゲートウェイです。カメラ画像にエッジコンピューティングを実現するハードウェアとなります。
ストリーム処理の部分にはコードはLambda、MLモデルはSageMakerで作り、OTA(Over the Air)で更新が可能です。通信は有線もしくはWi-Fiとなります。AWS Panorama アプライアンスはあくまでゲートウェイ(中継機器)ですので、別途ONVIF対応カメラが必要です。
AWS PanoramaにはSDKがあり、実はこちらが「AWS Panorama」となります。このSDKを使ってハードウェアメーカーが独自のAWS Panorama アプライアンスを作ることもできます。冒頭で紹介したアプライアンスは「AWS Panorama入りAWS製のゲートウェイ」という事です。
このSDKは、AWS IoT Greengrassを知っている方であれば「ONVIFストリーム処理に特化したGreengrass」と考えても差し支えないでしょう。
AWS IoT EduKit
AWS IoT EduKitとは、マイコンとAWS IoT Coreの連携を学ぶことができるキットです。
昨今人気のある M5Stack Core2というマイコンにMicrochip社のセキュアエレメントを搭載したモデルとなっています。オンラインでワークショップコンテンツも公開されています。
技適を取得しており日本国内で利用可能で、スイッチサイエンス で購入が可能です。
AWS IoT EduKit で何が学べるのかについては、別途レポートします。
AWS Snow ファミリー
社内に存在する、ペタバイト級のデータの転送のコストや時間の課題を解決する目的で作られたのが、AWS Snowballを始めとしたAWS Snow ファミリーです。
AWS re:Invent 2020 で大きな発表があったわけではありませんが、このようにデータを集めやすくする手段としてハードウェアを出している例として紹介しました。
データがあれば機械学習ができるステージに “AutoML”
IoTはデータを集めた後の活用も重要です。特に最近は可視化や通知の次の活用方法として、MLが注目されています。先にAWSにおけるAIやMLといった言葉の定義を振り返り、その後に注目サービスの紹介となります。
AWSにおける「AIやML」
AWSはAIサービスとMLサービスを明確に使い分けています。
- AIサービス: MLの詳しい知識が無くとも、MLをアプリケーションで利用できる
- MLサービス: MLモデルを高速に開発、学習、デプロイできる
- MLフレームワーク & インフラ: 高度なMLを実現するためのフレームワークとインフラを組み合わせることができる
これらの分類をデータベース(DB)システムで言い換えるなら、MLフレームワーク&インフラがEC2でサーバを立ち上げてDBをインストールするモデル、MLサービスがAmazon AuroraやAmazon RDSによるマネージドのDB、AIサービスはDBを利用するWordPressといったブログアプリケーション(= DBの存在が希薄)と言えるでしょう。
AWSでMLサービスの中心は「Amazon SageMaker」とその周辺サービス群です。仮想サーバやMLフレームワークの準備をせずともMLの学習やデプロイ環境が整う事から「機械学習の専門家もSageMakerに移行中」とも言われています。
Amazon Lookout for Vision / Equipment / Metrics
MLはデータを基に学習させて「モデル」を作成し、そのモデルによって推論する仕組みです。そのため、データを準備するのは当然なのですが、学習には専門的な知識が必要でした。
昨今では、この学習部分を自動的に行ってくれる “AutoML” という仕組みが出てきました。AutoMLによって「利用者はデータを用意することに集中」できるようになります。
Amazon Lookout for Vision / Equipment / MetricsはAutoMLによるMLサービスです。
目的別に3つのサービスがあります。
- Amazon Lookout for Visionとは、画像による異常検知が行えるサービスです。製品の外観をから良/不良を判定できます。
- Amazon Lookout for Equipmentとは、設備の故障検知に特化したサービスです。普段から記録している稼働履歴データとメンテナンス記録の2つを基に検知できます。
- Amazon Lookout for Metricsとは、他二つと比較すると汎用的なデータに対する検知が可能なサービスです。
マーケティングツールとも連携可能となっています。例えばイベント申込や問合せ状況のスパイクを検知するといった事にも利用可能です。
Amazon Lookout for Visionは試用レポートがあります
Amazon Lookout for Visionについては、「ラベル貼りの品質判定」を実際に行ってみました。Amazon Lookout for Visionで行う「機械学習による欠陥品検出」、活用のTips をご覧ください。
独自の領域を持ち始めた AWS IoT ファミリー
2015年にローンチしたAWS IoTは、2018年にはAWS IoT ファミリーとして大幅なサービス追加がされました。
2020年は利用者からのフィードバックが反映されたようなアップデートが多かった印象です。また、一見すると既存のAWSサービスと似ている機能もありますが、これは「小売店がお客様の好みにマッチできるように多くの品揃えをするのと同様に、お客様の課題にマッチできるように多くのサービスを用意する」といった背景(出典確認中)があり、要件にマッチするサービスを採用できるようになっています。
AWS IoT Greengrass と FreeRTOS
AWS IoT Greengrassと FreeRTOSは共にハードウェアを制御するミドルウェアと言われるソフトウェアです。使用したいハードウェアの能力や、解決したい課題と機能から「選ぶこと」ができます。
- AWS IoT Greengrassとは、Raspberry Piなどの比較的高性能なコンピュータを使ったハードウェア開発や制御に利用できるミドルウェアです。
今回バージョンが2.0へとメジャーアップデートとなり、Javaによる実装となりました。Amazon Corretto(AWSによるOpenJDKのディストリビューション)で稼働するため、動作環境の幅が広がりました。 - FreeRTOSとは、マイコン向けリアルタイムOSの1つであるFreeRTOSにAWSがライブラリ追加やライセンス整理を行って、IoTハードウェアを作りやすくしたディストリビューションです。Amazon FreeRTOSと呼ばれていましたが、名称混乱を避けるため “FreeRTOS” に統一しているとの事です。
今回、バージョン 202012.00 がリリースされLTS(Long Term Support)となり、2022年末までサポートされるようになりました。また、省電力のLTE通信「LTE-M」を制御できるライブラリがFreeRTOSに追加されています。現在のところ3種類のモデムがサポートされています。
サポートされているモデムのうち、Quectel BG96はSORACOM IoT ストアでモデム単体や開発ボードなどを1つからご購入いただけます。FreeRTOSでLTE-M通信の利用を検討の際にはご利用ください。(SORACOM IoT ストア / 通信モジュールカテゴリへのリンク)
AWS IoT Core
AWS IoT Coreとは、IoTハードウェア向けのゲートウェイサービスで、IoTハードウェアとAWS各種サービスを結びつける役割を持っています。「IoTハードウェア向けAmazon API Gateway」と言っても良いでしょう。
AWS IoT Core(以下、IoT Core)を利用することでAPI Gateway同様にAWSサービス連携ができる他、MQTTSといったIoT向けプロトコルで双方向通信が可能となります。AWS IoTの名が付くサービスはIoT Coreの利用が前提になっているものがほとんどです。もちろん、IoTハードウェアからHTTPSを使ってAmazon API Gatewayを経由してAWSサービス連携も可能です。ここも「選べる自由」です。
- AWS IoT Core for LoRaWAN
- LPWAのLoRaWANを利用するために必要なNetwork Server(以下、LNS)がIoT Core上でマネージド提供されるようになりました。LNSの位置づけについては後述の図、もしくはいまさら聞けないLoRaWAN入門をご覧ください。また、LNSに対応したゲートウェイやデバイスについてもパートナーの紹介がされています。2021年1月時点で提供している国/地域はUSとEUとなっています。こちらは利用電波帯が要因であるため、日本国内での利用は対応を待つ必要があります。
- Apache Kafka クラスタへの配信ルール
- IoT Coreは「条件にマッチしたデータをAWSサービスに転送する」というルールエンジンと呼ばれる仕組みを持っており、例えばAmazon S3への保存やAWS Lambdaの実行を設定だけで実現できます。その転送先に、メッセージキューシステムのApache Kafkaが指定できるようになりました。Apache KafkaはAmazon MSKもしくは仮想サーバ上で構築したものでも対応しています。
その他の AWS IoT ファミリーサービス
- AWS IoT Device Defender
- MLによる検知(preview)がついたり、カスタムメトリクスを送り付けることができるようになりました。もはやCloudWatch for IoTと言ってもいいのではないでしょうか。
- AWS IoT SiteWise Edge
- AWS IoT SiteWise(以下、SiteWise)はゲートウェイソフトウェアです。小型コンピュータにインストールすることで、例えばOPC-UAといった産業機器で使われるプロトコルのデータをAWSに集めることができます。また、SiteWise Monitorを使うことで、集めたデータの可視化アプリケーション構築の手間を軽減することができます。
今回登場したSiteWise EdgeはSiteWise同様にソフトウェアであり、コンピュータにインストールすることで、いわばSiteWise Monitorのエッジ(ローカル)版として動作するものです。
- AWS IoT SiteWise(以下、SiteWise)はゲートウェイソフトウェアです。小型コンピュータにインストールすることで、例えばOPC-UAといった産業機器で使われるプロトコルのデータをAWSに集めることができます。また、SiteWise Monitorを使うことで、集めたデータの可視化アプリケーション構築の手間を軽減することができます。
データ活用の中核は「Amazon S3」
Amazon S3は、ストレージサービスとしてAWSの中でも中核を担うサービスです。
データを格納するストレージとしての機能はもちろんですが、Amazon S3 イベント通知の利用でAWSのサービス間をつなげるハブ的役割も担っており、データフォーマットを問わずデータ蓄積をするデータレイクとして使うことができます。実際、Amazon Lookout for EquipmentはAmazon S3を介してデータを送り、推論結果をAmazon S3に返す仕組みとなっています。
AWS re:Invent 2020で発表された強力な書き込み後の読み取り整合性によって、書き込み直後から他のAWSサービスの読み取りが容易になった事で、先ほどのAmazon Lookout for Equipmentのようにハブ的役割がより進むものと考えらます。
新しいサービスへの対応もAmazon S3を知っておけば、そしてシステムの中心に据えておくことで、システムへの影響を最小限にしつつ新しいサービスの利用が可能になるのではないでしょうか。
その他、IoTで役立ちそうなAWSサービス
その他、IoTで役立ちそうなサービスについて、私の一言コメントを添えて紹介していきます。
- Amazon Connect Voice ID
- 電話にかかってきたときの声で人物識別ができます。もちろん声の事前登録は必要ですが、スパイ映画みたいなこともできそうですね。「俺だよ、俺」も怖くありません。
- Amazon SageMaker Clarify
- MLを推し進めると「MLがなぜ、そう推論したのか」という、説明責任と呼ばれる課題が発生します。このサービスは学習済みのモデルにおいて特徴量の抽出という方法で明らかにできるとされています。MLが普及し始めており、ML活用の次のステップに入った事を実感したため、ピックアップしました。
- Amazon Location Service
- 地図上にピン打ちとか区間計測とかジオフェンスとかを作ることができます。いわゆるGIS系アプリケーション構築が可能です。地図はEsri社等がライセンスしているので心配事が減らせます。
- AWS Glue DataBrew
- リアルタイムETL(データ変換)サービスです。操作感はNode-REDやMirosoft AccessのようにWeb上のGUIで行えます。Amazon S3をデータソースにすることができ、ファイルフォーマットはCSVもOKです。ちなみにAWSにおけるMLの統合開発環境であるSageMaker Studioから使いやすいETLサービスが、Amazon SageMaker Data Wranglerとなります。
おわりに
いかがだったでしょうか?
AWSではAWSを利用して開発する人を「Builder」と呼び、「在るものを組み合わせて価値を創り出していこう」というメッセージを発しています。玩具のブロックで作品を創るが如く、AWSサービスを組み合わせて自分のサービスを組み上げることが可能となっています。
数あるブロックの中から希望の形や色を探し出すのと、数あるAWSサービスから要件に合致しそうなサービスを採用することは、とても似ています。だからこそ「使ってみる、ダメだったら止められる」事が重要となります。
AWSも、そしてSORACOMも同様にIoTの「つなぐ」を簡単にするための部品を取り揃えており、始めるのも、そして止めるのも容易です。システム構築の「作業」を始めてしまう前に、まず自分の求めているブロック(サービス)を探し、使ってみてからでも遅くはありません。ぜひお試しください!
― ソラコム “Max” 松下 / Twitterやってます、フォローはお気軽に!