Python
AWS

AWSのチュートリアル「エンドツーエンドの IoT アプリケーションをデプロイする」を進めるときのまとめ

AWSのこのページで「プロジェクトガイドを使用して今すぐはじめる」を押すと表示されるチュートリアルのPDFがところどころ実画面と違っているので、自分用にまとめました。

Create an IoT Thing

PDFの9ページ目からが大きく異なります。

4. Provide a name for the Thing, and click Create thing.

ガイドではCreate thingを押した後にすぐ5にいけるように見えますが、まずモノの名前を入れたら「次へ」の青いボタンを何も入れずに押して先へ進めて、モノの登録を完了させます。
※最後のステップは「証明書なしでモノを作成する」を選択
その次の手順5はこの登録完了したモノについて、モノの一覧画面から開き、API Endpointを表示させるようにします。

Create an IoT Policy

ガイド通り進めます。

Create an IoT Certificate

ガイド通り進めますが、AWSの画面を見ているとつい
安全性>証明書>作成>1-Click 証明書作成 (推奨)
という手順で進めたくなってしまいます。このガイドでは
手順1:RasPiからEC2インスタンスにSSHすると
手順2:キー三つ(certificate.pem.crt/private.pem.key/root-ca.pem)が出来上がっていて
手順3:AWSのIoTコンソールに入ると勝手に証明書が出来上がっていてActiveになっている

という流れになっています。
続けて

手順4・5:3でコンソール上に表示された証明書の右上の...ボタンから、前ステップで作成したIoTポリシーにアタッチします。
手順6:証明書の...ボタンから、証明書をモノにアタッチします。

Raspberry Piと別のPCでAWSをブラウザ上で操作する場合の使い分け

基本は手元の端末で進めて、RasPiから操作が必要な場合のみRasPiで行いたいのですが「AWSコンソールに表示されたアドレスに向けて〇〇する」などの操作が多いので、RasPiでもブラウザからAWSコンソールにログインしておくようにします。
※手元の端末とRasPiでファイルの行き来が容易な場合は使い分けする必要ないと思います

  • Step 1: Set Up the Environment
    • 【RasPi】Create an SSH Keypair
    • Deploy the AWS CloudFormation Template
      • 手順10, 11のみRasPiのブラウザで行い、値をメモ帳等にコピーしておく
    • 【RasPi】Confirmation: Connecting to your Instance
  • Step 2: Set Up AWS IoT
    • AWS IoT Overview
    • Create the AWS IoT Resources
    • Create an IoT Thing
      • 手順5のみRasPiのブラウザで行い値をメモ帳にコピーしておく
    • Create an IoT Policy
    • Create an IoT Certificate
    • 【RasPi】Configure and Run the Device Simulator
    • Create an IoT Rule and Action
    • Confirmation: View Device Messages with the AWS IoT MQTT Client

Create an IoT Certificate で数日ハマっていましたが、落ち着いて読み直しながらやったところ、なんとかできました。