AWS IoT Core の設定

step3-1-1


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

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

step3-1-3


3.1.2 AWS IoT のログの設定

そのまま AWS IoT の設定画面で、AWS IoT のログが出力されるように設定しましょう。 今回はINFO・WARN・ERRORのログが出力されるよう、ログレベルをINFOに設定します。

設定しなくてもハンズオン手順は進められますが、設定することで、あとで講談のサービスにデータが到達していないときのデバッグに活用できます。 その際にはルールエンジンやルールアクションのエラーログが記録されていないか確認することで、デバッグを進めることができます。

AWS IoT をそのリージョンで使用したことがあるアカウントでは、既にログの設定がされている場合もあります。 その場合には本手順をスキップしても構いません。

  1. 設定画面をスクロールし、ログ のセクションを見つける
  2. ログのセクションの右上にある、ログの管理 ボタンを押と、ログ設定の画面が開きます
  3. ロールの選択 では、権限を持ったロールをプルダウンから選択するか、右の ロールを作成 ボタンを押して新規にロールを作成しましょう
  4. ロールを作成の画面では、ロール名に AWSIoTLogRole などと入力し、右下の 作成 ボタンを押す
  5. すると適切な権限(ポリシー)を持ったロールが新規に作成されます
  6. 次に下の ログレベル では、プルダウンから 情報 を選択
  7. 最後に右下の 更新 ボタンを押す

これでログが出力されるように設定できました。


3.1.3 IoT ポリシーの作成

左のサイドメニューから 安全性 -> ポリシー をクリックし、画面中央の ポリシーの作成 を押す

step3-1-4


3.1.4 IoT ポリシーの設定

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

step3-1-5

本ハンズオンでは手順を簡略化するため、権限の広いポリシーを作成しておりますが、セキュリティのベストプラクティスでは最小限の権限を設定することが推奨されております。 最小権限のポリシーを設定する場合は、以下の例のようになります。 なお、このポリシーでは 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:123456789012:client/${iot:ClientId}"
    },
    {
      "Effect": "Allow",
      "Action": "iot:Publish",
      "Resource": [
        "arn:aws:iot:ap-northeast-1:123456789012:topic/data/${iot:Connection.Thing.ThingName}",
        "arn:aws:iot:ap-northeast-1:123456789012:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update",
        "arn:aws:iot:ap-northeast-1:123456789012:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/get"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "iot:Receive",
      "Resource": [
        "arn:aws:iot:ap-northeast-1:123456789012:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update/delta",
        "arn:aws:iot:ap-northeast-1:123456789012:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update/accepted",
        "arn:aws:iot:ap-northeast-1:123456789012:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update/rejected",
        "arn:aws:iot:ap-northeast-1:123456789012:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/get/accepted",
        "arn:aws:iot:ap-northeast-1:123456789012:topic/$aws/things/${iot:Connection.Thing.ThingName}/shadow/get/rejected"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "iot:Subscribe"
      ],
      "Resource": [
        "arn:aws:iot:ap-northeast-1:123456789012:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update/delta",
        "arn:aws:iot:ap-northeast-1:123456789012:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update/accepted",
        "arn:aws:iot:ap-northeast-1:123456789012:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/shadow/update/rejected",
        "arn:aws:iot:ap-northeast-1:123456789012:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/shadow/get/accepted",
        "arn:aws:iot:ap-northeast-1:123456789012:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/shadow/get/rejected"
      ]
    }
  ]
}

3.1.5 モノの作成

左のサイドメニューより 管理 -> モノ をクリックし、モノの作成 を押す

step3-1-6


3.1.6 作成するモノの数

  1. 既に選択されている 1つのモノを作成 を選択
  2. 画面下の 次へ を押す

step3-1-7


3.1.7 モノのプロパティを指定

  1. 名前に {お名前}-yyyymmdd などを入力
    1. 例: tanaka-20200723
    2. 入力した名前は後ほど使用するためメモをしておく
  2. その他の設定は変更せず
  3. 画面下の 次へ を押す

step3-1-8


3.1.8 デバイス証明書を設定

  1. 既に選択されている 新しい証明書を自動生成 (推奨) を選択
  2. 画面下の 次へ を押す

step3-1-9


3.1.9 証明書にポリシーをアタッチ

  1. 先程作成したポリシー({お名前}-yyyymmdd-policy)にチェックを入れる
  2. 画面下の モノの作成 を押す

step3-1-11


3.1.10 証明書とキーをタウンロード

  1. ポップアップで表示された画面で、
    1. デバイス証明書
    2. プライベートキーファイル
  2. のそれぞれの右の ダウンロード をクリックし、ご自身のPCへこの2つをダウンロード
  3. 画面下の 完了 を押す

step3-1-10

ここの作業が完了すると、モノの一覧の画面が表示され、画面上部に「モノが正常に作成されました」と表示されます。

step2-2-7

パブリックキーは本ハンズオンでは使用しないため、ダウンロードの必要はありません。 また画面下の ルートCA証明書 は、3.2.2 でデバイスにダウンロードするためここではダウンロードする必要はありません。