LoginSignup
7
5

More than 1 year has passed since last update.

AWS IOT を AWS CLI で設定

Last updated at Posted at 2017-11-30

次のページの作業を私なりにやってみました。
[AWS CLI] AWS IoTの作成

Things の登録

aws iot create-thing --thing-name sunflower

AWS コンソールで見ると次のようになります。
sunflower_dec0601.png

Things の一覧

aws iot list-things

名前を指定して表示

aws iot describe-thing --thing-name sunflower

Things の削除 (やり直しをする時の為)

aws iot delete-thing --thing-name sunflower

証明書の作成、アクティブ化

aws iot create-keys-and-certificate --set-as-active > cert.json

cert.json から秘密鍵を抜き出す

cat cert.json | jq .keyPair.PrivateKey -r > private.pem.key

cert.json から certificate-id を抜き出す

jq .certificateId cert.json > certificate-id.txt

証明書の作成

create_cert.sh
#
#	create_cert.sh
#
CERTIFICATED_ID=`cat certificate-id.txt | sed 's/"//g'`
#
aws iot describe-certificate --certificate-id $CERTIFICATED_ID --output text \
  --query certificateDescription.certificatePem > cert.pem

証明書の確認

openssl  x509 -text < cert.pem

IoTポリシの作成

policy.json
{
    "Version": "2012-10-17", 
    "Statement": [{
        "Effect": "Allow",
        "Action":["iot:*"],
        "Resource": ["*"]
    }]
}
aws iot create-policy --policy-name sunflower-policy \
  --policy-document file://policy.json

AWS コンソールで見ると次のようになります。
sunflower_dec0602.png

ポリシーの一覧

aws iot list-policies

IoTポリシーの確認
 この時に表示される、"policyArn" を使う

aws  iot get-policy --policy-name sunflower-policy > sunflower_policy.json

証明書にIoTポリシを紐付ける

attach_policy.sh
CERTIFICATED_ID=`cat certificate-id.txt | sed 's/"//g'`
echo $CERTIFICATED_ID
#
CERTARN=`jq .certificateArn cert.json  | sed 's/"//g'`
echo $CERTARN
#
aws iot attach-principal-policy \
       --principal $CERTARN \
      --policy-name "sunflower-policy"

紐付けを表示

list_attach_policy.sh
CERTIFICATED_ID=`cat certificate-id.txt | sed 's/"//g'`
echo $CERTIFICATED_ID
#
CERTARN=`jq .certificateArn cert.json  | sed 's/"//g'`
echo $CERTARN
#
aws  iot list-principal-policies \
       --principal $CERTARN

証明書にThingsを紐付けます

attach_things.sh
CERTIFICATED_ID=`cat certificate-id.txt | sed 's/"//g'`
echo $CERTIFICATED_ID
#
CERTARN=`jq .certificateArn cert.json  | sed 's/"//g'`
echo $CERTARN
#
aws iot attach-thing-principal --thing-name "sunflower" \
        --principal $CERTARN

紐付けを表示

aws iot list-thing-principals --thing-name sunflower

エンドポイントの表示

aws  iot describe-endpoint --region ap-northeast-1

作成された AWS IoT に Pub/Sub を行う方法は、こちら。
Raspberry Pi で、mosquitto を使って、AWS IOT に Pub/Sub する

次が必要です。

モノの証明書  device.pem.crt
プライベートキー private.pem.key
ルート CA root-CA.crt (ダウンロードする必要があります。)

取得方法

7
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
5