【レポート】IoT State of the Union #reinvent #IOT210
こんにちは、虎塚です。
re:Invent 2017のセッション「IoT State of the Union」に参加したのでレポートします。発表はAWSのVPであるDirk Didascalouさんと、AWSパートナー企業の皆さんでした。
re:Invent 2017で、IoTに関連する複数の新サービスや新機能が発表されました。本セッションを聞くと、それぞれのサービスや機能がどのような顧客ニーズから登場したかという背景がわかります。また、農場管理、製紙、自動車部品といった分野を代表するグローバル企業が、AWS IoTをどのように活用しているかを知ることができます。
本セッションは、文字の少ないスライドを参加者に見せながら発表者がひたすら話す形式でしたので、できるだけ詳しく日本語に起こしてみました。
AWS IoTチームのミッション
このセッションでは、AWS IoTの最新アップデートをお届けします。
最もシンプルな質問から始めましょう。「もしあなたがすべての物の状態を知っていて、そのデータ上で推論できるとしたら、どんな問題を解決しますか?」
IoTのミッションは、これらの2つです。
- state of every thing: すべてのアセットの状態を知ること
- reason on top of that data: それらの知識の上で推論できるようにすること
これらによって、顧客は顧客自身のビジネス課題を解くことに集中できます。
たとえば、エネルギー会社のEnelは、IoTプラットフォームとエネルギー管理のためにAWSを使っています。アナリストは、家庭用スマートゲートのためにGreengrassを使ったり、プロフェッショナルゲートを発電所用に使ったりしています。Greengrassは、ローカルに生成された大量のデータをミリセカンドのレイテンシで処理できます。
Symantecは、Norton Coreの家庭用ルータを販売しました。賞を受賞したこのルータのセキュリティは、AWS IoTバックエンドに基づいていることが知られています。外部の攻撃から家庭のネットワークを守るだけでなく、内部の攻撃からも守ります。
また、マイニング会社のRio Tintoは、AWS IoTとGreengrassをBoron鉱山へ採掘に行くトラックで使用しています。トラックの振動を計測することで道路の粗さのヒートマップを作成し、機材の通路を変更することで摩滅を最小化して、数百万ドルを節約しました。
IoTのコンセプト
ユースケースとその多様性、そして純粋なデバイス数の増加は、衝撃的です。たくさんのデータを生成するデバイスが非常に大量にあります。デバイスは、より小型化して制約が増えているので、クラウドのリソースをエラスティックに使う必要があります。デバイスが生み出すデータは、他のデータと組み合わせたり、インテリジェントなアクションを取るためのデータを追加したりすることで、ますます価値を持つからです。顧客と「IoTのIは、クラウドとデータから生み出されるIntelligenceの略ですね」とよく言っています。
IoTアーキテクチャ
クラウドを使ってより簡単にIntelligenceを手にいれる方法を、私たちは顧客と一緒に求めています。IoTデプロイの実際のアーキテクチャをご覧ください。
まず、AWSは、IoT Coreと呼ばれるシリーズを2年前にリリースしました。IoT Coreでは、デバイスゲートウェイと呼ぶ機能を使って、顧客のデバイスからAWSクラウドにセキュアに接続させます。また、メッセージブローカとルールエンジンで、デバイスから届いたデータを処理できます。デバイスシャドウで、デバイスがたとえオフラインでも、顧客のアプリケーションとデバイスがやりとりできます。さらに、EMRやAmazon Machine Learningなどの他のAWSサービスと統合して、より簡単にデータレイク上でデータを分析できます。
次に、AWSは昨年、データの生成場所にさらに近い場所でデータを処理できるようにしました。ほかのAWS IoTサービスと同様に利用できるシンプルな方法を保ちながらです。re:Invent 2016で、ソフトウェアとサービスのパッケージである Greengrass をリリースしました。Greengrassはデバイスのローカルにインストールされ、Lambda関数の補助を得てローカルで動作します。もしデバイスが工場にあり、インターネット接続がなかったとしても、ローカルのメッセージはサービスネットワーク内で保持され、インタネット接続が回復次第、AWS IoTクラウドへ送られます。この時、Grrengrassがローカルのセキュリティ認証局として動作するために、セキュリティが守られる点が最も重要です。
このように、AWS IoT CoreとGreengrassは、顧客のIoT実装とAWSにとってバックボーンになりました。
しかし、顧客が数千から数千万個のデバイスを使いはじめた時に、AWSは顧客がさらなる課題を抱えていることを知りました。たとえば、これらの本当に大量のデバイス群を、どのようにして管理すればよいでしょうか。どうすればそれらをセキュアに保てるでしょうか。また、最も重要なこととして、どうすればデバイスから来るデータを簡単に処理して分析できるでしょうか。
これらの課題について、デバイス管理とフリート (デバイス群) 管理からはじめて、ステップバイステップで見ていきましょう。
大量のコネクテッドデバイスをどう管理するか
顧客の課題は、クラウドに接続されたデバイスがどんどん増える中で、どうすればそれらを管理できるか というものです。
デバイス管理
たとえば、Philipsのような顧客は、病院のMRIからテレビセット、コネクテッドな歯ブラシまで、数百万のデバイスを持っています。自動車から輸送、農業、建設まで幅広い分野で事業を展開するTrimbleもまた、数百万のデバイスを持っています。
もしこれらの企業のエンジニアが単独のデバイスをひとつひとつ設定しなければならないとしたら、膨大な作業になるでしょう。デバイスをまとめて管理したり、特定のデバイスを見つけたりするには、どうすればよいでしょうか。
たとえば、あなたはビルの管理者だとしましょう。特定のバージョンと温度で動いているHVAC (Heating, ventilation, and air conditioning) 機器に故障の可能性があると工場から告げられて、ラスベガスですべてのホテルの中からそれらを探し出したいときや、ホテル内の温度調節のためにそれらの機器で稼働するソフトウェアをアップデートしたいときには、どうすればよいでしょうか。
AWS IoT Device Management
これらの課題を解決するのが、AWS IoT Device Managementです。
まず、このサービスでは、フリートの正常性管理を支援します。この機能はバッチフリートプロビジョニング (Batch fleet provisioning) と呼ばれ、十万から数百万のデバイスでも1分以内に管理できます。
次に、リアルタイムフリートインデックス (real-time fleet index) 機能では、機器のメタデータをリアルタイムにインデックス化します。先ほどの例でいうと、ファームウェアのバージョン、機器にインストールした認証情報、デバイス上に一時的に存在する現在気温やRPMなどのデータなどをインデックス化できるので、ビルの管理のために必要とする前に、あなたはこれらのデバイス情報を把握できます。
さらに、これらの機器をフリート、グループ、個々の機器のレベルで監視できます。監視には、接続性に関するメトリックスや、登録されたメタデータ、デバイスシャドウにある情報などを使えます。
最後に、このサービスを使うことで、デバイスをリモートから管理できます。リモートからデバイスを再起動したり、新しいパラメータを投入したり、アップデートをスケジュールしたりできます。
AWS IoT Device Managementは、本日から使えます。
ここで、ローンチパートナーであるTrimbleのPrakash Iyerさんによる発表です。
Trimble
Trimbleは、IoT統合ソリューションを世界中の大規模な工業分野の企業に提供するテックカンパニーです。100ヶ国以上で1200を超えるパートナーと仕事をしています。
IoTユースケース: 農業
Trimbleは30の事業分野のうち、特に4個の分野、建設、リソースとユーティリティ(主に農業関連)、輸送と物流、地理空間に注力しています。
もしご存じなければ、いかにたくさんのセンサーが農業で使われているかに驚くことでしょう。畑の湿度センサー、天候センサー、ドローン上のセンサー、設備に搭載されたセンサーなどが、クラウド上のアプリケーションにデータを送信しています。わたしたちはそのデータを処理、分析し、農家や農業経営者などのステークホルダーに情報を提供します。
IoTユースケース: 建設
もう一つの分野は建設です。建設では、建築と土木工学の両分野での設計のための調査にはじまり、現場での機器制御に至るまで、数千のセンサーが利用されています。設備の監視、プロジェクト現場の進捗の監視など、さまざまな局面をデータによって把握します。
ビルやトンネル、道路などを建設する際には、機器制御、建物の建設、ファシリティマネジメント、分析、調査、設計などのすべてのプロセスで、さまざまなセンサーと技術を使っています。そうして集めたデータを、クラウド上のオーケストレーション・コラボレーションプラットフォームで処理、分析し、顧客ビジネスのために提供します。
AWS IoT Device ManagementとTrimble
Trimbleはソリューションプロバイダーとして、顧客やパートナー各社に提供するソリューションを、AWS IoTで次のように進化させています。
- デバイスを迅速に有効化して登録するためのバルクデバイスプロビジョニング
- デバイスアクティビティを管理するためのレジストリとシャドウの検索
- 出荷済みIoTデバイスをリモートでアップデート可能に
- デバイスをセキュアに識別するためのデバイス認証の提供
- たくさんのさまざまなデバイスをグループでまとめて管理
- "Things"を管理するためのデバイスレジストリとデバイスシャドウ
- 弾力性と高可用性をインフラストラクチャに追加
- ビジネスワークフローに集中し、顧客の課題解決のベロシティを向上
AWS IoTでデバイスを管理、プロビジョニングし、セキュアに保つことができるので、Trimbleは食物やシェルター、酸素の供給などの重要な分野の進化に集中できます。
コネクテッドデバイスをどうすればセキュアに保てるか
このように、フリートの正常性管理ができるようになりました。
さて、セキュリティは、AWSを利用するユーザにとって最重要の課題のことが多いと思います。とはいえ、AWS IoT Coreサービスには、最初からセキュリティの機構が組み込まれています。複数の自前の認証機構を使ったり、証明書やポリシーを扱ったりして、クラウドとの通信をセキュアに保ち、暗号化もできます。
しかし、フリートレベルのことを個々のデバイスレベルに適用するには、話がもっと複雑になります。世界中に設置したデバイスを、セキュリティのベストプラクティスに則って動作させられるでしょうか。 すべてのデバイスを監査 する方法があるのが理想です。また、意図しないエンドポイントと通信するなどの 疑わしい振る舞いをするデバイスを特定 できることが望ましいでしょう。また、そういった事態の際には、 アラート を飛ばしたいと思うはずです。最後に、発生した問題に対しては、フリートをセキュアに保つための アクション を取りたいでしょう。
AWS IoT Device Defender
AWS IoT Device Defenderは、デバイスのフリートをセキュアに保つためのサービスです。
前述したセキュリティベストプラクティスの監査からはじまり、個々のデバイスを特定できます。
たとえば、個々のデバイスに個別の証明書をインストールするのが理想ですが、エンジニアが誤って既存の証明書をインストールしてしまうかもしれません。
AWS IoT Device Defenderでは、まず、想定されたデバイスの振る舞いを定義できます。たとえば、デバイス上の特定のポートを開けることや、通信可能なエンドポイントを許可することや、標準的なメッセージパターンなどです。これによって、未知のIPアドレスとデバイスがやりとりしたり、スパイクや外への通信のトラフィックパターンが見られたりした際に、DDoS攻撃であると推測できます。
AWS IoT Device Defenderは、AWS IoT Device Managementと完全に統合されているので、コレクティブアクションを実行できます。たとえば、デバイスをシャットダウンしたり、再起動したり、ファームウェアを更新したり、ポリシーの変更を介してアクセス制御をしたりできます。
AWS IoT Device Defenderは、2018年前半にリリース予定です。
デバイスデータからどのように価値を生み出すか
AWS IoTは素晴らしいサービスですが、デバイスから来るデータは構造化されていません。既存のBI (Business Intelligence) アプリケーションで、そのデータを取り込む必要があります。そこで、デバイスデータからどのように価値を生み出すかという顧客の課題が生まれます。
機器や物理オブジェクトから取得したデータは読み取りづらかったり、ゲートウェイや携帯端末の接続を介して届いたために一部が失われていたりします。IoTのデータに非常に多くのノイズが混じっているのは、よくあることです。
そのため、データを分析で使うに先立って、前処理が必要です。データを フィルタ したり、 異常値を取り除いたり しなければなりません。クラウドにデータを持つ理由として重要な、データを エンリッチ (意味づけ) するのもこのステップです。Prakashさんの事例にあったように、もし農場の湿度のデータを持っていたら、あと数時間で降雨がある場所にわざわざ水を撒きたくないはずです。これを実現するには、湿度データと天候予測データを関連づけて、意味を持たせる作業が必要です。
データの保存 も問題になります。どのようにデータを保存するかによって、ある種の分析は簡単にも困難にもなるからです。特に、IoTのタイムシリーズデータは、タイムシリーズに最適化されたクエリに対応できる形式で保存することが望ましいでしょう。
その後、データにクエリ したり、データに洞察を加えたりできるようになります。
多くの顧客が、これらのシステムすべてを構築することは難しいと考え、AWSの助けがあればよいのにと考えています。本質的な6つのステップ (1. データの取り込み、2. 前処理、3. 意味づけ、4. 保存、5. 分析、6. 可視化) をAWSのサービスで一貫して扱うことができれば理想的です。
AWS IoT Analytics
そこで、AWS IoT Analyticsをマネージドサービスとして提供します。
AWS IoT Analyticsは、データの取り込みから始まります。S3バケット、Kinesis、AWS IoTなどをデータソースとして指定できます。タイムスタンプやデータ生成時刻、デバイスIDなどのデータを送り込めます。
これらすべてのストリームは、パイプラインと呼ばれる場所に入っていきます。パイプラインの中で、異なる前処理やエンリッチメントが必要なデータを識別して、データの変換や異常値の除去、情報の意味づけなどをおこないます。AWS Lambda関数越しのルールエンジンでデータを扱うこともできます。
その後、フルマネージドのデータソースにデータを格納します。この時、タイムシリーズデータ用の最適化をしますが、生データも保存します。これはわたしたちが顧客との経験から学んだことの一つで、顧客はデータを使って何を探すかすら知らない場合が頻繁にあります。そのため、データに対して前処理だけをしておきます。後からより高度な分析や企業ニーズに即した学習のためにデータを再処理したくなった時にそなえて、生データを保存しておくことはとても重要です。
そして、ストレージに最適化されたクエリエンジンとの統合をおこないます。これによって、SQL言語で非常に素早く問い合わせることができます。また、Amazon QuickSightと統合して可視化することも簡単です。
しかし、データサイエンスを使ってデータをさらに詳しく分析したい場合は、AWS IoT Analyticsは、Amazon SageMakerでホストされたJupyter Notebooksと完全に統合されている利点を生かして、より複雑なことができます。デバイスに対するメンテナンス可能性の予測や、タイムシリーズ分析が可能です。
このように、Amazon SageMakerを使う前にデータをクリーンにするパイプライン処理として、AWS IoT Analyticsはデザインされています。
AWS IoT Analyticsは、(re:Invent 2017開催の時点で) プレビュー公開されています。
それでは、ValmetのKimmo Djupsjöbackaさんによる発表です。
Valmet
Valmet社とは
Valmetは、紙を作るための機械製品を生産しています。この分野の企業としては、ナンバー1またはナンバー2に位置します。Amazon社が製品の出荷に使うようなパッケージ用の紙製品や、トイレットペーパーなどの消費が増えれば増えるほど、Valmetの未来も明るいものとなりますね。
Valmetは、紙を作る機械そのものと、機械をスムーズに稼働させるための自動化ソリューション、そして紙工場を使う顧客を支援するためのサービスを販売しています。これらの3分野から、Valmetは紙の生産プロセスについて多くのことを学んできました。
Valmetは、自動化ソリューションをすでに40〜50年に渡って作ってきましたが、基本的にそれらは工場内のネットワークを利用するオンサイトのソリューションでした。世界中の300〜400の顧客にソリューションを提供するにあたり、ある顧客には必要でも他の顧客には不要なものを、Valmetはたくさん作ってきました。これが、Valmetが産業用のインターネットを必要とした理由です。
Valmetのソリューション紹介
Valmetでは、AWSを使うことで、産業用インターネットを使った次のようなソリューションが可能になりました。
- 機器がいかに効率的に紙を生産しているかのデータ可視化
- たとえば、1トンの紙あたりのエネルギー使用量や、競合との比較など
- アセットの信頼性のカスタマイズ
- 次にサービスが故障するまでは機器が良いコンディションにあることを保証
- 機械オペレーションの最適化
- 顧客が紙を効率よく生産することを支援
- Valmetパフォーマンスセンター
- 専門家が顧客の問題解決を支援
- 工場とパフォーマンスセンターをリモート接続することで、データをクラウドに収集し、ほかの紙の生産ラインと比較
AWS IoT Analytics PoC: 紙の強度の予測
スライドの写真は、Valmetの典型的なIoTデバイスで、長さ約500メートル、幅約30メートルあります。1時間に100kmの速さで紙を生産します。AWS IoT AnalyticsのPoCでは、本番環境で紙の強度の予測分析を試みました。
これまでは、伝統的な分析ツールを使って、各製品の価値に基づく紙の強度の見積もりをしていました。25000個のメトリックスでデータを収集して、自動化ソリューションに送信しています。いくつかはミリセカンド単位で発生するデータで、多くのデータは秒単位で発生します。スライドにあるグラフの赤い線が紙強度の予測値で、青い線が実測値です。すでに非常に良い予測ができていることを見てとれるでしょう。
しかし、AWS IoT Analyticsを使うことでさらに良い分析ができることを期待して、次の3個のユースケースを用意しました。
- アルカロイドによるリアルタイムでの紙強度の予測
- これらの結果をアルゴリズム予測によるラボでの結果と比較すること
- より良いアルゴリズムを作るためにAWS IoT Analyticsのツールをどのように利用すればよいかの調査
もちろん結果として、いかにたくさんの機器が、そしていかにたくさんの予測が、AWSクラウドで可能かを確認できました。
AWS IoTのキャパビリティをどのようにエッジに拡張するか
食料、シェルター、そしてトイレットペーパーと、IoTはあらゆる場所に普及しています。そして、電球のような小さな物の中だけでなく、Valmet社の例のように地球上で最も大きな機器でもIoTは利用されています。25000個ものセンサーを必要とする機器では、データが生成されるまさにその場所でデータ処理が必要です。
これが、AWSが2016年にAWS Greengrassをリリースした背景です。
AWS Greengrass
Greengrassの特徴は、次のとおりです。
- AWS Lambdaを使った端末ローカルでのアクション
- ローカルでのトリガーとメッセージルーティング
- データと状態の同期
- AWS IoTクラウドのためのセキュア通信
今回、Greengrassに次の3つの基本機能が追加されました。
- OPC-UA用のプロトコルアダプタ
- デバイスのローカルリソースへのアクセス
- 無線でのアップデート
新しいLambda関数からメッセージを送ることで、デバイスの振る舞いをいつでもローカルで変更できるのが、Greengrassの元々の基本的な考え方です。今回の機能追加では、Greengrassのコアそのものをアップデートできるようになりました。実行環境の設定や、AWS Device Managementでのジョブスケジューリングと組み合わせることができます。
Sony やRio Tintoは、Greengrassはとても良いが、自分たちは現場に既存のデバイスを大量に持っているため、インストール済みの環境とのやりとりをGreengrassで支援してほしいとのことでした。また、産業分野で最もよく使われているプロトコルであるOPCに、これまでは非対応でした。そこで、AWSは、完全にアクセス可能なLambda関数としてOPC-UAを実装し、Greengrassや既存の実装で使えるようにしました。
また、デバイス上のローカルなLambda関数に、ローカルリソースへのアクセス機能を追加しました。これは、チップ上のハードウェアアクセラレーションやバス接続、カメラなどが、ハードウェアからローカルリソースに /dev/resource でアクセスできるのと同じくらい簡単に、Lambda関数からローカルリソースにアクセスできることを意味します。ファイルシステムやストレージシステムなどの論理リソースへのアクセスのようにシンプルです。
さらに、次の新機能にも、ローカルリソースアクセスは恩恵をもたらします。
- ローカルでのMachine Learningによる推論
AWS Greengrass ML Inference
Andy Jessieは、2017年11月30日のキーノートでAIについてたくさん語りました。もちろん、最初にモデルをトレーニングするために、AIは多くのクラウドリソースを必要とします。モデルのトレーニングには大量のデータが必要で、それらのデータは頻繁にIoTデバイスからやってきます。クラウドの大規模なストレージ容量とコンピューティングパワーは、これらにとても適しています。
しかし、モデルを一度トレーニングし終えると、同じモデルを新しいデータにも適用できるので、推論に必要なコンピューティングパワーは減ります。
基本的な考え方として、Amazon SageMakerを使ってクラウドでモデルをトレーニングした後、同じモデルをGreengrassコアデバイスにデプロイします。コンソールにアクセスして、トレーニング済みのモデルをGreengrassコアデバイスにデプロイします。さらに、NVIDIAやIntelのハードウェアを前提にMXNetを最適化します。
そして、あなたのMSNetをロードしたLambda関数が、カメラなどのローカルリソースから来た追加の情報を使って、ローカルのアクションのために予測をおこないます。これらすべてが、FPGAまたはNVIDAのGPUアクセラレーション、Intelプラットフォームの恩恵を受けます。
無線アップデート、OPC-UA用のプロトコルアダプタ、ローカルリソースアクセスの3つの新機能は、すでにGeneral Availableで利用できます。ローカルでのMachine Learningによる推論は、発表時点でプレビューです。
次は、デンソーのNarisako Takeshiさんによる、デンソーのアプリケーションでAWS IoTとGreengrassをどのように使っているかの発表です。
DENSO
DENSOは、1949年にトヨタによって設立されて、今では400億USD以上の収益を達成した、世界第2位の自動車部品サプライヤです。トヨタ、ホンダ、G.M.Ford、BMW、ヒュンダイなどの主要な自動車メーカーに、部品とソフトウェアを提供しています。DENSOは、次世代のモビリティソリューションを開発しています。
未来のモビリティ時代のDENSOビジョン
スライドは、DENSOがMaaS (Mobility as a Service) と呼ぶ未来のモビリティ時代のビジョンです。モビリティは、自動車だけでなく、バス、信号、標識、人々など、様々な物と相互に接続します。こういった接続を介して、モビリティデータはクラウドにアップロードされます。データはクラウドで処理され、ビッグデータとして分析されて、さまざまな顧客に新しい考察を提供し、クラウドからバスや信号などにフィードバックします。
この新しいテクノロジーは、私たちに輸送と物流の新しい体験をもたらします。それは、より便利で快適で安全で効率の良いものです。遠隔からのメンテナンス、故障予測、渋滞を避けるための交通予測、そして自動運転機能です。
MaaSは、ほかにもさまざまな使い道があります。現在のタクシーや自転車シェアと融合したEnd-to-Endの輸送手段を、MaaSに自動でアレンジしてほしいというユーザの要求があります。ここから空港までの移動のためにタクシーや、ラスベガスからシアトルまでのフライトや、シアトル空港からAmazonオフィスまでのバイクシェアを、自動で予約して支払いできるようになります。
未来のMaaS時代に向けた技術的挑戦
MaaSの実現には3つの技術的な挑戦がありました。
- ネットワーク接続
- 車両が常にオンライン状態や良い接続性を保つ保証はない
- エッジインテリジェンス:リアルタイムレスポンス
- コネクテッドデバイス (たとえば自動運転システム) は、準リアルタイムのレスポンスを必要とする
- モビリティでは安全性が最優先されるが、ネットワークレイテンシが深刻な安全性の問題になることがありうる
- 継続的なアップデート
- ソフトウェアに機能を追加する時だけでなく、深刻なバグを修正する時にも、エッジのコードは素早くデプロイされる必要がある
AWS IoTとAWS Greengrassによる解決
AWSクラウドはMaaSをサポートするとDENSOでは考えました。AWSはグローバルに拠点があり、スケーラブルで、クラウドとエッジコンピューティングを密に統合できる点が重要です。
DENSOがAWS IoTとGreengrassのキャパビリティに注目した理由は、次のとおりです。
- AWS IoTによる車両のシャドウ
- デバイスシャドウが、オフライン時のコンディションの信頼性を向上させる
- AWS Greengrassの搭載
- Greengrassは、AWS IoTのキャパビリティをエッジにまで拡張する
- AWS Lambdaの車内での実行
- Lambda関数を車両内のエッジにデプロイできる
- まずソフトウェアをクラウドで一度テストしてから、大きなデバイスにデプロイできる
DENSOでは、すでに最初のプロトタイプをAWS IoTとGreengrassで作成し、それらがMaaSの構築に適合することを確認しました。DENSOは、AWSクラウドと、先ほどアナウンスされたML推論機能のようなエッジコンピューティングの拡張に、これからも注目します。
マイクロコントローラベースのデバイスを安全に接続するには
このように、モビリティは、IoTに解決すべき課題を持ち込みました。顧客は、AWS IoTと、Greengrassを自動車や鉱山のトラック、ゲートウェイの上で実行することによって、この問題を解決できました。
私たちがCPUやリアルオペレーティングシステムと呼んでいるものが動作するデバイスは、高価です。しかし、これらの範囲外にある多くのデバイスは、マイクロコントローラを動作させています。マイクロコントローラは、身近にあるほとんどすべての機器で動いています。たとえば、LEDランプや煙探知機などがそうです。マイクロコントローラは、あらゆる工場でベルトコンベアを制御しています。
マイクロカーネルの利点は、CPUより安価で手頃なことです。しかし、CPUよりコンピューティングパワーやメモリは劣ります。スケール性について、マイクロコントローラとCPUでは大きく異なります。ガートナーの2016年の分析によると、2016年単独でマイクロコントローラは200億個が売れた一方、コンピュータやスマートフォンのためにCPUは5億個売れました。たった1年で40倍の差がつきました。
このように制約のあるマイクロコントローラが世界中にあります。そういった デバイスに安全に接続したい 場合、どうすればよいでしょうか。
リアルタイム組み込みオペレーティングシステム
もしあなたが組み込みソフトウェア開発者なら、どんなソフトウェアを使うかを自問する必要があるでしょう。なぜなら、もしRAMが数キロバイトしかなければ、Linuxや組み込みLinuxをデバイスにインストールできないからです。AndroidもWindowsも、メガバイトの容量を必要とします。
マイクロコントローラのデバイスを使う時には、次のような課題があります。
- チップ上で実際に動作するか
- 必要な機能を持っているか (Wi-Fiやクラウドにセキュアにアクセスできるか)
- これらの情報やオープンソースのコードをどこで手に入れればよいか
- 何からはじめたらよいのか
これらの課題は、IoTにとって大きな障害物になりえます。機器にたくさんのセンサーを取り付けているような顧客が、マイクロコントローラデバイスをできるだけ簡単に利用できるようにするために、Amazon FreeRTOSをリリースしました。
Amazon FreeRTOS
Amazon FreeRTOSは、マイクロコントローラとIoT接続性に最適化したオペレーションシステムです。
Amazon FreeRTOSコンソールから、マイクロコントローラの4大メーカ (Big four: Microchip Technology Incorporated, NXP Semiconductors, STMicroelectronics, Texas Instruments) によるチップセットのプリパッケージをダウンロードできます。トピックをサブスクライブしたり、クラウドにデータをアップデートしたりするためのサンプルコードも同梱されています。これらの機能は強化されています。
Amazon FreeRTOSは、FreeRTOSカーネル上でビルドされました。AWSは、15年前にFreeRTOSを発明したRichard BarryがAWS IoTに合流して、Amazon FreeRTOSとカーネル拡張の仕事をともにする決断をしてくれたことを誇りに思います。
Amazon FreeRTOSは、(2017/11/30時点で) バージョン10と呼ばれるカーネルからなりますが、Wi-Fiネットワークなどの ローカル接続のライブラリ を含んでいます。これは、ローカルネットワークに接続されたマイクロコントローラが、Greengrassが有効なゲートウェイに接続できるため、クラウドへの接続性のない工場内のベルトコンベアでも使用できることを意味しています。
Amazon FreeRTOSは、もちろん クラウドへの接続性 を持っています。マイクロコントローラからAWS IoTに接続するために必要なすべてのライブラリを含んでいます。データをAWSにアップロードして分析できます。
さらに、証明書の管理や、ハードウェアが提供するTPMモジュールやTPSオフロードなどのリソースを管理するための セキュリティライブラリ も含んでいます。ローカルネットワークでマイクロコントローラからクラウドへの接続をセキュアに保つための暗号化機能もあります。
そして、無線アップデートのエンジンを搭載しました。これはストリーミングサービスでマイクロコントローラからコード署名を統合して使うためのもので、近々リリース予定です。
Amazon FreeRTOSは、本日から使えます。名前が示唆するとおり、フリーかつオープンソースです。MITライセンスが適用されます。
さらに重要なこととして、Amazon FreeRTOSはFreeRTOSを元にしているので、次のような既存のエコシステムを使えます。
- IAR社: Amazon FreeRTOSで動作する組み込みのワークベンチ
- Percepio社: 実行環境の動作を可視化するトレースツール
- WITTENSTEIN社 (ドイツ): 認証済みの安全なバージョンのFreeRTOSを提供
- 医療、航空、自動車などの分野のアプリケーションに利用できる
- チップセットの製造メーカ: ARMや前述のBig four
ここで、Texas InstrumentsのMattias Langeさんの発表です。彼らの顧客がマイクロコントローラに接続できるようにするために、チップセット上でどんなことをしているかを話してくれます。
Texas Instruments
Texas Instruments (以下、TI) は、半導体製造メーカです。大きな物から小さな物まで100,000種類以上の部品を持っていて、マイクロコントローラ、マイクロプロセッサ、アナログ信号チェーン、電源管理などを持っています。
しかし、たとえこれらすべてがあっても、TIだけですべてのソリューションを賄うことはできません。ですので、皆さんがクラウドサービスから組み込み機器へ接続するのを支援する、AWSとのコラボレーションにワクワクしています。
"things"の解剖学
Dirkが話したとおり、エンドノードの構築にはいくつかの課題があります。もしIoTを全面的に利用できるとしたら、あなたは組み込みのマイクロコントローラをただ手に入れたいだけでなく、たとえばWi-Fiでワイヤレス接続がしたいでしょう。いわゆるWi-Fiデバイスです。
TIは、ワイヤレスマイクロコントローラと呼ばれるものの先駆企業です。ワイヤレスマイクロコントローラはチップで、その一部のメモリやMIPSなどは100%あなたのアプリケーションのために使うことができ、その他の部分はTCP/IPスタックやTLSセキュリティの上で動作するWi-Fi radioです。あなたが無線周波数やWi-Fiプロトコルについて詳しくなる必要はありません。それらのすべては、ワイヤレスマイクロコントローラが内部で面倒をみてくれます。
ビデオインターフォン、サーモスタット、煙探知機などのたくさんのWi-Fi接続デバイスのおかげで、これらはとても簡単にできるようになりました。しかし、工場の自動化のような目的のためには、もっと高度な機能を使いたいかと思います。TIは、多くの顧客が組み込みデバイス側からクラウドに接続することを強く望んでいることに気づきました。
完全なソリューション
そのため、今回、完全なソリューションを提供できることをうれしく思います。この完全なプラットフォームでは、あなたのデバイスのエンドポイントから、ビッグデータ、AI、ライフサイクルマネジメントなどのAWSの素晴らしいサービスにアクセスできます。
End-to-end security
世の中にはさまざまな脅威が存在するため、あなたは素晴らしいプロダクトを作るだけではなく、セキュリティも必要です。ご存じのとおり、セキュリティは弱い鎖の部分から切れるものですので、クラウドからエンドポイントまでのend-to-endのセキュリティが必要です。
TIのWi-Fiマイクロコントローラのようなデバイスは、ハードウェアとソフトウェアの中に25個の異なるセキュリティ機能を持っていて、顧客がend-to-endレベルのセキュリティ機能を構築するのをサポートします。たとえば、無線アップデートの際に、ハードウェアベースのroot権限認証を使ったり、ハードウェアごとに一意のデバイスIDを使って特定のデバイスとだけ通信したりできます。
TIは、end-to-endセキュリティのブロックをプラットフォームとして提供することで、顧客がアプリケーションの差別化に集中できるようにします。そしてまた、たとえばセンサーとして10年動かすバッテリー駆動のデバイスなど、Wi-Fi接続が適合しないものもあるでしょう。じつは、これもTIのプラットフォームの一部です。SimpleLink MCU Platformに属するTIのデバイスは、Wi-Fi、Bluetooth、Sub-1GHz、Ethernetなどのコンポーネントを使えます。これらはすべて同じSDKを使っています。前例のないスケーラビリティを提供するハードウェアプラットフォームと、800以上のデバイスが、本日 (2017年11月30日) から利用可能です。
Amazonのクラウドソリューションとこのプラットフォームが、工業革命を次のレベルに引き上げ、IoTの活用を発展させると信じています。
カリフォルニア工科大学のJet Propulsion Laboratory
ここで、Jet Propulsion Laboratory (以下、JPL) のTom SoderstromさんとMik Coxさんによる火星探査ロボット (open-source Rover) のデモンストレーションです。
宇宙空間は、冷たく孤独で遠隔にあり、多様なものに満ちています。JPLは、太陽系と太陽系を超えたNASAのロボット宇宙探査をリードしています。たとえその距離を越えられたとしても、私たちが発見できるものが何であるか、本当にはわかりません。そのため、AIを使ったり、多様性を確保したり、エッジに住まなければいけません。
このデモンストレーションでは、分散された脳、分散された体と私たちが呼んでいるプロトタイプをお見せします。まさにエッジコンピューティングで、JPLのエンジニアやITプロフェッショナルの独創性と、新しい技術を通して生まれました。「生命を発見せよ」というNASAのミッションを担う多様なロボットの群れです。
このロボットは、Amazonやその他の小売店から購入できるパーツだけを使って制作されています。注文して、ガレージで組み立てることができます。全部で$2,500くらいです。
今日は、このロボット群がステージ上で火星人を探します。この仕事を単独で成し遂げられるとは思いませんので、ロボットは壁にぶつかったら小さな壁登りロボットをデプロイします。また、pufferと呼ばれるもっと小さなロボットたちを、探査のためにデプロイします。
※セッション動画(57:00-)をご覧ください。
ロボットが送ってくるライブ映像を、Webサイトで見ることができます。ロボットは壁にぶつかり、とても小さな壁登りロボットをデプロイして、壁を登らせます。壁登りロボットのコンピューティングパワーは、マイクロコントローラです。壁登りロボットが壁の向こうで生命らしきものを発見したので、探査のためにpufferたちがデプロイされました。
Greengrassコアがopen-source Rover自体の上で動いています。また、小さなロボットの上では、Amazon FreeRTOSが動いています。ロボットから送られたデータを分析して、ロボットにフィードバックしています。
このデモンストレーションでは、異なるキャパビリティの多様なロボットの群れをお見せしました。それらのロボットは小さいので、今まではロボット同士で通信をするのに十分ではありませんでした。そこで、私たちはロボットたちがコミュニケーションできるようにキャパビリティを拡張して、これまでは不可能だった範囲まで探査のキャパビリティを拡大しました。
IoT with AWS
JPLのデモが示したように、テクノロジーがエッジをどんどん押し広げていきます。さて、顧客がアセットのすべてのステートを把握できるようにするというミッションから始めましょう。
まずエッジから始めましょう。マイクロコントローラのためのOSである Amazon FreeRTOS は、ローカルネットワークとクラウド間の接続をセキュアに保ちます。よりパワフルなデバイスの上で動く Amazon Greengrass は、ローカルでLambda処理を実行したり、ローカルメッセージングを扱ったり、セキュアに状態を同期したりするためのソフトウェアパッケージです。
クラウドでは、AWS IoTコアから見ていきましょう。デバイスに接続して、制御できます。 AWS IoT Device Management は、フリートを正常に保ちます。 AWS IoT Defender は、フリートをセキュアに保ち、AWS IoT Analytics は、デバイスから来るデータを簡単かつ素早く分析できるようにします。
これらすべてのサービスを統合して、エンタープライズで利用するアプリケーションを構築できます。ナレッジと専門性をあなたに提供するAWSパートナーのこともお忘れなく。
IoTをもっとシンプルにできるか
これ以上シンプルにしたり早くしたりはできないという状態ですが、あなたはもっとシンプルにできないだろうかと考えるかもしれません。たとえば、ボタンを1つクリックするだけで何かを注文したり、工場の機器に何か問題が起きたらただクリックするだけで誰かがメンテナンスに来てくれたりする感じです。
IoT with 1-click
ワンクリックで動作するIoTとは、次のようなイメージです。
- 関連づけたLambda関数をワンクリックで有効化できるデバイスを入手する
- 設定してデプロイする
- レポートを抽出する
AWS IoT 1-click
AWSは、まさにそのためのサービスとして、AWS IoT 1-Clickを発表しました。
AWS IoT 1-clickのすべてのデバイスは、完全に事前プロビジョニングされていて、あなたは何もする必要がありません。最初のサードパーティ製品の1つであるワイヤレスのAWS IoTボタンは、うれしいことに完全にゼロプロビジョニングです。AT&Tに注文して入手できます。
そして、iOSやAndroidのアプリケーションにデバイスを登録し、たとえばSMSを送信するLambda関数など、好きなLambda関数を選ぶだけで、もう動作します。ダッシュボードでは、デバイスをクリックした回数や実行回数を見ることができます。
もっと詳しく知りたい場合、より深いトピックのセッションをご覧ください。
おわりに
IoTの新サービスを、その登場ニーズから解説するセッションでした。これからAWSでIoTを始める人にとっても、どのサービスが何のためにあるかがわかりやすかったと思います。また、それぞれのローンチパートナーによる事例発表も興味深いものでした。
それでは、また。