IDT を使用して AWS IoT Greengrass 認定スイートを実行する - AWS IoT Greengrass

2023 年 6 月 30 日に AWS IoT Greengrass Version 1 は延長ライフサイクルフェーズに入りました。詳細については、「AWS IoT Greengrass V1 メンテナンスポリシー」を参照してください。この日付以降、AWS IoT Greengrass V1 の機能、拡張機能、バグ修正、またはセキュリティパッチを提供するアップデートはリリースされません。AWS IoT Greengrass V1 で稼働中のデバイスは中断されず、引き続き動作し、クラウドに接続できます。重要な新機能新たなプラットフォームのサポートが追加された AWS IoT Greengrass Version 2 への移行を強くお勧めします。

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

IDT を使用して AWS IoT Greengrass 認定スイートを実行する

AWS IoT Device Tester (IDT) for AWS IoT Greengrass を使用すると、AWS IoT Greengrass Core ソフトウェアがハードウェア上で動作し、AWS クラウド と通信できることを確認できます。また、エンドツーエンドのテストが AWS IoT Core で実行されます。例えば、デバイスで MQTT メッセージを送受信して正しく処理できることを確認します。

AWS IoT Greengrass Version 1 はメンテナンスモードに移行したため、IDT for AWS IoT Greengrass V1 では署名付き認定レポートが生成されなくなりました。そのため、AWS Partner Device Catalog にハードウェアを追加する場合、AWS IoT Greengrass V2 認定スイートを実行して、AWS IoT に送信できるテストレポートを生成してください。詳細については、「AWS デバイス認定プログラム」および「IDT for AWS IoT Greengrass V2 のサポートされているバージョン」を参照してください。

資格認定プロセスを容易にするために、テスト対象のデバイスに加えて、IDT for AWS IoT Greengrass は AWS アカウント でリソース (AWS IoT のモノ、AWS IoT Greengrass グループ、Lambda 関数など) を作成します。

これらのリソースを作成するために、IDT for AWS IoT Greengrass は、config.json ファイルに設定されている AWS 認証情報を使用してユーザーに代わって API コールを行います。これらのリソースは、テスト中にさまざまなタイミングでプロビジョニングされます。

IDT for AWS IoT Greengrass を使用して AWS IoT Greengrass 認定スイートを実行する場合、IDT は次のステップを実行します。

  1. デバイスおよび認証情報の設定をロードして検証します。

  2. 必要なローカルリソースとクラウドリソースを使用して選択したテストを実行します。

  3. ローカルリソースとクラウドリソースをクリーンアップします。

  4. デバイスが資格に必要なテストに合格したかどうかを示すテストレポートを生成します。

テストスイートのバージョン

IDT for AWS IoT Greengrass は、テストをテストスイートとテストグループに整理します。

  • テストスイートは、デバイスが AWS IoT Greengrass の特定のバージョンで動作することを確認するために使用されるテストグループのセットです。

  • テストグループは、Greengrass グループデプロイや MQTT メッセージングなど、特定の機能に関連する個々のテストのセットです。

IDT v3.0.0 以降、テストスイートは major.minor.patch 形式を使用してバージョン管理されます (例: GGQ_1.0.0)。IDT をダウンロードすると、パッケージに最新のテストスイートのバージョンが含まれます。

重要

IDT では、デバイスの認定のために 3 つの最新のテストスイートバージョンをサポートしています。詳細については、「AWS IoT Device Tester for AWS IoT Greengrass V1 のサポートポリシー」を参照してください。

list-supported-products を実行して、現在のバージョンの IDT でサポートされている AWS IoT Greengrass およびテストスイートのバージョンを一覧表示できます。サポートされていないテストスイートのバージョンからのテストは、デバイスの認定には有効ではありません。IDT では、サポートされていないバージョンの認定レポートは印刷されません。

IDT 構成設定の更新

