AWS Summit Online 2021期間中は無料のIoTハンズオンラボをやってみた #AWSSummit

まだ慌てるような時間じゃない。環境構築済みですぐにお目当てのサービスを触って試せて便利でした。2021/5/12 20:00まで無料です。
2021.05.11

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

AWS Summit Online 2021がはじまり、通常有料のセルフペースラボが 5/11 8:00 - 5/12 20:00まで無料と知りました。無料と知ったら「時間あったらやろう」と思いませんか?私は期限すぎてから「やっぱり時間なかったな」と言い訳する自信があるので今やってみました。

IoTのサービス触ってみたいのでIntroduction to AWS Internet-of-Things (IoT)をやってみます。

やってみた感想

  • IoTのハンズオンは1時間で終わりました。
  • 必要な環境はセットアップされており、触りたかったIoT Coreサービスに注力できました。
  • 自分のAWSアカウントではなく、用意されたAWSアカウント上で動かして試せます。
  • やってみてからわからない用語調べたら理解しやすかったので、手を動かしてなんぼだなと改めて思う。

Introduction to AWS Internet of Things (IoT)(日本語版)をやってみた

通常は有料のコンテンツなので詳細を載せにくいのでラボ自体の仕組みと、はじめてIoT Coreを触ったのでメモ用に設定箇所を残します。

この記事はIntroduction to AWS Internet of Things (IoT)(日本語版)の SPL-55 バージョン 2.1.11 の内容です。

ラボ環境

ラボを起動するとラボ用のアカウントに環境を構築してくれるようです。ハンズオンの資料読んで予習しながら待ちましょう。

ラボが起動すると必要な接続情報が左ペインに表示されました。待ち時間の間にハンズオン資料を読んでいて左側とは?どこ??と思っていたのですがラボが起動すると表示される仕組みでした。

EC2インスタンスが起動した状態のアカウントでした。後々IoTデバイスの代わりに利用されるインスタンスです。

ラボの情報に表示されているIPアドレスと、ダウンロードしたキーペアでSSH接続まですぐできました。環境構築に一切時間取られなくて嬉しいです。ラボ起動をクリックしただけでここまで進みました。

$ ssh -i ./IoTHandsOn.pem ec2-user@3.237.252.40
The authenticity of host '3.237.252.40 (3.237.252.40)' can't be established.
ECDSA key fingerprint is SHA256:IkZtHaZ8JSAAPGMY14yTcZlGSkOxxvC331RooSwvIPc.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '3.237.252.40' (ECDSA) to the list of known hosts.

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/

IoT Core

モノのタイプを作成してからモノを登録する順番で進みます。

まずタイプを作成。

タイプ作成完了。

次にモノの登録。

ハンズオンのテキストがわかりやすいですね。実際のコンソール上でクリックするボタンと同じデザインでハンズオンのテキスト作成されていて直感的でわかりやすいです。キャプチャだと小さくてわかりにくいかもしれませんが、青背景に白文字のボタンを押してという右側のテキストと、左側のコンソール画面で押すボタンと同じデザインです。

そうこうしてモノが完成。モノにタイプを紐付ける都合、タイプを先に作成する必要がありました。

証明書とポリシーをモノにアタッチする

アタッチするためにメニューを展開する箇所はここです。

どちらもアタッチしました。

メール通知するためにSNSトピックを作成しました。省略します。

ルールを作成します。

しきい値の設定はSQLのような構文ということを知りました。ルールクエリステートメントを設定して仮想の温度が60℃から80℃の間はSNS(Eメール)が通知される設定です。

SELECT * FROM 'house' WHERE temperature > 60 AND temperature < 80

EC2をIoTデバイスとみたてて、温度のデータを送信(パブリッシュ)していくスクリプトがEC2に準備されています。実行すると仮想の温度がどんどん上がっていきます。

MQTTテストクライアントがコンソールに用意されており、パブリッシュされたデータを簡単に確認できます。

シャドウの編集して設定変更します。

シャドウとは?となりました。手を動かしてからこちらのブログの説明を読むとよくわかりましたので、やっぱり手を動かすのはオススメです。

シャドウでdesiredの変更によりAir conditioning is now onの表示さました。仮想のエアコンが作動し仮想の温度が下がっていくように仕込まれています。キャプチャの文字は小さくて読めないですね。

ルール設定していたメール通知を確認してみます。大量にメールが届いています。

ハンズオンの内容は以上です。キャプチャ取りながらでも1時間で終わりました。ちなみにラボを終了すると検証していた環境も破棄されます。

おわりに

ハンズオンだけではMQTTの利点は?とまではわからないです。ですが、手を動かしたことで知ることのできた用語を改めて調べるきっかけになりました。MQTTには馴染みがなかったので個人的に検証したくなったらEC2からパブリッシュすれば簡単に試せるとか検証環境構築のヒントをもらいました。最新のIoT再入門記事がタイムリーに更新されていたので興味があればご覧ください。

AWS IoT 再入門 2021 の記事一覧 | DevelopersIO