IDT 테스트를 실행하도록 디바이스 구성 - AWS IoT Greengrass

다음에 대한 설명서를 보고 있습니다.AWS IoT Greengrass Version 1.AWS IoT Greengrass Version 2의 최신 주요 버전입니다AWS IoT Greengrass. 사용에 관한 자세한 내용은 단원을 참조하십시오.AWS IoT Greengrass V2에 대한 자세한 내용은AWS IoT Greengrass Version 2개발자 안내서.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

IDT 테스트를 실행하도록 디바이스 구성

디바이스를 구성하려면 AWS IoT Greengrass 종속성을 설치하고, AWS IoT Greengrass 코어 소프트웨어를 구성하고, 디바이스에 액세스할 호스트 컴퓨터를 구성하고, 디바이스의 사용자 권한을 구성해야 합니다.

테스트 대상 디바이스에서 AWS IoT Greengrass 종속성 확인

AWS IoT Greengrass용 IDT가 디바이스를 테스트하기 전에 AWS IoT Greengrass 시작하기에 설명된 대로 디바이스를 설정했는지 확인합니다. 지원되는 플랫폼에 대한 자세한 내용은 지원되는 플랫폼을 참조하십시오.

AWS IoT Greengrass 소프트웨어 구성

AWS IoT Greengrass용 IDT는 디바이스가 특정 AWS IoT Greengrass 버전과 호환되는지 테스트합니다. IDT는 디바이스에서 AWS IoT Greengrass를 테스트하는 두 가지 옵션을 제공합니다.

  • AWS IoT Greengrass 코어 소프트웨어의 한 버전을 다운로드하여 사용합니다. IDT에서 자동으로 해당 소프트웨어를 설치합니다.

  • 디바이스에 이미 설치된 AWS IoT Greengrass 코어 소프트웨어 버전을 사용하십시오.

참고

AWS IoT Greengrass의 각 버전에는 해당하는 IDT 버전이 있습니다. 사용 중인 AWS IoT Greengrass 버전에 해당하는 IDT 버전을 다운로드해야 합니다.

다음 단원에서는 이러한 옵션에 대해 설명합니다. 이러한 옵션 중 하나만 수행해야 합니다.

를 다운로드할 수 있는AWS IoT Greengrass코어 소프트웨어 단원 소프트웨어 구성AWS IoT Greengrass코어 소프트웨어다운로드 페이지를 참조하십시오.

  1. 올바른 아키텍처와 Linux 배포를 찾은 다음 Download(다운로드)를 선택합니다.

  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 파일이 모두 있으면 테스트가 실패합니다.

greengrassLocation 속성을 <device-tester-extract-location>/configs 폴더의 device.json 파일에 추가하여 디바이스에 설치된 AWS IoT Greengrass 코어 소프트웨어를 테스트하도록 IDT를 구성합니다. 예:

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

device.json 파일에 대한 자세한 내용은 device.json 구성를 참조하십시오.

Linux 디바이스에서 AWS IoT Greengrass 코어 소프트웨어의 기본 위치는 /greengrass입니다.

참고

디바이스에 아직 시작되지 않은 AWS IoT Greengrass 코어 소프트웨어가 설치되어 있어야 합니다.

디바이스에 ggc_user 사용자 및 ggc_group을 추가했는지 확인합니다. 자세한 내용은 AWS IoT Greengrass에 대한 환경 설정을 참조하십시오.

테스트 대상 디바이스에 액세스하도록 호스트 컴퓨터 구성

IDT는 호스트 컴퓨터에서 실행되며, SSH를 사용하여 디바이스에 연결할 수 있어야 합니다. IDT가 테스트 대상 디바이스에 대한 SSH 액세스를 획득하도록 허용하는 옵션은 두 가지가 있습니다.

  1. 여기에서 설명하는 지침에 따라 SSH 키 페어를 생성하고 해당 키가 암호를 지정하지 않고 테스트 대상 디바이스에 로그인할 수 있도록 권한을 부여합니다.

  2. device.json 파일의 각 디바이스에 사용자 이름 및 암호를 제공합니다. 자세한 내용은 device.json 구성 섹션을 참조하세요.

임의의 SSL 구현을 사용하여 SSH 키를 생성할 수 있습니다. 다음 지침은 SSH-KEYGEN 또는 PuTTYgen(Windows)을 사용하는 방법을 보여줍니다. 다른 SSL 구현을 사용 중인 경우 해당 구현에 대한 설명서를 참조하십시오.

IDT는 SSH 키를 사용하여 테스트 대상 디바이스에 인증합니다.

SSH-KEYGEN을 사용하여 SSH 키를 생성하려면

  1. SSH 키를 생성합니다,

    공개 SSH 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로 이름 지정되고 기본 위치에 저장된다고 가정합니다(macOS와 Linux에서는 ~/.ssh/, Windows에서는 C:\Users\<user-name>\.ssh) 퍼블릭 키의 이름을 다르게 지정하거나 다른 위치에 저장한 경우, 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. 생성을 선택하고 마우스를 상자 안으로 이동하여 프라이빗 키를 생성합니다.

  5. Conversions(변환) 메뉴에서 Export OpenSSH key(OpenSSH 키 내보내기)를 선택하고 프라이빗 키를 .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. 각 테스트 대상 디바이스에 대해 사용자 이름, IP 주소, 방금 호스트 컴퓨터에 저장한 프라이빗 키 파일의 경로로 device.json 파일을 업데이트합니다. 자세한 내용은 device.json 구성 섹션을 참조하세요. 프라이빗 키에 전체 경로 및 파일 이름을 제공하고 슬래시('/')를 사용해야 합니다. 예를 들어 Windows 경로 C:\DT\privatekey.pem의 경우 device.json 파일에 C:/DT/privatekey.pem을 사용합니다.

디바이스에서 사용자 권한 구성

IDT는 테스트 대상 디바이스에서 다양한 디렉터리와 파일에 대해 작업을 수행합니다. 이러한 작업 중 일부는 승격된 권한(sudo 사용)이 필요합니다. 이러한 작업을 자동화하기 위해서는 AWS IoT Greengrass용 IDT가 암호 입력 메시지 없이 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 테스트를 실행하도록 디바이스를 구성하는 방법을 설명합니다. 이러한 기능을 테스트하려는 경우에만 다음 구성 단계를 수행하세요. 그렇지 않은 경우 IDT 설정을 구성하여AWS IoT Greengrass검증 제품군 검증 제품군를 계속 진행합니다.