「AWS IoT Core の特徴」

AWS IoT Core によって、さまざまなデバイスを AWS の各種 Services や他のデバイスに接続し、データと通信を保護し、デバイスデータに対する処理やアクションを実行することが可能になります。アプリケーションからは、デバイスがオフラインの状態でもデバイスとのやり取りが可能です。

主な特徴

AWS IoT デバイス SDK

AWS IoT デバイス SDK を使用すれば、ハードウェアデバイスまたはモバイルアプリケーションを簡単かつすばやく AWS IoT Core. に接続できます。AWS IoT デバイス SDK を使用すれば、AWS IoT Core との間で MQTT、HTTP、または WebSockets プロトコルを介した接続、認証、メッセージ交換が可能になります。AWS IoT デバイス SDK では C、JavaScript および Arduino がサポートされており、クライアントライブラリ、開発者ガイドおよびメーカー向けの移植ガイドが付属しています。オープンソースの SDK を使用することや、独自に SDK を作成することも可能です。

詳細については、AWS IoT Device SDK の文書をお読みください。SDK をダウンロードしてすぐに開始することもできます。

デバイスゲートウェイ

デバイスゲートウェイは IoT デバイスが AWS に接続する入口の役割を果たします。デバイスゲートウェイはすべてのアクティブなデバイスの接続を管理し、複数のプロトコルに対するセマンティックスを実装して、デバイスが AWS IoT Core と安全で効率的に通信できるようにします。現在、デバイスゲートウェイでは MQTT、WebSocket、HTTP 1.1 プロトコルがサポートされています。MQTT または WebSockets で接続するデバイスでは、デバイスゲートウェイは長時間の、双方向性接続を維持して、これらのデバイスが低レイテンシーでいつでもメッセージを送受信できるようにします。デバイスゲートウェイは完全マネージド型で、自動的にスケーリングして、ユーザーがインフラの管理をしなくても 10 億以上のデバイスをサポートします。

詳細については、AWS IoT Core ユーザーガイドのプロトコルセクションを参照してください。

メッセージブローカー

メッセージブローカーは高スループットの pub/sub メッセージブローカーで、ユーザーのすべての IoT デバイスとアプリケーションと低レイテンシーで安全にメッセージを送受信します。メッセージブローカーのトピック構造は柔軟ですので、どのような数のデバイスともメッセージのやり取りができます。1 対 1 のコマンドとコントロールメッセージから、1 対 100 万 (またはこれ以上も!) ものブロードキャスト通知システムまでのメッセージパターンをサポートします。さらに、アクセスコントロールをきめ細かに設定して個々の接続の許可をトピックレベルで管理できるようにして、お客様のデバイスとアプリケーションが、送受信するべきデータのみを送受信するようにします。メッセージブローカーは完全マネージド型のサービスですので、どのような使い方をしても、お客様がインフラを実行しなくても、そのメッセージ量に自動的にスケーリングします。

詳細については、AWS IoT Core ユーザーガイドのメッセージブローカーのセクションを参照してください。

認証と認可

AWS IoT Core では、接続するすべてのポイントでの相互認証と暗号化が提供されており、デバイスと AWS IoT Core 間では身元が証明されたデータのみが交換されます。AWS IoT Core では、AWS の認証方法 (「SigV4」と呼ばれる)、X.509 証明書ベースの認証、お客様が作成したトークンベースの認証 (カスタムオーソライザーを使用) がサポートされています。HTTP による接続ではこれらの方法のいずれかを使用できます。MQTT による接続では証明書ベースの認証、WebSockets による接続では SigV4 またはカスタムオーソライザーを使用できます。AWS IoT Core では、AWS IoT Core によって生成された証明書、および推奨される認証機関 (CA) によって署名された証明書を使用できます。それぞれの証明書に対して任意のポリシーをマッピングでき、デバイスに触れることなく、デバイスやアプリケーションによるアクセスを認証したり、考えが変わったときにすべてのアクセスを取り消したりできます。

デバイスについての証明書やポリシーの作成、デプロイおよび管理は、コンソールから、または API を使用して実行できます。これらのデバイス証明書のプロビジョニング、アクティベーションおよび関連付けは、AWS IoT Core を使用して設定された関連する IoT ポリシーによって行うことができます。これにより、必要な場合にはいつでも個別のデバイスのアクセスを即座に取り消すことができます。AWS IoT Core では、Amazon Cognito を使用して、ユーザーのモバイルアプリケーションからの接続もサポートしています。アプリケーションのユーザーに一意の ID を作成し、権限が限定された一時的な AWS 認証情報を取得するために必要なすべての手順は Amazon Cognito によって処理されます。デバイスで X.509 証明書による認証が行われると、AWS IoT Core では一時的な AWS 認証情報の提供が行われます。これにより、デバイスは DynamoDB や S3 のような AWS のその他のサービスに簡単にアクセスできます。

