翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
で Raspberry Pi をプロビジョニングする AWS IoT
このセクションの手順では、 と AWS IoT Device Client AWS CLI がインストールされている保存された microSD イメージから始め、 で Raspberry Pi をプロビジョニングする AWS IoT リソースとデバイス証明書を作成します AWS IoT。
Raspberry Pi に microSD カードをインストールします。
この手順では、必要なソフトウェアを Raspberry Pi にロードして設定して microSD カードをインストールし、この学習パスのチュートリアルを続行 AWS アカウント できるように を設定します。
このラーニングパスの演習とチュートリアルに必要なソフトウェアが格納されている (オプション) microSD カードイメージを保存する で作成した microSD カードを使用します。
Raspberry Pi に microSD カードをインストールするには
-
Raspberry Pi の電源を切断した状態で、microSD カードを Raspberry Pi に挿入します。
-
Raspberry Pi の電源を入れます。
-
約 1 分後、ローカルホストコンピュータで、ターミナルウィンドウセッションを再起動し、Raspberry Pi にログインします。
-
ローカルホストコンピュータのターミナルウィンドウで、[Access Key ID] (アクセスキー ID) と [Secret Access Key] (シークレットアクセスキー) を使用して、Raspberry Pi の認証情報に次の操作を行います。
-
次のコマンドを使用して、アプリ AWS の設定を実行します。
aws configure
-
プロンプトが表示されたら、 AWS アカウント 認証情報と設定情報を入力します。
AWS Access Key ID [****************YXYX]:
your Access Key ID
AWS Secret Access Key [****************YXYX]:your Secret Access Key
Default region name [us-west-2]:your AWS リージョン code
Default output format [json]:json
-
AWS アカウント 認証情報を復元したら、 に進む準備が整いますでデバイスをプロビジョニングする AWS IoT Core。
でデバイスをプロビジョニングする AWS IoT Core
このセクションの手順では、 で Raspberry Pi をプロビジョニングする AWS IoT リソースを作成します AWS IoT。これらのリソースを作成する際には、さまざまな情報を記録するように求められます。この情報は、次の手順で AWS IoT Device Client 設定で使用されます。
Raspberry Pi が と連携するには AWS IoT、プロビジョニングする必要があります。プロビジョニングは、Raspberry Pi を IoT デバイスとしてサポートするために必要な AWS IoT リソースを作成して設定するプロセスです。
Raspberry Pi の電源を入れて再起動したら、ローカルホストコンピュータのターミナルウィンドウを Raspberry Pi に接続し、以下の手順を完了します。
このセクションの手順は次のとおりです。
デバイス証明書ファイルを作成およびダウンロードする
この手順では、このデモのデバイス証明書ファイルが作成されます。
Raspberry Pi のデバイス証明書ファイルを作成してダウンロードするには
-
ローカルホストコンピュータのターミナルウィンドウで、次のコマンドを入力して、デバイスのデバイス証明書ファイルを作成します。
mkdir ~/certs/testconn aws iot create-keys-and-certificate \ --set-as-active \ --certificate-pem-outfile "~/certs/testconn/device.pem.crt" \ --public-key-outfile "~/certs/testconn/public.pem.key" \ --private-key-outfile "~/certs/testconn/private.pem.key"
このコマンドでは次のようなレスポンスが返されます。後で使用できるように、
の値を記録しておきます。certificateArn
{ "certificateArn": "
arn:aws:iot:us-west-2:57EXAMPLE833:cert/76e7e4edb3e52f52334be2f387a06145b2aa4c7fcd810f3aea2d92abc227d269
", "certificateId": "76e7e4edb3e52f5233EXAMPLE7a06145b2aa4c7fcd810f3aea2d92abc227d269", "certificatePem": "-----BEGIN CERTIFICATE-----\nMIIDWTCCAkGgAwIBAgI_SHORTENED_FOR_EXAMPLE_Lgn4jfgtS\n-----END CERTIFICATE-----\n", "keyPair": { "PublicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BA_SHORTENED_FOR_EXAMPLE_ImwIDAQAB\n-----END PUBLIC KEY-----\n", "PrivateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQE_SHORTENED_FOR_EXAMPLE_T9RoDiukY\n-----END RSA PRIVATE KEY-----\n" } } -
次のコマンドを入力して、証明書ディレクトリとそのファイルに対するアクセス許可を設定します。
chmod 745 ~ chmod 700 ~/certs/testconn chmod 644 ~/certs/testconn/* chmod 600 ~/certs/testconn/private.pem.key
-
次のコマンドを実行して、証明書のディレクトリおよびファイルに対するアクセス許可を確認します。
ls -l ~/certs/testconn
コマンドの出力は、ファイルの日付と時刻が異なることを除いて、ここで表示されるものと同じである必要があります。
-rw-r--r-- 1 pi pi 1220 Oct 28 13:02 device.pem.crt -rw------- 1 pi pi 1675 Oct 28 13:02 private.pem.key -rw-r--r-- 1 pi pi 451 Oct 28 13:02 public.pem.key
この時点で、デバイス証明書ファイルが Raspberry Pi にインストールされており、AWS IoT リソースの作成 に進むことができます。
AWS IoT リソースの作成
この手順 AWS IoT では、デバイスが AWS IoT 機能やサービスにアクセスするために必要なリソースを作成して、 にデバイスをプロビジョニングします。
でデバイスをプロビジョニングするには AWS IoT
-
ローカルホストコンピュータのターミナルウィンドウで、次のコマンドを入力して、 AWS アカウントのデバイスデータエンドポイントのアドレスを取得します。
aws iot describe-endpoint --endpoint-type IoT:Data-ATS
これまでの手順で入力したコマンドでは次のようなレスポンスが返されます。後で使用できるように、
の値を記録しておきます。endpointAddress
{ "endpointAddress": "
a3qjEXAMPLEffp-ats.iot.us-west-2.amazonaws.com
" } -
このコマンドを入力して、Raspberry Pi の AWS IoT モノのリソースを作成します。
aws iot create-thing --thing-name "DevCliTestThing"
AWS IoT モノのリソースが作成された場合、 コマンドはこのようなレスポンスを返します。
{ "thingName": "DevCliTestThing", "thingArn": "arn:aws:iot:us-west-2:57EXAMPLE833:thing/DevCliTestThing", "thingId": "8ea78707-32c3-4f8a-9232-14bEXAMPLEfd" }
-
ターミナルウィンドウで、次の操作を行います。
-
nano
などのテキストエディタを開きます。 -
このJSONポリシードキュメントをコピーし、オープンテキストエディタに貼り付けます。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish", "iot:Subscribe", "iot:Receive", "iot:Connect" ], "Resource": [ "*" ] } ] }
注記
このポリシードキュメントでは、すべてのリソースに対する接続、受信、発行、およびサブスクリプションを許可するという広範なアクセス許可が付与されます。通常、ポリシーは、特定のアクションを実行するアクセス許可を特定のリソースのみに付与します。ただし、最初のデバイス接続テストでは、このテスト中のアクセス問題の可能性を最小限に抑えるために、この過度に一般的で広範なアクセス許可を付与するポリシーが使用されます。以降のチュートリアルでは、より狭い範囲のポリシードキュメントを使用して、ポリシー設計のより良いプラクティスを示します。
-
テキストエディタのファイルを
~/policies/dev_cli_test_thing_policy.json
として保存します。
-
-
このコマンドを実行して、前のステップのポリシードキュメントを使用して AWS IoT ポリシーを作成します。
aws iot create-policy \ --policy-name "DevCliTestThingPolicy" \ --policy-document "file://~/policies/dev_cli_test_thing_policy.json"
ポリシーが作成されると、コマンドは次のようなレスポンスを返します。
{ "policyName": "DevCliTestThingPolicy", "policyArn": "arn:aws:iot:us-west-2:57EXAMPLE833:policy/DevCliTestThingPolicy", "policyDocument": "{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"iot:Publish\",\n \"iot:Subscribe\",\n \"iot:Receive\",\n \"iot:Connect\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n", "policyVersionId": "1" }
-
次のコマンドを実行して、ポリシーをデバイス証明書にアタッチします。
を以前に保存したcertificateArn
certificateArn
の値に置き換えます。aws iot attach-policy \ --policy-name "DevCliTestThingPolicy" \ --target "
certificateArn
"成功した場合、このコマンドは何も返しません。
-
このコマンドを実行して、 AWS IoT モノのリソースにデバイス証明書をアタッチします。
を以前に保存したcertificateArn
certificateArn
の値に置き換えます。aws iot attach-thing-principal \ --thing-name "DevCliTestThing" \ --principal "
certificateArn
"成功した場合、このコマンドは何も返しません。
でデバイスを正常にプロビジョニングしたら AWS IoT、 に進む準備が整います接続をテストするように AWS IoT Device Client を設定する。