Amazon Web Services ブログ
AWS IoT Device Client で 3 時間以内に IoT ソリューションの概念実証を構築
はじめに
あなたの IoT の取り組みは、これから始めようとしている段階かもしれませんし、すでに数千台のデバイスを運用している段階かもしれません。また、IoT ビジネスアプリケーションを開発したばかりで、これからデバイス群へのデプロイを検討している方もいるでしょう。多くの方が、IoT デバイスの制御、更新、監視、そしてセキュリティ保護の実現方法を模索されていることと思います。そこで AWS は皆様の IoT の取り組みをサポートするため、「Get Started with AWS IoT (英語版)」の提供を開始することをお知らせいたします。こちらをクリックしてワークショップにアクセスしてください。
このハンズオンワークショップでは、AWS IoT Device Client を使用した IoT プロジェクトの概念実証 (PoC) を、ステップバイステップで解説します。3 時間のワークショップを通じて、以下の内容を学んでいただけます。
- IoT デバイスをインターネットに安全に接続し、AWS IoT Core で登録、オンボーディングします
- AWS IoT Device Management を使用してデバイスをリモート制御します。AWS IoT ジョブを使ってシンプルな Over-The-Air (OTA) リモート操作を実行し、セキュアトンネリングを使って SSH アクセスを設定してトラブルシューティングを行います
- AWS IoT Device Defender を使用して、毎日セキュリティ監査を設定し、デバイスの「ハートビート」のような健全性メトリクスを監視します
AWS IoT Device Client は C++ で記述されたオープンソースであり、GitHub で入手可能です。 組み込み Linux ベースの IoT デバイスでコンパイルしてインストールすれば、AWS IoT Core、AWS IoT Device Management、AWS IoT Device Defender の利用を開始できます。
前提条件
このワークショップを完了するには、次のものが必要です。
- 管理者権限のある AWS アカウント、または Event Engine の詳細情報。新しい AWS アカウントをここで作成できます。
- 最新のブラウザ (Firefox や Chrome など) がインストールされたコンピュータ
- Linux の基本的な知識 (ディレクトリの作成、ファイルパーミッションの設定など) とプログラミング (コードのコンパイル) の知識
AWS IoT Device Client の使用シナリオ
ユースケースの例
AWS IoT Device Client は、リファレンス実装であり、IoT の概念実証 (PoC) を作成する最も簡単な方法です。デバイスフリートをインターネットに簡単に接続し、IoT データを AWS に転送できます。デフォルトでは、AWS IoT サービスを使用して、フリートを運用、管理、制御したり、脅威から保護したりできます。オープンソースなので、ビジネスニーズに合わせて変更したり、ビジネスアプリケーションを AWS IoT の機能を利用できるように接続したり、PoC から本番環境へのスケールアップ時にリソース活用を最適化したりできます。AWS IoT Device Client が解決するユースケースの例は次のとおりです。
- [最初の接続とプロビジョニング] 本番デバイスのフリートをプロビジョニングし、インターネットに接続したいと考えています。
IoT Device Client を使えば、デバイスが自動的に AWS IoT Core に接続し、IoT Core Identity サービスから安全な個別の ID を取得し、IoT Core デバイス レジストリに自身を登録できます。 - IoT ソリューション向けのカスタムビジネスアプリケーションを作成しました。IoT Device Client は、そのアプリケーションに機能の基盤を提供します。
- [メッセージング] MQTT を利用して、アプリと通信データ、状態、コントロールメッセージをやり取りしたいと考えています。
IoT Device Client を使えば、デバイスが MQTT 経由で AWS IoT Core デバイス ゲートウェイに接続でき、その接続をアプリと共有できます。デバイスに簡単な設定を行うだけで、AWS IoT Core メッセージ ブローカーを介してカスタム MQTT トピックを Publish/Subscribe できます。また、アプリから AWS IoT Core ルール エンジンに直接 Basic Ingest でデータを公開することで、メッセージングコストを削減できます。 - [コントロール] デバイスの状態やアプリの設定を読み書きしたいと考えています。
IoT Device Client を使えば、アプリが AWS IoT Core デバイス シャドウと対話できるので、デバイスが長期間オフラインでも、デバイスの状態やアプリの設定を取得/設定できます。 - [運用とアップデート] アプリの新バージョンに移行したり、ファームウェア /OS のアップデートをデプロイしたり、フリート全体をリモートで再起動したいと考えています。
IoT Device Client を使えば、AWS IoT Device Management ジョブを直接利用でき、対象のデバイスへのデプロイ、デプロイの速度制御、ステータス追跡が可能で、デバイスが一時的にオフラインになる環境でも対応できます。 - [トラブルシューティングとアクセス] デバイスのトラブルシューティング、ログの取得、Secure Shell (SSH) によるメンテナンスへのアクセスを行いたいと考えています。
IoT Device Client を使えば、デバイスから AWS IoT Device Management セキュアトンネル機能を利用し、管理者権限で Admin コンソールへの同期アクセスが可能です。 - [モニタリングとセキュリティ] 不審な振る舞いを検出し、フリートを侵害から守るため、開放されているポートやデータ入出力量などのデバイス側のヘルス メトリクスをハートビートとして送信したいと考えています。
IoT Device Client を使えば、デバイスがメトリクスを定期的に MQTT 経由で AWS IoT Device Defender サービスに自動送信できます。
- [メッセージング] MQTT を利用して、アプリと通信データ、状態、コントロールメッセージをやり取りしたいと考えています。
AWS IoT Device Client のアーキテクチャの概要<
互換性
AWS IoT Device Client [GitHub] は現在、一般的なマイクロプロセッサ (x86_64、ARM、MIPS-32 アーキテクチャ) および Linux ソフトウェア環境 (Debian、Ubuntu、RHEL) 上で動作します。 また、制約のあるデバイスや特定の目的で作られたデバイス向けに、Yocto Linux ディストリビューションにビルドできる AWS IoT Device Client の meta-aws レシピ も提供しています。
まとめ
AWS IoT Device Client を使用して AWS IoT の利用を開始する場合は、この ワークショップ をお試しください。
AWS IoT Device Client を使うと、IoT プロジェクトの概念実証 (PoC) を簡単に実施できます。 接続、管理、IoT フリートのセキュリティ確保に関わる一般的な重労働の大部分を AWS IoT Device Client が肩代わりします。これにより、IoT プロジェクトの初期投資を削減できます。 あとは IoT のビジネスロジックとアプリの開発に集中できます。 AWS は、AWS IoT Device Client を実用的なツールとしてサポートし続けます。 このツールには、運用およびセキュリティのベストプラクティスが組み込まれた参照実装です。 新しい AWS IoT の機能が一般に利用可能になるとともに、IoT のベストプラクティスが確立されれば、当社はこのソフトウェアを適切に更新し、それらをサポートしていきます。
この記事は Syed Rehan, Shantanu Sathe によって書かれた Build a proof-of-concept IoT solution in under 3 hours with the AWS IoT Device Client の日本語訳です。プロフェッショナルサービス本部 シニア IoT コンサルタントの宮本 篤が翻訳しました。
著者について