詳細については、AWS IoT Core ユーザーガイドの「Security and Authentication」セクションを参照してください。

レジストリ

レジストリによって、デバイスの ID が確定され、デバイスの属性や機能といったメタデータが追跡されます。各デバイスには、デバイスのタイプや接続方法にかかわらず、一貫した形式の一意の ID がレジストリによって割り当てられます。センサーが温度を報告するかどうか、および温度データが華氏か摂氏かといった、デバイスの機能を説明するメタデータもサポートされています。

レジストリではデバイスについてのメタデータを追加料金なしで保存でき、最低 7 年間に 1 度レジストリのエントリを更新していれば、レジストリ内のメタデータが期限切れになることはありません。

詳細については、AWS IoT Core ユーザーガイドの「Registry」セクションを参照してください。

デバイスシャドウ

AWS IoT Core では、それぞれのデバイスについて「シャドウ」、つまり永続的な仮想バージョンを作成できます。デバイスシャドウにはデバイスの最新の状態が保存されるため、アプリケーションや他のデバイスからのメッセージの読み出し、およびデバイスとの通信が実行できます。デバイスシャドウには、デバイスがオフライン状態のときでも、各デバイスについて最後に報告された状態と、希望する今後の状態が保持されます。最後に報告された時点の状態の取得や、希望する今後の状態の設定は、API またはルールエンジンによって実行できます。

デバイスシャドウでは、REST API が常時利用できるため、デバイスと協働するアプリケーションの構築が容易になります。さらに、アプリケーションではデバイスの現在の状態を取得することなく、希望する今後の状態を設定できます。希望する状態と最後に報告された時点の状態との相違は AWS IoT Core によって比較され、相違を補うようデバイスに対してコマンドが送られます。

AWS IoT デバイス SDK によって、簡単にデバイスの実際の状態とデバイスシャドウを同期させ、デバイスシャドウによって設定された希望する今後の状態に対応させることができます。

デバイスシャドウには、デバイスの状態を最大 1 年間無料で保存できます。最低 1 年間に 1 度更新していれば、デバイスシャドウは無期限に継続できます。更新しなかった場合は消去されます。

詳細については、AWS IoT Core ユーザーガイドのデバイスシャドウのセクションを参照してください。

ルールエンジン

ルールエンジンによって、インフラストラクチャの管理を一切必要とせずに、接続されたデバイスによって生成されるデータを収集し、処理し、分析し、データに基づいたアクションを実行するアプリケーションを構築することが可能になります。ルールエンジンでは、お客様が定義したビジネスルールに基づいて、AWS IoT Core に向けて発行された入力メッセージが評価、変換され、別のデバイスやクラウドサービスへと配信されます。1 つのデバイスからのデータにも、多数のデバイスからのデータにも同じルールを適用でき、アクションを単独で実行することも、多数のアクションを並行して実行することも可能です。

ルールエンジンによって、AWS Lambda、Amazon Kinesis、Amazon S3、Amazon Machine Learning、Amazon DynamoDB、Amazon CloudWatch、および Amazon Elasticsearch Service (組み込みの Kibana と統合されている) などの AWS エンドポイントへのメッセージのルーティングも行えます。AWS Lambda、Amazon Kinesis および Amazon Simple Notification Service (SNS) を使用して外部のエンドポイントに届けることも可能です。

ルールは、マネジメントコンソール内で作成するか、または SQL に似た構文を使用して作成します。メッセージの内容に応じて異なる動作をするようにルールを作成できます。例えば、温度の読み取り値が一定のしきい値を越えたときに、AWS Lambda にデータを送信するルールをトリガーするようにします。他のデバイスからのデータなど、クラウド内の他のデータを組み合わせるようにルールを作成することも可能です。例えば、温度が他の 5 つのデバイスの平均より 15% 以上高かった場合にアクションを実行するよう設定できます。

ルールエンジンにはデータの変換に使用可能な数十の機能が準備されており、AWS Lambda を介することで無限に増やすことが可能です。例えば、広い範囲の値を扱っている場合、入力される数値の平均を取ることができます。ルールからは、AWS Lambda 内の Java、Node.js または Python コードをトリガーすることも可能なので、最大限の柔軟性と能力を備えたデバイスデータ処理が行えます。

詳細については、AWS IoT Core ユーザーガイドの「Rules Engine」セクションを参照してください。

AWS IoT Core 料金の詳細

料金ページを見る
始める準備はできましたか?
サインアップ
ご不明な点がおありですか?
お問い合わせ