LoginSignup
2
1

More than 1 year has passed since last update.

[AWS IoT] 複数のモノを一括で登録してみた

Last updated at Posted at 2021-07-21

はじめに

AWS IoTを使用するためにはモノの登録を行う必要があります。モノの登録方法はいくつかあり、マネジメントコンソールで登録する方法や、初回接続時に作成する方法(Fleet Provisioning, JITR, JITP)があります。今回はこの中で、マネジメントコンソールから複数のモノを一括で登録する方法について試してみます

モノの一括登録

複数のモノを一括で登録するにはマネジメントコンソールの管理>モノから多数のモノの作成を選択します。
スクリーンショット 2021-07-21 9.05.31.png

すると、以下のような画面でテンプレートを入力せよと言われます。
スクリーンショット 2021-07-21 9.07.46.png
複数のモノを作成するには、まずプロビジョニングテンプレートと呼ばれるテンプレートでモノにどのような属性をもたせるか(例えば証明書はこれで、モノの名前はこれで、Policyはこれでというようなフォーマット)を定義して、そのテンプレートにパラメータ(1つ目のモノの名前はXXXですよというような感じ)を入力してあげる必要があります。プロビジョニングテンプレートについてはこちら に解説があります。ParametersセクションとResourceセクションがあって、どのようなParameterを入力させたいかを定義します。このページにプロビジョニングテンプレートの雛形があるので、今回はこの雛形一つのをモディファイした以下のプロビジョニングテンプレートを使用します。

{
    "Parameters" : {
        "ThingName" : {
            "Type" : "String"
        },
        "SerialNumber" : {
            "Type" : "String"
        },
        "Location" : {
            "Type" : "String",
            "Default" : "WA"
        },
        "CertificateId" : {
            "Type" : "String"    
        }
    },
    "Resources" : {
        "thing" : {
            "Type" : "AWS::IoT::Thing",
            "Properties" : {
                "ThingName" : {"Ref" : "ThingName"},
                "AttributePayload" : { "version" : "v1", "serialNumber" :  {"Ref" : "SerialNumber"}}
            }
        },
        "certificate" : {
            "Type" : "AWS::IoT::Certificate",
            "Properties" : {
                "CertificateId": {"Ref" : "CertificateId"}
            }
        },
        "policy" : {
            "Type" : "AWS::IoT::Policy",
            "Properties" : {
                "PolicyName" : "My_IoT_Policy"
            }
        }
    }   
}

次へをクリックして先に進むと、パラメータファイルとロールの入力を求められます。
スクリーンショット 2021-07-21 9.20.10.png

パラメータファイルは先程のプロビジョニングテンプレートで定義したParameterをモノごとに各行に定義したファイルで、今回は以下のようなファイルをパラメータファイルとし、適当なS3のバケット上に置きました。

{ "ThingName" : "Hoge", "SerialNumber": "123", "Location":"Tokyo", "CertificateId":"2c0daf692c937080b3f90fd84e559e1a4f9c0ca653834c53ebad03346492170f"}
{ "ThingName" : "Fuga", "SerialNumber": "456", "Location":"Osaka", "CertificateId":"c71587c094819f9b8993e4da182736dcba2a3bdf9fe10b7b841a8174f8f74795"}
{ "ThingName" : "Boke", "SerialNumber": "789", "Location":"Nagoya", "CertificateId":"c71587c094819f9b8993e4da182736dcba2a3bdf9fe10b7b841a8174f8f74795"}

また、ロールについては、モノの登録ができる権限と、S3が読める権限を与えたロールを作成します。
スクリーンショット 2021-07-21 9.25.59.png

一括登録を開始のボタンをクリックすると一括登録が始まります。ブラウザをリロードすると以下のようにものが作成されています。
スクリーンショット 2021-07-21 9.28.37.png

中身を確認すると、Parameterとして指定した属性(SerialNumberやVersion)、証明書が反映されていることが確認できます。
スクリーンショット 2021-07-21 9.29.55.png

まとめ

今回はAWS IoTにて複数のモノを一括で登録する方法について試してみました。次回は、Fleet ProvisioningやJITR, JITPについても試してみたいと思います

2
1
1

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
2
1