IDT テストを実行するためのデバイス設定 - AWS IoT Greengrass

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

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

IDT テストを実行するためのデバイス設定

デバイスを設定するには、AWS IoT Greengrass の依存関係をインストールし、AWS IoT Greengrass Core ソフトウェアを設定後、デバイスにアクセスできるようにホストコンピュータを設定してから、デバイスのユーザーアクセス許可を設定します。

テスト対象デバイスで AWS IoT Greengrass の依存関係を検証する

IDT for AWS IoT Greengrass でデバイスをテストする前に、「AWS IoT Greengrass の開始方法」の説明に従って、デバイスが設定済みであることを確認します。サポートされているプラットフォームについては、「サポートされているプラットフォーム」を参照してください。

AWS IoT Greengrass ソフトウェアを設定する

IDT for AWS IoT Greengrass では、デバイスが特定バージョンの AWS IoT Greengrass と互換性があるかどうかをテストします。IDT には、デバイスで AWS IoT Greengrass をテストするための 2 つのオプションがあります。

  • AWS IoT Greengrass Core ソフトウェアのバージョンをダウンロードして使用します。IDT によってソフトウェアがインストールされます。

  • デバイスにインストール済みのバージョンの AWS IoT Greengrass Core ソフトウェアを使用します。

注記

AWS IoT Greengrass の各バージョンには、対応する IDT バージョンがあります。使用している AWS IoT Greengrass のバージョンに対応する IDT のバージョンをダウンロードする必要があります。

以下のセクションでは、これらについて説明します。1 度のみ実行してください。

AWS IoT Greengrass Core ソフトウェアは、AWS IoT Greengrass Core ソフトウェアのダウンロードページからダウンロードできます。

  1. 適切なアーキテクチャと Linux ディストリビューションを見つけ、[ダウンロード] を選択します。

  2. tar.gz ファイルを <device-tester-extract-location>/products/greengrass/ggc にコピーします。

注記

AWS IoT Greengrass tar.gz ファイルの名前は変更しないでください。同じオペレーティングシステムとアーキテクチャのこのディレクトリに複数のファイルを配置しないでください。たとえば、greengrass-linux-armv7l-1.7.1.tar.gz および greengrass-linux-armv7l-1.8.1.tar.gz のファイルをいずれもそのディレクトリに置くと、テストが失敗する原因になります。

デバイスにインストール済みの AWS IoT Greengrass Core ソフトウェアをテストするために IDT を設定するには、<device-tester-extract-location>/configs フォルダにある device.json ファイルに greengrassLocation 属性を追加します。例:

"greengrassLocation" : "<path-to-greengrass-on-device>"

device.json ファイルの詳細については、「device.json の設定」を参照してください。

Linux デバイスの場合、AWS IoT Greengrass Core ソフトウェアのデフォルトの場所は /greengrass です。

注記

起動されていない AWS IoT Greengrass Core ソフトウェアをデバイスにインストールする必要があります。

ggc_user ユーザーおよび ggc_group がデバイスに追加されていることを確認します。詳細については、「AWS IoT Greengrass の環境設定」を参照してください。

テスト対象デバイスにアクセスするようにホストコンピュータを設定する

IDT はホストコンピュータで動作し、SSH を使用してデバイスに接続できる必要があります。IDT がテスト対象のデバイスへの SSH アクセスを許可するには、2 つのオプションがあります。

  1. こちらの手順に従って SSH キーペアを作成し、パスワードを指定せずにテスト対象のデバイスにサインインすることをキーに承認します。

  2. device.json ファイルに各デバイスのユーザー名とパスワードを入力します。詳細については、「device.json の設定」を参照してください。

任意の SSL 実装を使用して SSH キーを作成できます。次の手順は、SSH-KEYGEN または PuTTYgen (Windows の場合) を使用する方法を示しています。別の SSL 実装を使用する場合は、その実装に関するドキュメントを参照してください。

テスト対象デバイスで認証するには、IDT で SSH キーを使用します。

