チュートリアル: AWS IoT でのデバイスのプロビジョニング - AWS IoT Core

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

チュートリアル: AWS IoT でのデバイスのプロビジョニング

このセクションでは、チュートリアルで使用する AWS IoT Core リソースを作成します。

ステップ 1: Device Shadow の AWS IoT ポリシーを作成する

X.509 証明書により、デバイスが AWS IoT Core で認証されます。AWS IoT ポリシーは、Device Shadow サービスによって使用される MQTT 予約トピックへのサブスクライブまたは発行など、デバイスが AWS IoT オペレーションを実行することを許可する証明書にアタッチされます。デバイスは AWS IoT Core に接続してメッセージを送信するときに、証明書を提示します。

この手順では、サンプルプログラムの実行に必要な AWS IoT オペレーションをデバイスが実行できるようにするポリシーを作成します。タスクの実行に必要なアクセス許可のみを付与するポリシーを作成することをお勧めします。最初に AWS IoT ポリシーを作成し、後で作成するデバイス証明書にアタッチします。

AWS IoT ポリシーを作成するには
  1. 左のメニューで、[Secure] (安全性)、[Policies] (ポリシー) の順に選択します。アカウントに既存のポリシーがある場合は、[作成] を選択します。それ以外の場合は、[ポリシーがまだありません] ページで [ポリシーの作成] を選択します。

  2. [ポリシーの作成] ページで、以下の手順を実行します。

    1. [名前] フィールドに、ポリシーの名前 (My_Device_Shadow_policy など) を入力します。ポリシー名で個人を特定できる情報を使用しないでください。

    2. ポリシードキュメントでは、MQTT 予約トピックを発行およびサブスクライブするアクセス許可をデバイスに付与する接続、サブスクライブ、受信、および発行アクションについて説明します。

      以下のサンプルポリシーをコピーして、ポリシードキュメントに貼り付けます。thingname は作成するモノの名前 (例: My_light_bulb)、region はサービスを使用している AWS IoT リージョン、account は AWS アカウント 番号に置き換えます。AWS IoT ポリシーの詳細については、「AWS IoT Core ポリシー」を参照してください。

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/get", "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/update" ] }, { "Effect": "Allow", "Action": [ "iot:Receive" ], "Resource": [ "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/get/accepted", "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/get/rejected", "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/update/accepted", "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/update/rejected", "arn:aws:iot:region:account:topic/$aws/things/thingname/shadow/update/delta" ] }, { "Effect": "Allow", "Action": [ "iot:Subscribe" ], "Resource": [ "arn:aws:iot:region:account:topicfilter/$aws/things/thingname/shadow/get/accepted", "arn:aws:iot:region:account:topicfilter/$aws/things/thingname/shadow/get/rejected", "arn:aws:iot:region:account:topicfilter/$aws/things/thingname/shadow/update/accepted", "arn:aws:iot:region:account:topicfilter/$aws/things/thingname/shadow/update/rejected", "arn:aws:iot:region:account:topicfilter/$aws/things/thingname/shadow/update/delta" ] }, { "Effect": "Allow", "Action": "iot:Connect", "Resource": "arn:aws:iot:region:account:client/test-*" } ] }

ステップ 2: モノのリソースを作成し、ポリシーをモノにアタッチする

AWS IoT に接続されたデバイスは、AWS IoT レジストリ内のモノのリソースで表すことができます。モノのリソースは、このチュートリアルの電球など、特定のデバイスまたは論理エンティティを表します。

AWS IoT でモノを作成する方法を学習するには、モノのオブジェクトを作成する で説明されている手順に従います。そのチュートリアルの手順に従うときに注意すべき重要な点がいくつかあります。

  1. [単一のモノを作成する] を選択し、[名前] フィールドに、以前にポリシーを作成したときに指定した thingname と同じモノの名前 (例: My_light_bulb) を入力します。

    モノを作成した後に名前を変更することはできません。thingname 以外の名前を付けた場合は、thingname という名前の新しいモノを作成し、古いモノを削除します。

    注記

    モノの名前で個人を特定できる情報を使用しないでください。モノの名前は、暗号化されていない通信やレポートに表示されることがあります。

  2. [証明書が作成されました!] ページの各証明書ファイルを見つけやすい場所にダウンロードすることをお勧めします。サンプルアプリケーションを実行するには、これらのファイルをインストールする必要があります。

    Raspberry Pi の home ディレクトリ内の certs サブディレクトリにファイルをダウンロードし、次の表に示されているように、各ファイルに簡素な名前を付けることをお勧めします。

    証明書ファイル名

    ファイル

    ファイルパス

    ルート CA 証明書

    ~/certs/Amazon-root-CA-1.pem

    デバイス証明書

    ~/certs/device.pem.crt

    プライベートキー

    ~/certs/private.pem.key

  3. AWS IoT への接続を有効にするために証明書を有効化したら、[Attach a policy] (ポリシーをアタッチ) を選択し、前に作成したポリシー (例: My_Device_Shadow_policy) をモノにアタッチします。

    モノを作成すると、AWS IoT コンソールのモノのリストにモノのリソースが表示されます。

ステップ 3: 結果と次のステップを確認する

このチュートリアルで学習した内容は次のとおりです。
  • Raspberry Pi デバイスをセットアップおよび設定します。

  • デバイスが AWS IoT サービスとインタラクションすることを承認する AWS IoT ポリシードキュメントを作成します。

  • モノのリソースと関連する X.509 デバイス証明書を作成し、それにポリシードキュメントをアタッチします。

次のステップ

これで、AWS IoT Device SDK for Python をインストールし、shadow.py サンプルアプリケーションを実行し、Device Shadow を使用して状態を制御できます。このチュートリアルの実行方法の詳細については、チュートリアル: Device SDK のインストールと Device Shadows のサンプルアプリケーションの実行 を参照してください。