2021/01/12

AWS IoT Coreとは?デバイス接続するためのマネージド型クラウドサービス

 
  

AWS IoT Coreとは?


AWS IoT Coreとは、Amazonのサービスを利用して、インターネットに接続されたデバイスから、入力された情報とデータを安全に連携する為のマネージド型クラウドサービスです。

AWS IoT Coreを使用すれば、デバイスがインターネットと未接続の時でも、常に通信できます。

IoTとは?

IoTとは、インターネットに接続されていなかったものが、ネットワークを通じて相互に情報交換する仕組みです。

ものがインターネットと接続されることによって、データの連携が可能になります。

IoTの技術を活用することによって、これまでに無かったものの価値が高くなり、より良いサービスが生み出されます。

AWS IoT Coreのメリット


AWS IoT Coreを使用することで、学習されたルールをもとに、外部デバイスを連携させ、指示するアプリケーションを開発及び構築ができます。

開発及び構築したアプリケーションは、Amazon側が提供するサービスを簡単に使用できます。

安全性

接続されたデバイスは高度な暗号化がされ、身分がわからない外部デバイスからの干渉を防ぎます。

また、IoT端末から入力情報を抜き取られる恐れや、設定されていない端末を勝手に接続されクラウドの情報を操作される心配がありません。

デバイスゲートウェイ

デバイスゲートウェイは、IoTデバイスとAWS IoT Coreを接続するための入り口が用意されており、10億以上のデバイスがサポートされています。

また、アクティブ可能なデバイスの接続を管理し、複数のプロトコルに対するセマンティック(コンピュータに文章や情報の持つ意味を正確に解釈させ、文章の関連付けや情報収集などの処理を自動的に行わせる技術)を実装して、デバイスがAWS IoT Coreと通信できるようにします。

メッセージブローカー

メッセージブローカーはPub(送信側のクライアント)/Sub(受信側のクライアント)のメッセージブローカーで、ユーザーのIoTデバイスとアプリケーションを低レイテンシー(通知の遅延時間が短いこと)で安全にメッセージを送受信できます。

デバイスがいくつであっても、メッセージがやり取りでき、1対1から1対100万以上ものブロードキャスト通知システム(プッシュ通知が使用可能なアプリケーション)のメッセージパターンがサポートされています。

認証と許可

デバイスがアクセスするときに、デバイスとAWS IoT Core間で身元が証明されたデータを交換します。

AWS IoT Coreでは、認証方法が3つあり、AWS側の認証、証明書ベースの認証、個人で作成したトークンベースの認証、またはカスタムの認証がサポートされています。通信プロトコルのMQTTによる接続では証明書ベースの認証、WebSocketsによる接続ではAWS側の認証、またはトークンベースの認証、カスタムの認証を使用できます。

HTTPSによる接続では、3つの認証方法のいずれかを使用できます。それぞれの証明書に対してマッピングでき、デバイスによるアクセス認証を触れることなく使用できます。

また、変更や改善したい場合は、設定したアクセスを削除できます。

通信プロトコルMQTT

MQTTとはPub/Sub型メッセージを使用して、メッセージを伝送するためのプロトコルです。

Pub/Sub型は様々なものがあり、標準化されているもの、またはされていないものもありますが、MQTTというプロトコルは標準化されています。

MQTTの特徴は、軽量、オープン、シンプル、そして実装しやすいように設計されています。

これらの特性により、マシンツーマシン(M2M)やもののインターネット(IoT)のコンテキストでの通信など、小さなコードフットプリントが必要な場合やネットワーク帯域幅が貴重な場合など、多くの状況での使用に最適です。

また、インターネットに直接接続されていないデバイスでも、物理的なハブを経由することにより、AWS IoT Coreにアクセスができます。

レジストリ

レジストリとは、設定情報のデータベースであり、IoTデバイスにIDが割り当て、デバイスの属性や機能といったメタデータを管理できます。

接続されたデバイスの中にはIDがあり、レジストリによってIDが割り当てられ、デバイス機能を説明するメタデータもサポートされています。

デバイスシャドウ

デバイスシャドウとは、IoTデバイスにシャドウ(永続的な仮想バージョン)を作成でき、その中にIoTデバイスの最新状態を保存できます。

IoTデバイスがオフラインの場合でも、最後に更新された情報が保持されます。これらの更新された情報の状態や、今後の更新情報などの取得設定は、APIまたはルールエンジンによって実行するこができます。

ルールエンジン

ルールエンジンとは、物事の判断過程をプログラム化して実行するソフトウェアです。

プログラム化されたデバイスは、ルールに基づいたアクションを実行することによりデータを収集します。収集されたデータは、AWS IoT Coreに向けられて入力メッセージが発行され、ほかのデバイス機器に転送できます。

また、複数のデバイスからデータを収集するときは、同じプログラム化されたルールを使用できます。

AWS IoT Coreの使い方


どのようなデバイス、どのようなアプリケーションを構築したいかにより、使用方法は異なります。

AWS IoT Coreにはパッケージ化されているスターターキットがあり、公式によるチュートリアルが公開されています。本記事では、導入するための一部を紹介いたします。

AWSアカウントセットアップ

AWS IoT Coreのサービスを利用する前に、AWSアカウントを登録する必要があります。

すでにAWSアカウントが登録されている場合は、再登録の必要はありません。

インタラクティブなデモンストレーションを試す

このデモンストレーションは、AWS IoT Coreソリューションでデバイスに接続したり、ソフトウェアをダウンロードしたりせずに、何ができるかを確認する場合に最適です。

また、どのようにやり取りするかシミュレーションできます。

クイック接続チュートリアルを試す

このチュートリアルでは、AWS IoTソフトウェアをインストールしたデバイスが必要です。

AWS IoT Coreを開始して、限られた機能でどのように操作できるか確認する場合に最適です。

また、IoTデバイスがない場合、OSのWindows、Linux、Macのパーソナルコンピューターをこのチュートリアルのデバイスとして使用できます。

AWS SDK

AWS SDKとは、AWS IoT Coreを含むソフトウェア開発キットです。

1つのパッケージに、AWSのAPIが提供され、コードライブラリ、コードサンプル、およびドキュメントが含まれています。

AWS IoT Device SDK

AWS IoT Device SDKを使用すれば、ハードウェアデバイスまたはモバイルデバイスを簡単かつはやくAWS IoT Coreに接続できます。

このAWS IoT Device SDKには、デバイスゲートウェイおよびデバイスシャドウを開始するための機能がサポートされています。

AWS Partner Device Catalog

AWS Partner Device Catalogには、AWS IoT Coreで使用できるIoTデバイスが一覧表示されています。

手持ちにあるデバイス、あるいは新しくデバイスを構築する際に利用できます。

AWS IoT Coreの料金


AWS IoT Coreには無料利用枠があり、AWSアカウントを作成した日から12ヶ月利用できます。

AWS IoT Coreの無料利用枠を一部紹介します。デバイス接続時間2,250,000分、メッセージ 500,000件、トリガールール 250,000件、実行アクション 250,000件となります。

まとめ


ここ数年で急速に発達し、普及し続けているIoTは、これから先もっと私たちの生活を豊かに、便利にしてくれるでしょう。

本記事で紹介しましたAWS IoT Coreは、IoTに欠かせないクラウドサービスの一つであり、誰でも構築できるのが魅力的です。

上記で挙げたこと以外でもたくさんの便利機能や特徴があります。もっと詳しく知りたい方は、公式サイトなどで是非調べてみてください。

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】