AWS IoT Core のセットアップ

step3-1-1


3.1.1 AWS IoT のエンドポイント確認

  1. AWS IoT Coreのコンソール画面を開く
  2. 初めてIoT Coreを操作する場合は、開始方法 を押下
  3. 左下の 設定 を選択
  4. 表示された デバイスデータエンドポイントエンドポイント の値をメモしておく
  5. ステータスの確認 が表示されている場合はクリックする

step3-1-3


3.1.2 IoT ポリシーの作成

  • 安全性 => ポリシー をクリックし、ポリシーの作成 を選択

step3-1-4


3.1.3 IoT ポリシーの作成

  • 名前{お名前}-yyyymmdd-policy を入力する
    • {お名前} の部分をご自身の名前に置き換えて日付を入力する
      • 例:tanaka-20200723-policy など
  • アクション欄に iot:* を入力する
  • リソースARNに * を入力する
  • 効果で 許可 を設定する
  • 画面下部の 作成 を押下

step3-1-5

本ハンズオンでは手順を簡略化するため、権限の広いポリシーを作成しておりますが、 セキュリティのベストプラクティスでは最小限の権限を設定することが推奨されております。 最小権限の Policy を設定する場合は、以下の例のようになります。 なお、この Policy では AWS IoT Core への接続、data/<モノの名前> トピックへの Publish、および Classic Shadow に関連するトピックへの Publish, Subscribe, Receive を許可しています。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iot:Connect",
      "Resource": "arn:aws:iot:ap-northeast-1:123456789:client/${iot:ClientId}"
    },
    {
      "Effect": "Allow",
      "Action": "iot:Publish",
      "Resource": [
        "arn:aws:iot:ap-northeast-1:123456789:topic/data/${iot:Connection.Thing.ThingName}",
        "arn:aws:iot:ap-northeast-1:123456789:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update",
        "arn:aws:iot:ap-northeast-1:123456789:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/get"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "iot:Receive",
      "Resource": [
        "arn:aws:iot:ap-northeast-1:123456789:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update/delta",
        "arn:aws:iot:ap-northeast-1:123456789:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update/accepted",
        "arn:aws:iot:ap-northeast-1:123456789:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update/rejected",
        "arn:aws:iot:ap-northeast-1:123456789:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/get/accepted",
        "arn:aws:iot:ap-northeast-1:123456789:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/get/rejected"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "iot:Subscribe"
      ],
      "Resource": [
        "arn:aws:iot:ap-northeast-1:123456789:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update/delta",
        "arn:aws:iot:ap-northeast-1:123456789:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update/accepted",
        "arn:aws:iot:ap-northeast-1:123456789:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update/rejected",
        "arn:aws:iot:ap-northeast-1:123456789:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/shadow/get/accepted",
        "arn:aws:iot:ap-northeast-1:123456789:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/shadow/get/rejected"
      ]
    }
  ]
}

3.1.4 モノの登録

  • 管理 => モノ をクリックし、モノの登録 を選択

step3-1-6


3.1.5 モノの作成

  • 単一のモノを作成する を押下

step3-1-7

  • 名前に {お名前}-yyyymmdd (例: tanaka-20200723) などを入力し、画面下の次へを押下
    • 入力した名前は後ほど使用するため、メモをしておいてください

step3-1-8


3.1.6 証明書の作成

  • 証明書の作成 を押下

step3-1-9

  • 次の画面で表示される証明書、パブリックキー、プライベートキーの右の ダウンロード をクリックし、ご自身のPCへダウンロードします
  • ダウンロード後、有効化 を押下
  • ポリシーのアタッチ を押下

画面上には「AWS IoT のルート CA をダウンロードする必要があります」という記載がありますが、この後の手順でダウンロードしますので、ここではダウンロードしなくて大丈夫です。

step3-1-10

証明書の作成をクリックしてもエラーが表示される場合は、1〜2分待ってから再度試してください


3.1.7 ポリシーと証明書を紐付け

  • 先程作成したポリシー({お名前}-yyyymmdd-policy)にチェックを入れ、モノの登録を選択

step3-1-11