코어 디바이스에 AWS IoT Greengrass 설치 및 실행 - 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 것이 좋습니다.

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

코어 디바이스에 AWS IoT Greengrass 설치 및 실행

참고

이 튜토리얼은 Raspberry Pi에서 AWS IoT Greengrass 코어 소프트웨어를 실행하는 지침을 제공하지만 지원되는 다른 디바이스를 사용해도 됩니다.

이 섹션에서는 코어 디바이스에서 AWS IoT Greengrass 코어 소프트웨어를 구성, 설치 및 실행합니다.

AWS IoT Greengrass를 설치 및 실행하려면
  1. 이 안내서의 AWS IoT Greengrass 코어 소프트웨어에서 AWS IoT Greengrass 코어 소프트웨어 설치 패키지를 다운로드합니다. 해당 코어 디바이스의 CPU 아키텍처, 배포 및 OS에 가장 적합한 패키지를 선택하십시오.

    • Raspberry Pi의 경우 ARMv7L 아키텍처 및 Linux 운영 체제용 패키지를 다운로드하십시오.

    • Amazon EC2 인스턴스의 경우 x86_64 아키텍처 및 Linux 운영 체제용 패키지를 다운로드합니다.

    • NVIDIA Jetson TX2의 경우 Armv8(AArch64) 아키텍처 및 Linux 운영 체제용 패키지를 다운로드합니다.

    • Intel Atom의 경우, x86_64 아키텍처 및 Linux 운영 체제용 패키지를 다운로드합니다.

  2. 이전 단계에서 다음 다섯 파일을 컴퓨터에 다운로드했습니다.

    • greengrass-OS-architecture-1.11.6.tar.gz – 이 압축 파일에는 코어 디바이스에서 실행되는 AWS IoT Greengrass 코어 소프트웨어가 포함되어 있습니다.

    • certificateId-certificate.pem.crt – 디바이스 인증서 파일.

    • certificateId-public.pem.key – 디바이스 인증서의 공개 키 파일.

    • certificateId-private.pem.key – 디바이스 인증서의 개인 키 파일.

    • AmazonRootCA1.pem – Amazon 루트 인증 기관(CA) 파일.

    이 단계에서는 이러한 파일을 컴퓨터에서 코어 디바이스로 전송합니다. 해결 방법:

    1. Greengrass 코어 디바이스의 IP 주소를 모를 경우 코어 디바이스에서 터미널을 열고 다음 명령을 실행합니다.

      참고

      일부 디바이스의 경우 이 명령이 올바른 IP 주소를 반환하지 않을 수 있습니다. 디바이스 IP 주소를 검색하려면 해당 디바이스의 설명서를 참조하십시오.

      hostname -I
    2. 컴퓨터에서 코어 디바이스로 이러한 파일을 전송합니다. 파일 전송 단계는 컴퓨터의 운영 체제에 따라 달라집니다. Raspberry Pi 디바이스에 파일을 전송하는 방법을 설명하는 단계를 보려면 해당 운영 체제를 선택하십시오.

      참고

      Raspberry Pi의 경우, 기본 사용자 이름은 pi이고 기본 암호는 raspberry입니다.

      NVIDIA Jetson TX2의 경우, 기본 사용자 이름은 nvidia이고 기본 암호는 nvidia입니다.

      Windows

      컴퓨터에 있는 압축 파일을 Raspberry Pi 코어 디바이스로 전송하려면 WinSCP 또는 PuTTY pscp 명령과 같은 도구를 사용합니다. pscp 명령을 사용하려면 컴퓨터에서 명령 프롬프트 창을 열고 다음을 실행합니다.

      cd path-to-downloaded-files pscp -pw Pi-password greengrass-OS-architecture-1.11.6.tar.gz pi@IP-address:/home/pi pscp -pw Pi-password certificateId-certificate.pem.crt pi@IP-address:/home/pi pscp -pw Pi-password certificateId-public.pem.key pi@IP-address:/home/pi pscp -pw Pi-password certificateId-private.pem.key pi@IP-address:/home/pi pscp -pw Pi-password AmazonRootCA1.pem pi@IP-address:/home/pi
      참고

      이 명령에서 버전 번호는 AWS IoT Greengrass 코어 소프트웨어 패키지의 버전과 일치해야 합니다.

      macOS

      Mac에 있는 압축 파일을 Raspberry Pi 코어 디바이스로 전송하려면 컴퓨터에서 터미널 창을 열고 다음 명령을 실행합니다. path-to-downloaded-files는 일반적으로 ~/Downloads입니다.

      참고

      암호를 두 개 입력하라는 메시지가 나타날 수 있습니다. 이 경우 첫 번째는 Mac의 sudo 명령에 사용할 암호이며 두 번째는 Raspberry Pi에 사용할 암호입니다.

      cd path-to-downloaded-files scp greengrass-OS-architecture-1.11.6.tar.gz pi@IP-address:/home/pi scp certificateId-certificate.pem.crt pi@IP-address:/home/pi scp certificateId-public.pem.key pi@IP-address:/home/pi scp certificateId-private.pem.key pi@IP-address:/home/pi scp AmazonRootCA1.pem pi@IP-address:/home/pi
      참고

      이 명령에서 버전 번호는 AWS IoT Greengrass 코어 소프트웨어 패키지의 버전과 일치해야 합니다.

      UNIX-like system

      컴퓨터에 있는 압축 파일을 Raspberry Pi 코어 디바이스에 전송하려면 컴퓨터에서 터미널 창을 열고 다음 명령을 실행합니다.

      cd path-to-downloaded-files scp greengrass-OS-architecture-1.11.6.tar.gz pi@IP-address:/home/pi scp certificateId-certificate.pem.crt pi@IP-address:/home/pi scp certificateId-public.pem.key pi@IP-address:/home/pi scp certificateId-private.pem.key pi@IP-address:/home/pi scp AmazonRootCA1.pem pi@IP-address:/home/pi
      참고

      이 명령에서 버전 번호는 AWS IoT Greengrass 코어 소프트웨어 패키지의 버전과 일치해야 합니다.

      Raspberry Pi web browser

      Raspberry Pi의 웹 브라우저를 사용하여 압축 파일을 다운로드한 경우 해당 파일은 Pi의 ~/Downloads 폴더(예: /home/pi/Downloads)에 있어야 합니다. 그렇지 않다면 해당 압축 파일은 Pi의 ~ 폴더(예: /home/pi)에 있어야 합니다.

  3. Greengrass 코어 디바이스에서 터미널을 열고 AWS IoT Greengrass 코어 소프트웨어 및 인증서가 들어 있는 폴더로 이동합니다. path-to-transferred-files를 코어 디바이스에서 파일을 전송한 경로로 바꾸십시오. 예를 들어, Raspberry Pi에서 cd /home/pi를 실행합니다.

    cd path-to-transferred-files
  4. 코어 디바이스에서 AWS IoT Greengrass 코어 소프트웨어의 압축을 해제합니다. 다음 명령을 실행하여 코어 디바이스로 전송한 소프트웨어 아카이브의 압축을 풉니다. 이 명령은 -C / 인수를 사용하여 코어 디바이스의 루트 폴더에 /greengrass 폴더를 만듭니다.

    sudo tar -xzvf greengrass-OS-architecture-1.11.6.tar.gz -C /
    참고

    이 명령에서 버전 번호는 AWS IoT Greengrass 코어 소프트웨어 패키지의 버전과 일치해야 합니다.

  5. 인증서와 키를 AWS IoT Greengrass 코어 소프트웨어 폴더로 이동합니다. 다음 명령을 실행하여 인증서용 폴더를 만들고 인증서와 키를 해당 폴더로 이동합니다. path-to-transferred-files를 코어 디바이스에서 파일을 전송한 경로로 바꾸고 CertificateID를 파일 이름의 인증서 ID로 바꾸십시오. 예를 들어, Raspberry Pi에서는 path-to-transferred-files/home/pi로 바꿉니다.

    sudo mv path-to-transferred-files/certificateId-certificate.pem.crt /greengrass/certs sudo mv path-to-transferred-files/certificateId-public.pem.key /greengrass/certs sudo mv path-to-transferred-files/certificateId-private.pem.key /greengrass/certs sudo mv path-to-transferred-files/AmazonRootCA1.pem /greengrass/certs
  6. AWS IoT Greengrass 코어 소프트웨어는 소프트웨어의 매개변수를 지정하는 구성 파일을 사용합니다. 이 구성 파일은 인증서 파일의 파일 경로와 사용할 AWS 클라우드 엔드포인트를 지정합니다. 이 단계에서는 코어의 AWS IoT Greengrass 코어 소프트웨어 구성 파일을 생성합니다. 해결 방법:

    1. 코어의 AWS IoT 사물에 대한 Amazon 리소스 이름(ARN)을 가져옵니다. 해결 방법:

      1. AWS IoT 콘솔관리 아래에 있는 Greengrass 디바이스에서 그룹(V1)을 선택합니다.

      2. Greengrass 그룹 페이지에서 이전에 생성한 그룹을 선택합니다.

      3. 개요에서 Greengrass 코어를 선택합니다.

      4. 코어 세부 정보 페이지에서 AWS IoT 사물 ARN을 복사하고 AWS IoT Greengrass 코어 구성 파일에서 사용할 수 있도록 저장합니다.

    2. 현재 리전에서 사용자의 AWS 계정에 대한 AWS IoT 디바이스 데이터 엔드포인트를 가져오십시오. 디바이스는 이 엔드포인트를 사용하여 AWS IoT 사물로서 AWS에 연결합니다. 해결 방법:

      1. AWS IoT 콘솔에서 설정을 선택합니다.

      2. 디바이스 데이터 엔드포인트에서 엔드포인트를 복사하고 AWS IoT Greengrass 코어 구성 파일에서 사용할 수 있도록 저장합니다.

    3. AWS IoT Greengrass 코어 소프트웨어에 대한 구성 파일을 생성합니다. 예를 들어 다음 명령을 실행하여 GNU nano를 사용해 파일을 생성할 수 있습니다.

      sudo nano /greengrass/config/config.json

      다음 JSON 문서로 파일의 내용을 바꿉니다.

      { "coreThing" : { "caPath": "AmazonRootCA1.pem", "certPath": "certificateId-certificate.pem.crt", "keyPath": "certificateId-private.pem.key", "thingArn": "arn:aws:iot:region:account-id:thing/MyGreengrassV1Core", "iotHost": "device-data-prefix-ats.iot.region.amazonaws.com", "ggHost": "greengrass-ats.iot.region.amazonaws.com", "keepAlive": 600 }, "runtime": { "cgroup": { "useSystemd": "yes" } }, "managedRespawn": false, "crypto": { "caPath": "file:///greengrass/certs/AmazonRootCA1.pem", "principals": { "SecretsManager": { "privateKeyPath": "file:///greengrass/certs/certificateId-private.pem.key" }, "IoTCertificate": { "privateKeyPath": "file:///greengrass/certs/certificateId-private.pem.key", "certificatePath": "file:///greengrass/certs/certificateId-certificate.pem.crt" } } } }

      뒤이어 다음과 같이 합니다.

      • Amazon Root CA 1과 다른 Amazon root CA 인증서를 다운로드한 경우, AmazonRootCA1.pem의 각 인스턴스를 Amazon root CA 파일의 이름으로 교체합니다.

      • certificateId의 각 인스턴스를 인증서 및 키 파일 이름의 인증서 ID로 교체합니다.

      • arn:aws:iot:region:account-id:thing/MyGreengrassV1Core를 이전에 저장한 코어 사물의 ARN으로 바꿉니다.

      • MyGreengrassV1core를 코어 사물의 이름으로 바꿉니다.

      • device-data-prefix-ats.iot.region.amazonaws.com을 이전에 저장한 AWS IoT 디바이스 데이터 엔드포인트로 바꾸십시오.

      • 리전을 사용자의 AWS 리전으로 바꿉니다.

      이 구성 파일에서 사용할 수 있는 구성 옵션에 대한 자세한 내용은 AWS IoT Greengrass 코어 구성 파일를 참조하세요.

  7. 코어 디바이스가 인터넷에 연결되어 있는지 확인합니다. 코어 디바이스에서 AWS IoT Greengrass를 시작합니다.

    cd /greengrass/ggc/core/ sudo ./greengrassd start

    Greengrass successfully started 메시지가 표시되어야 합니다. PID를 기록해 둡니다.

    참고

    시스템 부팅 시 AWS IoT Greengrass을(를) 시작하도록 코어 디바이스를 설정하는 방법은 Greengrass 대몬(daemon)을 시작하도록 init 시스템 구성 섹션을 참조하십시오.

    다음 명령을 실행하여 AWS IoT Greengrass 코어 소프트웨어(Greengrass 대몬)가 작동 중인지 확인할 수 있습니다. PID-number를 사용자의 PID로 대체합니다.

    ps aux | grep PID-number

    실행 중인 Greengrass 대몬(daemon)의 경로와 함께 PID에 대한 항목이 표시되어야 합니다(예: /greengrass/ggc/packages/1.11.6/bin/daemon). AWS IoT Greengrass 시작에 문제가 발생하면 AWS IoT Greengrass 문제 해결 섹션을 참조하십시오.