翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ハブオンボーディングの設定
フリートプロビジョニングのオンボーディングプロセスを開始する前に、ハブデバイスごとにこれらのセットアップステップを完了します。このセクションでは、マネージド型モノの作成、ディレクトリ構造の設定、必要な証明書の設定方法について説明します。
セットアップステップ
ステップ 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 はハブのオンボーディング中にこのファイルを使用して、デバイスの認証、プロビジョニングステータスの管理、接続設定の保存を行います。
注記
各ハブデバイスには、一意のデバイス固有の値を持つ独自の設定ファイルが必要です。
次の手順を使用して、設定ファイルを作成または変更し、ハブにコピーします。
-
設定ファイル (フリートプロビジョニング) を作成または変更します。
デバイス設定ファイルで以下の必須フィールドを設定します。
-
証明書パス
-
iot_claim_cert_path
: クレーム証明書の場所 (claim_cert.pem
) -
iot_claim_pk_path
: プライベートキーの場所 (claim_pk.key
) -
Secure Storage Cert Handler を実装するときに両方のフィールドに
SECURE_STORAGE
を使用する
-
-
接続の設定
-
fp_template_name
: 前のProvisioningProfile
の名前。 -
endpoint_url
:RegisterCustomEndpoint
API レスポンスからのマネージド統合エンドポイント URL (リージョン内のすべてのデバイスで同じ)。
-
-
デバイス識別子
-
SN
:CreateManagedThing
API コールに一致するデバイスのシリアル番号 (デバイスごとに一意) -
UPC
CreateManagedThing
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