ハブオンボーディングの設定 - のマネージド統合 AWS IoT Device Management

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ハブオンボーディングの設定

フリートプロビジョニングのオンボーディングプロセスを開始する前に、ハブデバイスごとにこれらのセットアップステップを完了します。このセクションでは、マネージド型モノの作成、ディレクトリ構造の設定、必要な証明書の設定方法について説明します。

ステップ 1: カスタムエンドポイントを登録する

デバイスがマネージド統合とデータを交換するために使用する専用の通信エンドポイントを作成します。このエンドポイントは、device-to-cloudメッセージングの安全な接続ポイントを確立します。

エンドポイントを登録するには
  • RegisterCustomEndpoint API を使用して、device-to-managed統合通信用のエンドポイントを作成します。

    RegisterCustomEndpoint リクエストの例

    aws iot-managed-integrations register-custom-endpoint

    レスポンス:

    { [ACCOUNT-PREFIX]-ats.iot.AWS-REGION.amazonaws.com }
    注記

    エンドポイントアドレスを保存します。今後のデバイス通信に必要になります。

    エンドポイント情報を返すには、 GetCustomEndpoint API を使用します。

    詳細については、「 マネージド統合 API リファレンスガイド」のRegisterCustomEndpoint API」とGetCustomEndpoint API」を参照してください。

ステップ 2: プロビジョニングプロファイルを作成する

プロビジョニングプロファイルには、デバイスがマネージド統合に接続するために必要なセキュリティ認証情報と設定が含まれています。

フリートプロビジョニングプロファイルを作成するには
  • CreateProvisioningProfile API を呼び出して、以下を生成します。

    • デバイス接続設定を定義するプロビジョニングテンプレート

    • デバイス認証のクレーム証明書とプライベートキー

    重要

    クレーム証明書、プライベートキー、テンプレート ID を安全に保存します。マネージド統合にデバイスをオンボードするには、これらの認証情報が必要です。これらの認証情報を紛失した場合は、新しいプロビジョニングプロファイルを作成する必要があります。

CreateProvisioningProfile リクエストの例

aws iot-managed-integrations create-provisioning-profile \ --provisioning-type FLEET_PROVISIONING \ --name PROFILE_NAME

レスポンス:

{ "Arn":"arn:aws:iotmanagedintegrations:AWS-REGION:ACCOUNT-ID:provisioning-profile/PROFILE-ID", "ClaimCertificate": "-----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7.....w3rrszlaEXAMPLE= -----END CERTIFICATE-----", "ClaimCertificatePrivateKey": "-----BEGIN RSA PRIVATE KEY----- MIICiTCCAfICCQ...3rrszlaEXAMPLE= -----END RSA PRIVATE KEY-----", "Id": "PROFILE-ID", "PROFILE-NAME", "ProvisioningType": "FLEET_PROVISIONING" }

ステップ 3: マネージド型モノを作成する (フリートプロビジョニング)

CreateManagedThing API を使用して、ハブデバイスのマネージド型モノを作成します。各ハブには、一意の認証マテリアルを持つ独自のマネージド型モノが必要です。詳細については、「 マネージド統合 API リファレンス」のCreateManagedThing API」を参照してください。

マネージド型モノを作成するときは、次のパラメータを指定します。

  • Role: この値を に設定しますCONTROLLER

  • AuthenticationMaterial: 次のフィールドを含めます。

    • SN: このデバイスの一意のシリアル番号

    • UPC: このデバイスのユニバーサル製品コード

  • Owner: このマネージドモノの所有者識別子。

重要

各デバイスには、認証マテリアルに一意のシリアル番号 (SN) が必要です。

CreateManagedThing リクエストの例

{ "Role": "CONTROLLER", "Owner": "ThingOwner1", "AuthenticationMaterialType": "WIFI_SETUP_QR_BAR_CODE", "AuthenticationMaterial": "SN:123456789524;UPC:829576019524" }

詳細については、「 マネージド統合 API リファレンス」の「CreateManagedThing」を参照してください。

(オプション) マネージドモノを取得する

マネージドモノProvisioningStatusの は、続行するUNCLAIMED前に である必要があります。GetManagedThing API を使用して、マネージドモノが存在し、プロビジョニングの準備が整っていることを確認します。詳細については、「 マネージド統合 API リファレンス」のGetManagedThing」を参照してください。

ステップ 4: ディレクトリ構造を作成する

設定ファイルと証明書のディレクトリを作成します。デフォルトでは、ハブオンボーディングプロセスは を使用します/data/aws/iotmi/config/iotmi_config.json

設定ファイルで証明書とプライベートキーのカスタムパスを指定できます。このガイドでは、デフォルトのパス を使用します/data/aws/iotmi/certs

mkdir -p /data/aws/iotmi/config mkdir -p /data/aws/iotmi/certs /data/ aws/ iotmi/ config/ certs/

ステップ 5: ハブデバイスに認証マテリアルを追加する

証明書とキーをハブデバイスにコピーし、デバイス固有の設定ファイルを作成します。これらのファイルは、プロビジョニングプロセス中にハブとマネージド統合間の安全な通信を確立します。

