クラウド図鑑 Vol.37

Amazon は、2015年3月に、モノのインターネット(IoT)プラットフォーム専業のベンチャー企業「2lemetary」を買収した。その後、2015年10月に、AWS (Amazon Web Service) は、デバイスをクラウドアプリケーションやその他のデバイスとやり取りできるマネージド型クラウドプラットフォーム「 AWS IoT 」を発表した。  AWS IoT は、デバイス用のSDKのようなフロントエンドのソフトウェアや、ゲートウェイ、認証、ルールエンジンといった中間のサービス群で構成され、AWSによれば、「数十億のデバイスと数兆のメッセージをサポートし、それらのメッセージを AWS エンドポイントおよび他のデバイスに確実かつ安全に処理しルーティングする」としている。そして、フロントエンドから、定評のあるAWSのサービスである「AWS Lambda」、「Amazon Kinesis」、「Amazon S3」、「Amazon Machine Learning」、「Amazon DynamoDB」 などをバックエンドとして接続して、デバイスによって生成されたデータを収集/処理/分析する、包括的な  IoT プラットフォームを構築できることが最大の特徴である。また、「AWS Lambda」のようなサーバーレスのアーキテクチャおよびマネージドサービスによって運用・管理の負担も軽減するように考えられている。AWS IoTは、2015年12月の時点ではベータ版であるが、既に東京リージョンで利用できるようになっている。(2015年12月21日追記) AWS IoT は、米国時間2015年12月18日から正式提供(GA)が開始され、東京リージョンで利用できるようになっている。

AWS IoT発表 の動画 (英語)

(クリックで再生)

URL  https://aws.amazon.com/jp/iot/
2015年12月7日 2015年12月21日改訂 株式会社クラウディット 中井雅也
他のIoTクラウドサービスを見る

機能

 「AWS IoT デバイス SDK」が用意されており、 これにより、デバイスとAWS IoT サービスとの間で MQTT または HTTP プロトコルを介した接続、認証、メッセージ交換ができる。C、JavaScript および Arduino のプログラミング言語をサポートしている。また、開発者ガイドと移植ガイドを提供している。
 「デバイスゲートウェイ」のービスをデバイスの接続先として提供し、安全かつ効率的な通信を可能にする。デバイスゲートウェイでは、Pub/Subモデルによる1 対 1 および 1 対多(一斉同報、ブロードキャスト)のメッセージ通信が可能。プロトコルは MQTT および HTTP 1.1 プロトコルをサポートし、数 億台のデバイスでも自動スケールするとのこと。
 「認証と認可」のサービスにより、接続するすべてのポイントでの相互認証と暗号化が提供している。
 「レジストリ」のサービスによって、デバイスの ID を確定し、デバイスの属性や機能といったメタデータを管理する。
 「シャドウ」による永続的な仮想デバイスによって、物理デバイスがオフラインでも状態を保持する。状態の設定は、REST API またはルールエンジンによって実行可能。
 「ルールエンジン」によって、デバイスによって生成されたデータを、ビジネスルールに基づいて、評価し、仕分け(ルーティング)や変換を行い、別のデバイスやクラウドサービスへと配信する。アクションを単独で実行することも、多数のアクションを並行して実行することも可能で、「AWS Lambda」、「Amazon Kinesis」、「Amazon S3」、「Amazon Machine Learning 」、「Amazon DynamoDB 」などの AWS バックエンドサービスへのルーティングが行える。ルールは、マネジメントコンソール内で作成するか、または SQL に似た構文を使用して作成し、メッセージの内容に応じて異なる動作をするようにルールを作成ができる。例えば、温度センサーの値が、設定温度より高い時、他のセンサーの平均より温度が高い時、などのルールに対してアクションを設定できる。また、ルールエンジンには、データの変換に使用可能な数十の機能があるが、AWS Lambda を介することで、ほぼ制限なく拡張が可能。
 以上が「AWS IoT」の概要であるが、これらはIoTのフロントおよびミドル層に位置づけられ、主にデバイスの接続とデータの転送や収集を中心としたサービス群であり、AWSのIoTプラットフォームの全体像は、既に定評がある既存のサービス群をバックエンドとして組み合わせることで実現する。ここで想定されるバックエンドのサービスは、
