2단계: 환경 설정 - AWS IoT Greengrass

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

2단계: 환경 설정

이 섹션의 단계에 따라 AWS IoT Greengrass 핵심 장치로 사용할 Linux 또는 Windows 장치를 설정합니다.

이 단계에서는 라즈베리 파이 OS와 함께 라즈베리 파이를 사용한다고 가정합니다. 다른 장치나 운영 체제를 사용하는 경우 해당 장치의 관련 설명서를 참조하십시오.

라즈베리 파이를 설정하려면 AWS IoT Greengrass V2
  1. 라즈베리파이에서 SSH를 활성화하여 원격으로 연결합니다. 자세한 내용은 라즈베리 파이 설명서의 SSH (보안 셸) 를 참조하십시오.

  2. 라즈베리파이의 IP 주소를 찾아 SSH로 연결하세요. 이렇게 하려면 라즈베리파이에서 다음 명령을 실행하면 됩니다.

    hostname -I
  3. SSH로 라즈베리파이에 연결하세요.

    개발 컴퓨터에서 다음 명령을 실행합니다. 사용자 이름을 로그인할 사용자 이름으로 바꾸고 이전 단계에서 찾은 IP 주소로 pi-ip-address바꾸십시오.

    ssh username@pi-ip-address
    중요

    개발 컴퓨터에서 이전 버전의 Windows를 사용하는 경우 ssh 명령이 없거나 Raspberry Pi에 ssh 연결했지만 연결하지 못할 수 있습니다. 라즈베리 파이에 연결하려면 무료 오픈 소스 SSH 클라이언트인 PuTTY를 설치하고 구성하면 됩니다. PuTTY 설명서를 참조하여 라즈베리 파이에 연결하세요.

  4. AWS IoT GreengrassCore 소프트웨어를 실행하는 데 필요한 Java 런타임을 설치합니다. 라즈베리파이에서 다음 명령을 사용하여 Java 11을 설치합니다.

    sudo apt install default-jdk

    설치가 완료되면 다음 명령을 실행하여 자바가 라즈베리 파이에서 실행되는지 확인합니다.

    java -version

    이 명령은 기기에서 실행되는 Java 버전을 인쇄합니다. 출력은 다음 예제와 비슷할 수 있습니다.

    openjdk version "11.0.9.1" 2020-11-04 OpenJDK Runtime Environment (build 11.0.9.1+1-post-Debian-1deb10u2) OpenJDK 64-Bit Server VM (build 11.0.9.1+1-post-Debian-1deb10u2, mixed mode)
팁: 라즈베리 파이에서 커널 파라미터 설정하기

기기가 Raspberry Pi인 경우 다음 단계를 완료하여 Linux 커널 매개변수를 확인하고 업데이트할 수 있습니다.

  1. /boot/cmdline.txt 파일을 엽니다. 이 파일은 Raspberry Pi 부팅 시 적용할 Linux 커널 매개변수를 지정합니다.

    예를 들어 Linux 기반 시스템에서는 다음 명령을 실행하여 GNU nano를 사용하여 파일을 열 수 있습니다.

    sudo nano /boot/cmdline.txt
  2. /boot/cmdline.txt파일에 다음 커널 파라미터가 포함되어 있는지 확인하십시오. 이 systemd.unified_cgroup_hierarchy=0 파라미터는 cgroups v2 대신 cgroups v1을 사용하도록 지정합니다.

    cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0

    /boot/cmdline.txt파일에 이러한 매개변수가 없거나 값이 다른 매개변수를 포함하는 경우 이러한 매개변수와 값을 포함하도록 파일을 업데이트하십시오.

  3. /boot/cmdline.txt파일을 업데이트한 경우 Raspberry Pi를 재부팅하여 변경 사항을 적용하십시오.

    sudo reboot
Linux 디바이스를 설정하려면 AWS IoT Greengrass V2
  1. AWS IoT GreengrassCore 소프트웨어를 실행하는 데 필요한 Java 런타임을 설치합니다. Amazon Corretto 또는 OpenJDK 장기 지원 버전을 사용하는 것이 좋습니다. 버전 8 이상이 필요합니다. 다음 명령은 장치에 OpenJDK를 설치하는 방법을 보여줍니다.

    • Debian 기반 또는 Ubuntu 기반 배포판의 경우:

      sudo apt install default-jdk
    • Red Hat 기반 배포판의 경우:

      sudo yum install java-11-openjdk-devel
    • 대상 Amazon Linux 2:

      sudo amazon-linux-extras install java-openjdk11
    • 아마존 리눅스 2023의 경우:

      sudo dnf install java-11-amazon-corretto -y

    설치가 완료되면 다음 명령을 실행하여 Linux 디바이스에서 Java가 실행되는지 확인합니다.

    java -version

    이 명령은 장치에서 실행되는 Java 버전을 인쇄합니다. 예를 들어 Debian 기반 배포의 경우 출력은 다음 샘플과 비슷할 수 있습니다.

    openjdk version "11.0.9.1" 2020-11-04
    OpenJDK Runtime Environment (build 11.0.9.1+1-post-Debian-1deb10u2)
    OpenJDK 64-Bit Server VM (build 11.0.9.1+1-post-Debian-1deb10u2, mixed mode)
  2. (선택 사항) 기기에서 구성 요소를 실행하는 기본 시스템 사용자 및 그룹을 생성합니다. 설치 중에 설치 프로그램 인수를 사용하여 AWS IoT Greengrass Core 소프트웨어 설치 프로그램이 이 사용자 및 그룹을 만들도록 선택할 수도 있습니다. --component-default-user 자세한 설명은 인스톨러 인수 섹션을 참조하세요.

    sudo useradd --system --create-home ggc_user sudo groupadd --system ggc_group
  3. AWS IoT GreengrassCore 소프트웨어를 실행하는 사용자 (일반적으로root) 에게 모든 사용자 및 그룹과 sudo 함께 실행할 수 있는 권한이 있는지 확인하십시오.

    1. 다음 명령을 실행하여 /etc/sudoers 파일을 엽니다.

      sudo visudo
    2. 사용자의 권한이 다음 예와 같은지 확인합니다.

      root ALL=(ALL:ALL) ALL
  4. (선택 사항) 컨테이너화된 Lambda 함수를 실행하려면 cgroups v1을 활성화하고 메모리 및 디바이스 cgroups를 활성화하고 마운트해야 합니다. 컨테이너화된 Lambda 함수를 실행할 계획이 없다면 이 단계를 건너뛰어도 됩니다.

    이러한 cgroups 옵션을 활성화하려면 다음 Linux 커널 파라미터를 사용하여 디바이스를 부팅하십시오.

    cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0

    디바이스의 커널 파라미터 보기 및 설정에 대한 자세한 내용은 운영 체제 및 부트로더 설명서를 참조하십시오. 지침에 따라 커널 파라미터를 영구적으로 설정하십시오.

  5. 의 요구 사항 목록에 나와 있는 대로 다른 모든 필수 종속 항목을 장치에 설치하십시오. 장치 요구 사항