クレーム証明書とキーをコピーするには
  • CreateProvisioningProfile API レスポンスからハブデバイスにこれらの認証ファイルをコピーします。

    • claim_cert.pem: クレーム証明書 (すべてのデバイスに共通)

    • claim_pk.key: クレーム証明書のプライベートキー

    両方のファイルを /data/aws/iotmi/certs ディレクトリに配置します。

    重要

    証明書とプライベートキーを PEM 形式で保存する場合は、改行文字を正しく処理して適切な形式にします。PEM エンコードファイルの場合、エスケープされた改行を保存するだけでは後で正しく取得されないため、改行文字は実際の行区切り文字に置き換え(\n)る必要があります。

    注記

    安全なストレージを使用する場合は、これらの認証情報をファイルシステムではなく安全なストレージ場所に保存します。詳細については、「セキュアストレージ用のカスタム証明書ハンドラーを作成する」を参照してください。

ステップ 6: デバイス設定ファイルを作成する

一意のデバイス識別子、証明書の場所、プロビジョニング設定を含む設定ファイルを作成します。SDK はハブのオンボーディング中にこのファイルを使用して、デバイスの認証、プロビジョニングステータスの管理、接続設定の保存を行います。

注記

各ハブデバイスには、一意のデバイス固有の値を持つ独自の設定ファイルが必要です。

次の手順を使用して、設定ファイルを作成または変更し、ハブにコピーします。

  • 設定ファイル (フリートプロビジョニング) を作成または変更します

    デバイス設定ファイルで以下の必須フィールドを設定します。

    • 証明書パス

      1. iot_claim_cert_path: クレーム証明書の場所 (claim_cert.pem

      2. iot_claim_pk_path: プライベートキーの場所 (claim_pk.key

      3. Secure Storage Cert Handler を実装するときに両方のフィールドに SECURE_STORAGEを使用する

    • 接続の設定

      1. fp_template_name: 前の ProvisioningProfileの名前。

      2. endpoint_url: RegisterCustomEndpoint API レスポンスからのマネージド統合エンドポイント URL (リージョン内のすべてのデバイスで同じ)。

    • デバイス識別子

      1. SN: CreateManagedThing API コールに一致するデバイスのシリアル番号 (デバイスごとに一意)

      2. UPCCreateManagedThing API コールからのユニバーサル製品コード (この製品のすべてのデバイスで同じ)

    { "ro": { "iot_provisioning_method": "FLEET_PROVISIONING", "iot_claim_cert_path": "<SPECIFY_THIS_FIELD>", "iot_claim_pk_path": "<SPECIFY_THIS_FIELD>", "fp_template_name": "<SPECIFY_THIS_FIELD>", "endpoint_url": "<SPECIFY_THIS_FIELD>", "SN": "<SPECIFY_THIS_FIELD>", "UPC": "<SPECIFY_THIS_FIELD>" }, "rw": { "iot_provisioning_state": "NOT_PROVISIONED" } }

設定ファイルの内容

iotmi_config.json ファイルの内容を確認します。

内容
キー 顧客によって追加されましたか? コメント
iot_provisioning_method FLEET_PROVISIONING はい 使用するプロビジョニング方法を指定します。
iot_claim_cert_path または を指定するファイルパスSECURE_STORAGE。例: /data/aws/iotmi/certs/claim_cert.pem はい または を使用するファイルパスを指定しますSECURE_STORAGE
iot_claim_pk_path または を指定するファイルパスSECURE_STORAGE。例: /data/aws/iotmi/certs/claim_pk.pem はい または を使用するファイルパスを指定しますSECURE_STORAGE
fp_template_name フリートプロビジョニングテンプレート名は、以前にProvisioningProfile使用された の名前と同じである必要があります。 はい 以前にProvisioningProfile使用された の名前と同じ
endpoint_url マネージド統合のエンドポイント URL。 はい デバイスは、この URL を使用してマネージド統合クラウドに接続します。この情報を取得するには、RegisterCustomEndpoint API を使用します。
SN デバイスのシリアル番号。例えば、AIDACKCEVSQ6C2EXAMPLE はい この一意の情報をデバイスごとに指定する必要があります。
UPC デバイスユニバーサル製品コード。例えば、841667145075 はい デバイスにこの情報を指定する必要があります。
managed_thing_id マネージドモノの ID。 いいえ この情報は、ハブプロビジョニング後のオンボーディングプロセスによって後で追加されます。
iot_provisioning_state プロビジョニング状態。 はい プロビジョニング状態は に設定する必要がありますNOT_PROVISIONED
iot_permanent_cert_path IoT 証明書パス。例えば、/data/aws/iotmi/iot_cert.pem いいえ この情報は、ハブプロビジョニング後のオンボーディングプロセスによって後で追加されます。
iot_permanent_pk_path IoT プライベートキーファイルパス。例えば、/data/aws/iotmi/iot_pk.pem いいえ この情報は、ハブプロビジョニング後のオンボーディングプロセスによって後で追加されます。
client_id MQTT 接続に使用されるクライアント ID。 いいえ この情報は、ハブプロビジョニング後のオンボーディングプロセスによって後で追加され、他のコンポーネントが消費します。
event_manager_upper_bound デフォルト値は 500 です いいえ この情報は、ハブプロビジョニング後のオンボーディングプロセスによって後で追加され、他のコンポーネントが消費します。

ステップ 7: 設定ファイルをハブにコピーする

設定ファイルを /data/aws/iotmi/configまたはカスタムディレクトリパスにコピーします。このHubOnboardingバイナリへのパスは、オンボーディングプロセス中に指定します。

フリートプロビジョニングの場合

/data/ aws/ iotmi/ config/ iotmi_config.json certs/ claim_cert.pem claim_pk.key