3. ハンズオン準備¶
ハンズオンを始めるにあたり、事前の準備設定を行います。AWSマネージメン トコンソールにログインし、東京リージョン を選択してください。
3.1. ハンズオン用CloudFormationのスタック作成¶
ハンズオンで利用するIAMユーザ、DynamoDBテーブルを作成を自動化するために、CloudFormationのスタックを作成します。IAMユーザはedisonの証明書を作成するための権限を与えるために作成します。また、DynamoDBテーブルはシナリオ1のセンサーデータの保存用のテーブルとなります。
マネージメントコンソールのAWSサービスで”CloudFormation”と入力しCloudFormationを選択します。
“Choose a template”から”Specify an Amazon S3 template URL”にチェックを入れ、以下のパスを入力し、[Next]をクリックします。
https://s3-ap-northeast-1.amazonaws.com/awsiot-handson-jp/awsiothandson.template
“Stack Name”と”DynamoDBTableName”、”IAMUserName”に以下の値を入力し、 [Next]をクリックします。 (一つのAWSアカウントの複数のIAMユーザがいる場合、<任意の番号>は他のユー ザと被らないように設定してください)
項目 | 設定 |
---|---|
Stack Name | awsiot-handson-stack<任意の番号> |
DynamoDBTableName | awsiot-handson-table<任意の番号> |
IAMUserName | awsiot-handson-user<任意の番号> |
“Options”で何も入力せずに[Next]をクリックします。
“Resource”の画面を下にスクロールし、”Capabilities”で”I acknowledge that this template...”にチェックを入れ、[Create]をクリックします。
Cloud Formationのスタックの一覧に自分が作成したスタックが表示されるのを確認します。Statusは”CREATE_IN_PROGRESS”から”CREATE_COMPLETE”になるのを確認します。
画面下の”Output”タブをクリックし、AccessKeyとSecretKeyが表示されていることを確認し、こちらの内容をメモ帳などにコピーしてください。
3.2. Edison用サンプルコードの準備¶
ハンズオンで利用するEdison用のサンプルコードのダウンロード、初期設定を行います。
Edison上で以下のコマンドを実行し、サンプルコードのダウンロード、zipファイルの解凍を行います。
root@edison:~# wget https://s3-ap-northeast-1.amazonaws.com/awsiot-handson-jp/awsiot-handson-fundamentals.zip
root@edison:~# unzip -q awsiot-handson-fundamentals.zip
証明書を取得するためのスクリプトの設定を行います。解凍したサンプルコードのawsiot-handson-fundamentals/certsディレクトリに移動し、config.jsonの先ほどコピーしたCloudFormationのOutputのAccessKey/SecretKeyを入力します。
root@edison:~# cd awsiot-handson-fundamentals/certs
root@edison:~/awsiot-handson-fundamentals/certs# vi config.json
{
"accessKeyId": "<your access key>", ←<your access key>にAccessKeyを入力
"secretAccessKey": "<your secret key>", ←<your secret key>にSecretKeyを入力
"region": "ap-northeast-1"
}
証明書作成のスクリプトを実行します。certsディレクトリにはすでにプライ ベートキー(privatekey.pem)とCSR(cert.csr)が存在しており、CSRの内容を元 に証明書を作成しています。出力されるcertificateIdの英数字文字列をメモ 帳にコピーしてください。次章のAWS IoTの設定の中で証明書を特定するため に利用します。 他のIAMユーザが作成した証明書が特定できなくなってしま う恐れがあるため、必ずメモを取得してください
root@edison:~/awsiot-handson-fundamentals/certs# node create_cert.js
~
{ certificateArn: 'arn:aws:iot:ap-northeast-1:xxxxxxxxxxxxxx:cert/<英数字文字列>',
certificateId: '<英数字文字列>',
~
証明書ファイル(cert.pem)がcertsディレクトリ内に存在することを確認します。
root@edison:~/awsiot-handson-fundamentals/certs# ls
cert.csr config.json node_modules rootca.crt
cert.pem create_cert.js privatekey.pem