AWS IoT Coreの設定

0. はじめに

AWS IoT Core の設定では、AWS IoT コンソールにてモノの作成を行いエンドポイント(メッセージの送受先URL)を取得します。
AWS IoT Core の設定には、次の3つの作業があります。

  1. AWS IoT コンソールにサインインし AWS IoT Core の設定を行うAWS IoTタブへアクセスします。
  2. AWS IoT > 管理 > モノタブにてモノの作成を行います。
    2-1. モノのプロパティを指定
    2-2. デバイス証明書の選択
    2-3. セキュリティ ポリシーの作成
    2-4. セキュリティ ポリシーの割り当て
    2-5. 証明書のダウンロード
  3. AWS IoT > 設定タブにてデバイスデータのエンドポイントを取得します。
info

AWS IoT Core を使用するためには、AWSアカウント取得が必要となります。

1. AWS IoT タブへのアクセス

AWS IoT コンソールにサインインしAWS IoT Coreの設定を行うAWS IoTタブへアクセスします。

AWS IoT コンソールにサインインして下さい。
IAMユーザーを作成している場合は、 IAMユーザーアカウントを用いて下さい。

AWS IoT コンソール

検索フィールにIoTと入力します。

AWS IoT コンソール

IoT Coreアイコンをクリックします。

AWS IoT コンソール

AWS IoT > 接続タブが表示されます。

2. モノの作成

画面左メニューバーのすべてのデバイス⇒モノをクリックします。
AWS IoT > 管理 > モノタブが表示されます。

IoT Thing

モノを作成をクリックします。
AWS IoT > 管理 > モノ > モノを作成タブが表示されます。

IoT Thing Create

  1. 作成するモノの数ペインのラジオボタンにて1 つのモノを作成を選択します。
  2. 次へをクリックします。

AWS IoT > 管理 > モノ > モノを作成 > 1 つのモノを作成タブのStep1が表示されます。

2-1. モノのプロパティを指定

AWS IoT > 管理 > モノ > モノを作成 > 1 つのモノを作成タブ(Step1)にてモノのプロパティを指定します。

IoT Thing Create 1

  1. モノのプロパティペインのモノの名前入力フィールドにモノの名前(Thing Name)を入力します。
    チュートリアルではSERIALとします。
  2. モノのプロパティペインの追加設定に設定する事項はありません。
  3. Device Shadowペインのラジオボタンにて名前のないシャドウ (クラシック)を選択します。
  4. 次へをクリックします。

AWS IoT > 管理 > モノ > モノを作成 > 1 つのモノを作成タブのStep2が表示されます。

2-2. デバイス証明書の選択

AWS IoT > 管理 > モノ > モノを作成 > 1 つのモノを作成タブ(Step2)にてデバイス証明書のタイプを選択します。

IoT Thing Create 2

  1. デバイス証明書ペインのラジオボタンにで新しい証明書を自動生成 (推奨)を選択します。
  2. 次へをクリックします。

AWS IoT > 管理 > モノ > モノを作成 > 1 つのモノを作成タブのStep3が表示されます。

IoT Thing Create 3-1

ポリシーペインのポリシーを作成をクリックします。

AWS IoT > セキュリティ > ポリシー > ポリシーを作成タブがブラウザの別のタブに表示されます。

2-3. セキュリティ ポリシーの作成

AWS IoT > セキュリティ > ポリシー > ポリシーを作成タブにてセキュリティ ポリシーを作成します。

IoT Thing Poricy

  1. ポリシーのプロパティペインのポリシー名入力フィールドにポリシー名を入力します。 チュートリアルではSERIAL-Policyとします。
  2. ポリシードキュメントペインのビルダー/JSONの選択はビルダーのままとします。
  3. ポリシードキュメントペインのポリシー効果プル ダウンメニューにて許可を選択します。
  4. ポリシードキュメントペインのポリシーアクションプル ダウンメニューにて * を選択します。
  5. ポリシードキュメントペインのポリシーリソース入力フィールドに * と入力します。
  6. 作成をクリックします。

AWS IoT > セキュリティ > ポリシータブが表示されます。

IoT Thing Poricy

AWS IoT > セキュリティ > ポリシータブは、ここで閉じてしまっても構いません。

ブラウザのタブ操作によりAWS IoT > 管理 > モノ > モノを作成 > 1 つのモノを作成タブを表示させます。

2-4. セキュリティ ポリシーの割り当て

AWS IoT > 管理 > モノ > モノを作成 > 1 つのモノを作成タブにてセキュリティ ポリシーを割り当てます。

IoT Thing Create 3-1

  1. ポリシーペインにてセキュリティ ポリシーの作成で作成したSERIAL-Policyを選択します。
  2. モノを作成をクリックします。

証明書とキーをダウンロードする画面がポップアップされます。

2-5. 証明書のダウンロード

セキュリティ ポリシーの割り当てによりポップアップ画面より証明書とキーをダウンロードします。

IoT Thing Create 3-1

  1. デバイス証明書ダウンロードをクリックし <32bitのハッシュコード>-certificate.pem.crtをダウンロードします。
    デバイス証明書がダウンロードできるのは、この時点のみです。
  2. パブリックキーファイルダウンロードをクリックし <32bitのハッシュコード>-public.pem.keyをダウンロードします。
    パブリックキーファイルをがダウンロードできるのは、この時点のみです。チュートリアルでは使用しませんが念のためダウンロードしておきます。
  3. プライベートキーファイルダウンロードをクリックし <32bitのハッシュコード>-private.pem.keyをダウンロードします。
    プライベートキーファイルがダウンロードできるのは、この時点のみです。
  4. ルート CA 証明書RSA 2048 ビットキー: Amazon ルート CA 1ダウンロードをクリックしAmazonRootCA1.pemをダウンロードします。
    ルート CA 証明書は後でamazon trust serviceAmazonRootCA1.pemからダウンロードすることができます。
  5. 完了をクリックします。

ここで <32bitのハッシュコード>とは64文字の16進数です。
(e.g. f308184f4d6216a23003b517d60a3ab439f6f3607fe4ebee4cec14677a3f5098)

AWS IoT > 管理 > モノタブが表示されます。

IoT Thing Create 3-1

3. デバイスデータエンドポイントの取得

AWS IoT > 設定タブにてデバイスデータのエンドポイントを取得します。

画面左メニューバーの設定をクリックします。
AWS IoT > 設定タブが表示されます。

デバイスデータエンドポイント

デバイスデータエンドポイントペインのエンドポイントをコピーし控ておきます。

デバイスデータエンドポイントは、次章「OpenBlocks IoTの設定」の送受信設定で必要になります。

なお、サーバー認証のページに記載されている通り、 AWS IoT Core には iot:Dataiot:Data-ATS の 2 つの異なるデータエンドポイントタイプがあります。
チュートリアルに従い新たにデバイス(モノ)を作成した場合は問題ありませんが、過去に作成したデバイスを用いる場合はデータエンドポイントタイプを確認して下さい。
データエンドポイントタイプデバイスデータエンドポイントのプリフックスに -ats. が在るか無いかを見て判別することができます。
データエンドポイントタイプiot:Dataの場合はルート CA 証明書として Amazon ルート CA 1に代えてVerVeriSign Class 3 Public Primary G5 Root CA 証明書を用いて下さい。