新しいテストでは、新しい IDT 構成設定が導入される可能性があります。

  • その設定がオプションの場合は、IDT は引き続きテストを実行します。

  • その設定が必要な場合は、IDT から通知され、実行が停止します。設定を構成したら、テストの実行を再開します。

    構成設定は、<device-tester-extract-location>/configs フォルダにあります。詳細については、「AWS IoT Greengrass 認定スイートを実行するための IDT 設定」を参照してください。

更新されたテストスイートのバージョンによって構成設定が追加されると、IDT は <device-tester-extract-location>/configs に元の設定ファイルのコピーを作成します。

テストグループの説明

IDT v2.0.0 and later
コア資格に必要なテストグループ

これらのテストグループは、AWS IoT Greengrass デバイスが AWS Partner Device Catalog の認定を受けるために必要です。

AWS IoT Greengrass Core 依存関係

デバイスが AWS IoT Greengrass Core ソフトウェアのすべてのソフトウェア要件とハードウェア要件を満たしていることを確認します。

このテストグループの Software Packages Dependencies テストケースは、Docker コンテナでテストする場合は適用されません。

デプロイ

Lambda 関数をデバイスにデプロイできることを検証します。

MQTT

Greengrass コアとローカル IoT デバイスであるクライアントデバイス間のローカル通信をチェックすることで、AWS IoT Greengrass メッセージルーターの機能を検証します。

無線 (OTA)

デバイスが AWS IoT Greengrass Core ソフトウェアの OTA 更新を正常に実行できることを検証します。

このテストグループは、Docker コンテナでテストするときには適用されません。

Version

提供されているバージョンの AWS IoT Greengrass が、使用しているバージョンの AWS IoT Device Tester と互換性があることを確認します。

オプションのテストグループ

これらのテストグループはオプションです。オプションのテストの資格を選択すると、デバイスが AWS Partner Device Catalog に追加機能と共にリストされます。

コンテナの依存関係

デバイスが Greengrass コアのコンテナモードで Lambda 関数を実行するためのすべてのソフトウェア要件とハードウェア要件を満たしているかどうかを検証します。

このテストグループは、Docker コンテナでテストするときには適用されません。

デプロイコンテナ

Lambda 関数をデバイスにデプロイし、Greengrass コアのコンテナモードで実行できることを検証します。

このテストグループは、Docker コンテナでテストするときには適用されません。

Docker 依存関係 (IDT v2.2.0 以降でサポートされています)

Greengrass Docker アプリケーションデプロイコネクタを使用してコンテナを実行するために必要なすべての技術的依存関係をデバイスが満たしていることを検証します。

このテストグループは、Docker コンテナでテストするときには適用されません。

ハードウェアセキュリティ統合 (HSI)

提供された HSI 共有ライブラリがハードウェアセキュリティモジュール (HSM) とやり取りでき、必要な PKCS#11 API を正しく実装することを検証します。HSM および共有ライブラリは、CSR に署名し、TLS オペレーションを実行して、正しいキー長と公開キーアルゴリズムを提供できる必要があります。

ストリームマネージャーの依存関係 (IDT v2.2.0 以降でサポート)

AWS IoT Greengrass ストリームマネージャーを実行するために必要なすべての技術的依存関係をデバイスが満たしていることを検証します。

機械学習の依存関係 (IDT v3.1.0 以降でサポート)

ML 推論をローカルで実行するために必要なすべての技術的依存関係をデバイスが満たしていることを検証します。

機械学習の推論テスト (IDT v3.1.0 以降でサポート)

テスト中の特定のデバイスで ML 推論を実行できることを検証します。詳細については、「オプション: ML 認定のためのデバイスの設定」を参照してください。

機械学習の推論コンテナテスト (IDT v3.1.0 以降でサポート)

テスト中の特定のデバイスで ML 推論を実行でき、Greengrass コアのコンテナモードで実行できることを検証します。詳細については、「オプション: ML 認定のためのデバイスの設定」を参照してください。