Windows 디바이스를 설정하려면 AWS IoT Greengrass V2
  1. AWS IoT GreengrassCore 소프트웨어를 실행하는 데 필요한 Java 런타임을 설치합니다. Amazon Corretto 또는 OpenJDK 장기 지원 버전을 사용하는 것이 좋습니다. 버전 8 이상이 필요합니다.

  2. PATH 시스템 변수에서 Java를 사용할 수 있는지 확인하고 사용할 수 없는 경우 추가하십시오. 이 LocalSystem 계정은 AWS IoT Greengrass Core 소프트웨어를 실행하므로 사용자의 PATH 사용자 변수 대신 PATH 시스템 변수에 Java를 추가해야 합니다. 다음을 따릅니다.

    1. Windows 키를 눌러 시작 메뉴를 엽니다.

    2. 시작 메뉴에서 시스템 옵션을 environment variables 검색하려면 입력합니다.

    3. 시작 메뉴 검색 결과에서 시스템 환경 변수 편집을 선택하여 시스템 속성 창을 엽니다.

    4. 환경 변수 선택... 환경 변수 창을 열려면

    5. 시스템 변수에서 경로를 선택한 다음 편집을 선택합니다. 환경 변수 편집 창에서 각 경로를 별도의 줄로 볼 수 있습니다.

    6. Java 설치 bin 폴더 경로가 있는지 확인합니다. 경로는 다음 예와 비슷할 수 있습니다.

      C:\\Program Files\\Amazon Corretto\\jdk11.0.13_8\\bin
    7. Java 설치 bin 폴더가 경로에 없는 경우 [새로 만들기] 를 선택하여 추가한 다음 [확인] 을 선택합니다.

  3. Windows 명령 프롬프트 (cmd.exe) 를 관리자 권한으로 엽니다.

  4. Windows 디바이스의 LocalSystem 계정에 기본 사용자를 생성합니다. 암호를 보안 암호로 바꾸십시오.

    net user /add ggc_user password
    작은 정보

    Windows 구성에 따라 사용자 암호가 향후 날짜에 만료되도록 설정될 수 있습니다. Greengrass 애플리케이션이 계속 작동하도록 하려면 암호가 만료되는 시기를 추적하고 만료되기 전에 업데이트하십시오. 사용자 비밀번호가 만료되지 않도록 설정할 수도 있습니다.

    • 사용자 및 암호가 언제 만료되는지 확인하려면 다음 명령을 실행합니다.

      net user ggc_user | findstr /C:expires
    • 사용자 암호가 만료되지 않도록 설정하려면 다음 명령을 실행합니다.

      wmic UserAccount where "Name='ggc_user'" set PasswordExpires=False
    • 명령이 더 이상 사용되지 않는 Windows 10 이상을 사용하는 경우 wmic 다음 명령을 실행하세요. PowerShell

      Get-CimInstance -Query "SELECT * from Win32_UserAccount WHERE name = 'ggc_user'" | Set-CimInstance -Property @{PasswordExpires="False"}
  5. Microsoft에서 PsExec유틸리티를 다운로드하여 장치에 설치합니다.

  6. PsExec 유틸리티를 사용하여 기본 사용자의 사용자 이름과 암호를 LocalSystem 계정의 Credential Manager 인스턴스에 저장합니다. 암호를 이전에 설정한 사용자 암호로 바꾸십시오.

    psexec -s cmd /c cmdkey /generic:ggc_user /user:ggc_user /pass:password

    PsExec License Agreement열리면 라이선스에 Accept동의하도록 선택하고 명령을 실행합니다.

    참고

    Windows 장치에서는 LocalSystem 계정이 Greengrass nucleus를 실행하므로 PsExec 유틸리티를 사용하여 계정에 기본 사용자 정보를 저장해야 합니다. LocalSystem 자격 증명 관리자 애플리케이션을 사용하면 계정 대신 현재 로그온한 사용자의 Windows 계정에 이 정보가 저장됩니다. LocalSystem