SSH-KEYGEN を使用して SSH キーを作成するには
  1. SSH キーを作成します。

    OpenSSH ssh-keygen コマンドを使用して SSH キーペアを作成できます。ホストコンピュータに SSH キーペアがすでにある場合は、IDT 専用の SSH キーペアを作成することをお勧めします。こうすることで、テストを完了した後、ホストコンピュータはパスワードを入力しないとデバイスに接続できなくなります。また、リモートデバイスへのアクセスを必要なユーザーのみに制限することもできます。

    注記

    Windows に SSH クライアントがインストールされていません。Windows での SSH クライアントのインストールについては、「SSH クライアントソフトウェアをダウンロードする」を参照してください。

    ssh-keygen コマンドは、キーペアを保存する名前とパスの入力を求めます。デフォルトでは、キーペアファイルの名前は id_rsa (プライベートキー) と id_rsa.pub (パブリックキー) です。macOS および Linux の場合、これらのファイルのデフォルトの場所は ~/.ssh/ です。Windows の場合、デフォルトの場所は C:\Users\<user-name>\.ssh です。

    プロンプトが表示されたら、SSH キーを保護するキーフレーズを入力します。詳細については、「新しい SSH キーを生成する」を参照してください。

  2. テスト対象デバイスに承認済み SSH キーを追加します。

    IDT で SSH プライベートキーを使用して、テスト対象デバイスにサインインする必要があります。SSH プライベートキーがテスト対象デバイスにサインインすることを承認するには、ホストコンピュータから ssh-copy-id コマンドを使用します。このコマンドは、テスト対象デバイスの ~/.ssh/authorized_keys ファイルにパブリックキーを追加します。例:

    $ ssh-copy-id <remote-ssh-user>@<remote-device-ip>

    remote-ssh-user は、テスト対象デバイスへのサインインに使用するユーザー名です。remote-device-ip は、テスト対象デバイスの IP アドレスです。例:

    ssh-copy-id pi@192.168.1.5

    プロンプトが表示されたら、ssh-copy-id コマンドで指定したユーザー名に対応するパスワードを入力します。

    ssh-copy-id では、パブリックキー名が id_rsa.pub で、デフォルトの保存先が ~/.ssh/ (macOS と Linux の場合) または C:\Users\<user-name>\.ssh (Windows の場合) であるとみなされます。パブリックキーに別の名前や別の保存先を指定した場合は、ssh-copy-id-i オプションを使用し、SSH 公開鍵への完全修飾パス (ssh-copy-id -i ~/my/path/myKey.pub など) を指定する必要があります。SSH キーの作成とパブリックキーのコピーの詳細については、「SSH-COPY-ID」を参照してください。

PuTTYgen を使用して SSH キーを作成するには (Windows のみ)
  1. テスト対象デバイスに OpenSSH サーバーとクライアントがインストールされていることを確認します。詳細については、「OpenSSH」を参照してください。

  2. テスト対象のデバイスに PuTTYgen をインストールします。

  3. PuTTYGen を開きます。

  4. [Generate] を選択し、ボックス内にマウスカーソルを移動してプライベートキーを生成します。

  5. [Conversions] メニューから [Export OpenSSH key] を選択し、プライベートキーに .pem ファイル拡張子を付けて保存します。

  6. テスト対象デバイスの /home/<user>/.ssh/authorized_keys ファイルにパブリックキーを追加します。

    1. PuTTYgen ウィンドウからパブリックキーテキストをコピーします。

    2. PuTTY を使用して、テスト対象のデバイスでセッションを作成します。

      1. コマンドプロンプトまたは Windows Powershell ウィンドウから、次のコマンドを実行します。

        C:/<path-to-putty>/putty.exe -ssh <user>@<dut-ip-address>

      2. プロンプトが表示されたら、デバイスのパスワードを入力します。

      3. vi などのテキストエディタを使用して、テスト対象のデバイスの /home/<user>/.ssh/authorized_keys ファイルにパブリックキーを追加します。

  7. device.json ファイルを、ユーザー名、IP アドレス、およびテスト対象の各デバイスのホストコンピュータに保存したプライベートキーファイルへのパスで更新します。詳細については、「device.json の設定」を参照してください。必ずプライベートキーの完全パスとファイル名を指定し、スラッシュ (「/」) を使用してください。たとえば、Windows パス C:\DT\privatekey.pem の場合は、device.json ファイルで C:/DT/privatekey.pem を使用します。

デバイスに対するユーザーのアクセス許可を設定する

IDT は、テスト対象デバイスのさまざまなディレクトリやファイルに対してオペレーションを実行します。このようなオペレーションの中には、高いアクセス許可が必要な場合があります (sudo を使用)。これらのオペレーションを自動化するには、パスワードの入力を求めることなく、IDT for AWS IoT Greengrass で sudo を使用してコマンドを実行する必要があります。

パスワードの入力を求めることなく、sudo にアクセスを許可するには、テスト対象デバイスで以下の手順を実行します。

注記

username は、テスト対象デバイスにアクセスするために IDT で使用する SSH ユーザーを指します。

ユーザーを sudo グループに追加するには
  1. テスト対象のデバイスで、sudo usermod -aG sudo <username> を実行します。

  2. サインアウトし、再度サインインして、変更を反映します。

  3. ユーザー名が正常に追加されたことを確認するには、sudo echo test を実行します。パスワードの入力を要求されない場合、ユーザーは正しく設定されています。

  4. /etc/sudoers ファイルを開き、ファイルの末尾に次の行を追加します:

    <ssh-username> ALL=(ALL) NOPASSWD: ALL

オプション機能をテストするためのデバイスの設定

以下のトピックでは、オプション機能の IDT テストを実行するようにデバイスを設定する方法について説明します。これらの機能をテストする場合のみ、以下の設定手順に従ってください。それ以外の場合は、「AWS IoT Greengrass 認定スイートを実行するための IDT 設定」に進みます。