IDT v1.3.3 and earlier
コア資格に必要なテストグループ

これらのテストは、AWS IoT Greengrass デバイスが AWS Partner Device Catalog 認定を受けるために必要です。

AWS IoT Greengrass Core 依存関係

デバイスが AWS IoT Greengrass Core ソフトウェアのすべてのソフトウェア要件とハードウェア要件を満たしていることを確認します。

コンビネーション (デバイスのセキュリティ操作)

クラウド内の Greengrass グループの接続情報を変更することで、Greengrass コアの Device Certificate Manager と IP 検出の動作を検証します。テストグループは、AWS IoT Greengrass サーバー証明書をローテーションし、AWS IoT Greengrass で接続が許可されることを確認します。

デプロイ(IDT v1.2 以前のバージョンで必要)

Lambda 関数をデバイスにデプロイできることを検証します。

Device Certificate Manager (DCM)

AWS IoT Greengrass Device Certificate Manager が起動時にサーバー証明書を生成し、期限切れが近い証明書を更新できることを検証します。

IP 検出 (IPD)

Greengrass コアデバイスでの IP アドレスの変更に応じてコア接続情報が更新されることを検証します。詳細については、「自動 IP 検出をアクティブ化する」を参照してください。

ログ記録

Python で記述されたユーザーの Lambda 関数を使用して AWS IoT Greengrass ログ記録サービスがログファイルに書き込めることを検証します。

MQTT

2 つの Lambda 関数にルーティングされるトピックでメッセージを送信することで、AWS IoT Greengrass メッセージルーターの機能を検証します。

ネイティブ

AWS IoT Greengrass がネイティブの (コンパイルされた) Lambda 関数を実行できることを検証します。

無線 (OTA)

デバイスが AWS IoT Greengrass Core ソフトウェアの OTA 更新を正常に実行できることを検証します。

侵入

AWS IoT Greengrassハードリンク/ソフトリンクの保護と seccomp が有効になっていない場合に、 Core ソフトウェアが起動に失敗するかどうかを確認します。また、他のセキュリティ関連の機能も検証するために使用されます。

シャドウ

ローカルのシャドウとシャドウのクラウド同期機能を検証します。

スプーラー

スプーラーのデフォルト設定を使用して MQTT メッセージをキューに挿入できることを検証します。

Token Exchange Service (TES)

AWS IoT Greengrass がコア証明書を有効な AWS 認証情報と交換できることを検証します。

Version

提供されているバージョンの AWS IoT Greengrass が、使用しているバージョンの AWS IoT Device Tester と互換性があることを確認します。

オプションのテストグループ

これらのテストはオプションです。オプションのテストの資格を選択すると、デバイスが AWS Partner Device Catalog に追加機能と共にリストされます。

コンテナの依存関係

コンテナモードで Lambda 関数を実行するために必要なすべての依存関係をデバイスが満たしていることを確認します。

ハードウェアセキュリティ統合 (HSI)

提供された HSI 共有ライブラリがハードウェアセキュリティモジュール (HSM) とやり取りでき、必要な PKCS#11 API を正しく実装することを検証します。HSM および共有ライブラリは、CSR に署名し、TLS オペレーションを実行して、正しいキー長と公開キーアルゴリズムを提供できる必要があります。

ローカルリソースアクセス

AWS IoT Greengrass のローカルリソースアクセス (LRA) 機能を検証します。そのために、AWS IoT Greengrass LRA API を通じて、コンテナ化された Lambda 関数に対してさまざまな Linux ユーザーやグループが所有するローカルファイルやディレクトリへのアクセスを提供します。ローカルリソースアクセスの設定に基づいて、ローカルリソースへのアクセスを Lambda 関数に許可または拒否する必要があります。

ネットワーク

Lambda 関数からソケット接続を確立できることを検証します。Greengrass コア設定に基づいて、これらのソケット接続を許可または拒否する必要があります。