・「AWS Lambda」サーバーレスでプログラムを実行するマネージドサービス
・「Amazon Kinesis」高速なストリーミング処理を行うマネージドサービス
・「Amazon S3」高い可用性を実現しながら低価格のオブジェクトストレージサービス
・「Amazon Machine Learning 」機械学習のサービス
・「Amazon DynamoDB 」従来のRDBにはないスケールアウト処理が可能なNoSQLサービス
などである。他にもDWHサービスの「Redshitt」やHadoopサービスの「Elastic MapReduce」などがデバイスによって生成されるビッグデータの分析に有用だと考えられる。

使いやすさ

AWSの他サービスと同様に「AWSコンソール」から設定や構成ができる。また、バックエンドの処理はAWSの既存のサービスの利用を前提としており、AWSに関する技術的ノウハウや知識を一貫して活かすことができる。逆に、AWSの独自の用語や流儀について知っておくべきである。

マニュアルや書籍など

開発者用のDeveloper GuideやAPI ReferenceなどがAWSから提供されているが、サービスの正式提供が開始された直後の2015年12月時点では英語である。製品紹介などの情報は日本語で提供されている。

拡張性

「数十億のデバイスと数兆のメッセージをサポートし、それらのメッセージを AWS エンドポイントおよび他のデバイスに確実かつ安全に処理しルーティングする」としているが、2015年12月現在ではAWS IoTとしての拡張性のアーキテクチャは明らかにされていない。しかしながら、バックエンドの既存のAWSサービスは実証済みの高い拡張性を提供している。

可用性

2015年12月現在ではAWS IoTとしての可用性のアーキテクチャは明らかにされていない。しかしながら、バックエンドの既存のAWSサービスは実証済みの高い可用性を提供している。

SLA

2015年12月の時点では、 AWS IoT としてのSLAはない。

自動化機能

AWSの他サービスと同様にAPIによる自動化が可能だと予想される。また、AWS IoTのサービス全般にマネージドサービスとして提供されるため、管理や運用は自動化される。

セキュリティ

すべてのクライアント (接続されたデバイス、サーバーアプリケーション、モバイルアプリケーション、またはユーザー) に、認証 (X.509 証明書、AWS IAM 認証情報、または AWS Cognito 経由のサードパーティ認証) を要求し、すべての通信は暗号化する。AWS IoT では、認証されたクライアント内で通信を隔離および保護する、きめ細かな承認も提供する。

データセンターの場所

AWS IoT は、2015年12月時点では、東京リージョン、米国東部(バージニア)、米国西武(オレゴン)、欧州(アイルランド)から提供している。

実績・シェアなど

AWS IoT は、2015年12月に提供された新しいサービスであるが、フィリップスの「Health Suite」デジタルプラットフォームの15ペタバイトの情報収集と分析の事例や、Scout Alarmによるホームセキュリティシステムの事例がAWSのWeb上で紹介されている。 AWS IoT そのものではないが、国内事例としては、日本における「あきんどスシロー」が有名である。スシロー店舗のレーン上を流れるすし皿の ICタグ情報をリアルタイムにクラウド上に転送し、注文情報、来店状況などをリアルタイムで把握し、データをAmazon Redshiftに蓄積し分析している。

エコシステム

AWS IoTは新しいサービスであるがバックエンドのサービスは既存のものであり、AWS上の構築ノウハウを持つパートナーのエコシステムが活用できる。また、AWS IoT デバイス SDKと開発ボート、センサーなどをパッケージにした「スターターキット」が各種提供されており、アマゾンのネット通販などで販売されている。

価格および支払い方法

従量制で、料金は、AWS IoT に公開されたメッセージの数 (公開費用) と AWS IoT によってデバイスまたはアプリケーションに配信されたメッセージの数 (配信費用) に基づく。
(なお、Amazon S3Amazon DynamoDBAWS LambdaAmazon KinesisAmazon SNSAmazon SQS などの AWS の各種サービスへの配信には課金しない)。
東京リージョンでは、100万通のメッセージあたり8 USドル。AWS IoT の無料利用枠によって、毎月 250,000 の無料メッセージ (公開または配信できる) を 12 か月にわたってトライアルができる。