AWS IoT Greengrass 코어 디바이스 설정 - AWS IoT Greengrass

AWS IoT Greengrass 코어 디바이스 설정

이 섹션의 태스크를 완료하여 AWS IoT Greengrass 코어 소프트웨어를 설치, 구성, 실행합니다.

참고

이 섹션에서는 AWS IoT Greengrass 코어 소프트웨어의 고급 설치 및 구성에 대해 설명합니다. AWS IoT Greengrass V2를 처음 사용하는 사용자인 경우 먼저 시작하기 자습서를 완료하여 코어 디바이스를 설정하고 AWS IoT Greengrass의 기능을 살펴보는 것이 좋습니다.

지원되는 플랫폼 및 요구 사항

시작하기 전에 AWS IoT Greengrass 코어 소프트웨어를 설치하고 실행하기 위한 다음과 같은 요구 사항을 충족하는지 확인합니다.

작은 정보

AWS 파트너 디바이스 카탈로그에서 AWS IoT Greengrass V2에 적합한 디바이스를 검색할 수 있습니다.

지원하는 플랫폼

AWS IoT Greengrass는 다음 플랫폼을 실행하는 디바이스를 공식적으로 지원합니다. 이 목록에 포함되지 않은 플랫폼이 있는 디바이스가 작동할 수 있지만 AWS IoT Greengrass는 지정된 플랫폼에서만 테스트합니다.

Linux

아키텍처:

  • Armv7l

  • ARMv8(AArch64)

  • x86_64

Windows

아키텍처:

  • x86_64

버전:

  • Windows 10

  • Windows 11

  • Windows Server 2019

  • Windows Server 2022

참고

일부 AWS IoT Greengrass 기능은 현재 Windows 디바이스에서 지원되지 않습니다. 자세한 내용은 운영 체제별 Greengrass 기능 호환성Windows 디바이스에 대한 기능 고려 사항 단원을 참조하세요.

Linux 플랫폼은 Docker 컨테이너에서도 AWS IoT Greengrass V2를 실행할 수 있습니다. 자세한 내용은 Docker 컨테이너에서 AWS IoT Greengrass 코어 소프트웨어 실행 단원을 참조하십시오.

사용자 지정 Linux 기반 운영 체제를 빌드하려면 meta-aws 프로젝트에서 AWS IoT Greengrass V2에 대한 BitBake 레시피를 사용하면 됩니다. meta-aws 프로젝트는 OpenEmbedded 및 Yocto Project 빌드 프레임워크로 빌드된 임베디드 Linux 시스템에서 AWS 엣지 소프트웨어 기능을 빌드하는 데 사용할 수 있는 레시피를 제공합니다. Yocto Project는 하드웨어 아키텍처에 관계없이 임베디드 애플리케이션을 위한 사용자 지정 Linux 기반 시스템을 빌드할 수 있도록 지원하는 오픈 소스 협업 프로젝트입니다. AWS IoT Greengrass V2용 BitBake 레시피는 디바이스에 AWS IoT Greengrass 코어 소프트웨어를 설치, 구성하고 자동으로 실행합니다.

장치 요구 사항

AWS IoT Greengrass 코어 소프트웨어 v2.x를 설치하고 실행하려면 디바이스가 다음과 같은 요구 사항을 충족해야 합니다.

참고

AWS IoT Greengrass용 AWS IoT Device Tester를 사용하면 디바이스가 AWS IoT Greengrass 코어 소프트웨어를 실행하고 AWS 클라우드와 통신할 수 있는지 확인할 수 있습니다. 자세한 내용은 AWS IoT Greengrass V2용 AWS IoT Device Tester 사용 단원을 참조하십시오.

Linux
  • AWS IoT Greengrass V2를 지원하는 AWS 리전 사용. 지원되는 리전 목록은 AWS 일반 참조에서 AWS IoT Greengrass V2 엔드포인트 및 할당량을 참조하십시오.

  • AWS IoT Greengrass 코어 소프트웨어에 사용할 수 있는 최소 256MB의 디스크 공간. 이 요구 사항에는 코어 디바이스에 배포된 구성 요소는 포함되지 않습니다.

  • AWS IoT Greengrass 코어 소프트웨어에 할당된 최소 96MB의 RAM. 이 요구 사항에는 코어 디바이스에서 실행되는 구성 요소는 포함되지 않습니다. 자세한 내용은 JVM 옵션으로 메모리 할당 제어 단원을 참조하십시오.

  • Java 런타임 환경(JRE) 버전 8 이상. 디바이스의 PATH 환경 변수에서 Java를 사용할 수 있어야 합니다. Java를 사용하여 사용자 정의 구성 요소를 개발하려면 JDP(Java Devopment Kit)를 설치해야 합니다. Amazon Corretto 또는 OpenJDK 장기 지원 버전을 사용하는 것이 좋습니다. 버전 8 이상이 필요합니다.

  • GNU C Library(glibc) 버전 2.25 이상.

  • AWS IoT Greengrass 코어 소프트웨어를 루트 사용자로 실행해야 합니다. 예를 들어 sudo를 사용합니다.

  • root와 같은 AWS IoT Greengrass 코어 소프트웨어를 실행하는 루트 사용자는 모든 사용자 및 모든 그룹에서 sudo를 실행할 수 있는 권한이 있어야 합니다. /etc/sudoers 파일은 이 사용자에게 다른 그룹으로 sudo를 실행할 수 있는 권한을 부여해야 합니다. /etc/sudoers의 사용자에 대한 권한은 다음 예제와 유사해야 합니다.

    root ALL=(ALL:ALL) ALL
  • 코어 디바이스는 엔드포인트 및 포트 세트에 대한 아웃바운드 요청을 수행할 수 있어야 합니다. 자세한 내용은 프록시 또는 방화벽을 통해 디바이스 트래픽 허용 단원을 참조하십시오.

  • /tmp 디렉터리는 exec 권한으로 탑재되어야 합니다.

  • 다음 쉘 명령 모두:

    • ps -ax -o pid,ppid

    • sudo

    • sh

    • kill

    • cp

    • chmod

    • rm

    • ln

    • echo

    • exit

    • id

    • uname

    • grep

  • 디바이스에 다음 쉘 명령(선택 사항)이 필요할 수도 있습니다.

    • (선택 사항) systemctl. 이 명령은 AWS IoT Greengrass 코어 소프트웨어를 시스템 서비스로 설정하는 데 사용됩니다.

    • (선택 사항) useradd, groupadd, usermod. 이 명령은 ggc_user 시스템 사용자 및 ggc_group 시스템 그룹을 설정하는 데 사용됩니다.

    • (선택 사항) mkfifo. 이 명령은 Lambda 함수를 구성 요소로 실행하는 데 사용됩니다.

  • 구성 요소 프로세스에 대한 시스템 리소스 제한을 구성하려면 디바이스에서 Linux 커널 버전 2.6.24 이상을 실행해야 합니다.

  • Lambda 함수를 실행하려면 디바이스가 추가 요구 사항을 충족해야 합니다. 자세한 내용은 Lambda 함수 요구 사항 단원을 참조하십시오.

Windows
  • AWS IoT Greengrass V2를 지원하는 AWS 리전 사용. 지원되는 리전 목록은 AWS 일반 참조에서 AWS IoT Greengrass V2 엔드포인트 및 할당량을 참조하십시오.

  • AWS IoT Greengrass 코어 소프트웨어에 사용할 수 있는 최소 256MB의 디스크 공간. 이 요구 사항에는 코어 디바이스에 배포된 구성 요소는 포함되지 않습니다.

  • AWS IoT Greengrass 코어 소프트웨어에 할당된 최소 160MB의 RAM. 이 요구 사항에는 코어 디바이스에서 실행되는 구성 요소는 포함되지 않습니다. 자세한 내용은 JVM 옵션으로 메모리 할당 제어 단원을 참조하십시오.

  • Java 런타임 환경(JRE) 버전 8 이상. 디바이스의 PATH 시스템 변수에서 Java를 사용할 수 있어야 합니다. Java를 사용하여 사용자 정의 구성 요소를 개발하려면 JDP(Java Devopment Kit)를 설치해야 합니다. Amazon Corretto 또는 OpenJDK 장기 지원 버전을 사용하는 것이 좋습니다. 버전 8 이상이 필요합니다.

    참고

    Greengrass nucleus의 버전 2.5.0을 사용하려면 Java 런타임 환경(JRE)의 64비트 버전을 사용해야 합니다. Greengrass nucleus 버전 2.5.1은 32비트 및 64비트 JRE를 지원합니다.

  • AWS IoT Greengrass 코어 소프트웨어를 설치하는 사용자는 관리자여야 합니다.

  • AWS IoT Greengrass 코어 소프트웨어를 시스템 서비스로 설치해야 합니다. 소프트웨어를 설치할 때 --setup-system-service true를 지정합니다.

  • 구성 요소 프로세스를 실행하는 각 사용자는 LocalSystem 계정에 있어야 하며 사용자의 이름과 암호는 LocalSystem 계정의 Credential Manager 인스턴스에 있어야 합니다. 지침에 따라 AWS IoT Greengrass 코어 소프트웨어를 설치하는 경우 이 사용자를 설정할 수 있습니다.

  • 코어 디바이스는 엔드포인트 및 포트 세트에 대한 아웃바운드 요청을 수행할 수 있어야 합니다. 자세한 내용은 프록시 또는 방화벽을 통해 디바이스 트래픽 허용 단원을 참조하십시오.

Lambda 함수 요구 사항

Lambda 함수를 실행하려면 디바이스가 다음과 같은 요구 사항을 충족해야 합니다.

  • Linux 기반 운영 체제.

  • 디바이스에 mkfifo 쉘 명령이 있어야 합니다.

  • 디바이스에서 Lambda 함수에 필요한 프로그래밍 언어 라이브러리를 실행해야 합니다. 디바이스에 필수 라이브러리를 설치하고 PATH 환경 변수에 추가해야 합니다. Greengrass는 Python, Node.js, Java 런타임의 모든 Lambda 지원 버전을 지원합니다. Greengrass는 더 이상 사용되지 않는 Lambda 런타임 버전에 추가 제한 사항을 적용하지 않습니다. Lambda 런타임용 AWS IoT Greengrass 지원에 대한 자세한 내용은 AWS Lambda 함수 실행 섹션을 참조하세요.

  • 컨테이너화된 Lambda 함수를 실행하려면 디바이스가 다음과 같은 요구 사항을 충족해야 합니다.

    • Linux 커널 버전 4.4 이상.

    • 커널은 cgroups v1을 지원해야 하며 사용자가 다음 cgroups를 활성화하고 탑재해야 합니다.

      • 컨테이너화된 Lambda 함수의 메모리 제한을 설정하는 AWS IoT Greengrass의 memory cgroup.

      • 시스템 디바이스 또는 볼륨에 액세스하기 위한 컨테이너화된 Lambda 함수의 devices cgroup.

      AWS IoT Greengrass 코어 소프트웨어는 cgroups v2를 지원하지 않습니다.

      이 요구 사항을 충족하려면 다음 Linux 커널 파라미터로 디바이스를 부팅합니다.

      cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0
      작은 정보

      Raspberry Pi에서 /boot/cmdline.txt 파일을 편집하여 디바이스의 커널 파라미터를 설정합니다.

    • 디바이스에서 다음 Linux 커널 구성을 활성화해야 합니다.

      • 네임스페이스:

        • CONFIG_IPC_NS

        • CONFIG_UTS_NS

        • CONFIG_USER_NS

        • CONFIG_PID_NS

      • Cgroups:

        • CONFIG_CGROUP_DEVICE

        • CONFIG_CGROUPS

        • CONFIG_MEMCG

      • 기타:

        • CONFIG_POSIX_MQUEUE

        • CONFIG_OVERLAY_FS

        • CONFIG_HAVE_ARCH_SECCOMP_FILTER

        • CONFIG_SECCOMP_FILTER

        • CONFIG_KEYS

        • CONFIG_SECCOMP

        • CONFIG_SHMEM

      작은 정보

      Linux 커널 파라미터를 확인하고 설정하는 방법을 알아보려면 사용 중인 Linux 배포의 설명서를 확인합니다. AWS IoT Greengrass에 AWS IoT Device Tester를 사용하여 디바이스가 이러한 요구 사항을 충족하는지 확인할 수도 있습니다. 자세한 내용은 AWS IoT Greengrass V2용 AWS IoT Device Tester 사용 단원을 참조하십시오.

Windows 디바이스에 대한 기능 고려 사항

일부 AWS IoT Greengrass 기능은 현재 Windows 디바이스에서 지원되지 않습니다. 기능 차이를 검토하여 Windows 디바이스가 요구 사항을 충족하는지 확인합니다. 자세한 내용은 운영 체제별 Greengrass 기능 호환성 단원을 참조하십시오.

AWS 계정 설정

AWS 계정이 없는 경우 다음 절차에 따라 계정을 생성합니다.

AWS 계정에 가입
  1. https://portal.aws.amazon.com/billing/signup을 엽니다.

  2. 온라인 지시 사항을 따릅니다.

    등록 절차 중 전화를 받고 전화 키패드로 확인 코드를 입력하는 과정이 있습니다.

    AWS 계정 루트 사용자에 가입하면 AWS 계정 루트 사용자가 생성됩니다. 루트 사용자에게는 계정의 모든 AWS 서비스 및 리소스에 액세스할 권한이 있습니다. 보안 모범 사례는 사용자에게 관리 액세스 권한을 할당하고, 루트 사용자만 사용하여 루트 사용자 액세스 권한이 필요한 작업을 수행하는 것입니다.

다음 옵션 중 하나를 선택하여 관리 사용자를 생성합니다.

관리자를 관리하는 방법 한 가지 선택 목적 By 다른 방법
IAM Identity Center에서

(권장)

단기 보안 인증 정보를 사용하여 AWS에 액세스합니다.

이는 보안 모범 사례와 일치합니다. 모범 사례에 대한 자세한 내용은 IAM 사용 설명서IAM의 보안 모범 사례를 참조하십시오.

AWS IAM Identity Center 사용 설명서의 시작하기 지침을 따르세요. AWS Command Line Interface 사용 설명서의 AWS IAM Identity Center 사용할 AWS CLI 구성을 통해 프로그래밍 방식의 액세스를 구성합니다.
IAM에서

(권장되지 않음)

장기 보안 인증 정보를 사용하여 AWS에 액세스합니다. IAM 사용 설명서의 첫 IAM 관리 사용자 및 사용자 그룹 만들기에 나온 지침을 따릅니다. IAM 사용 설명서에 나온 IAM 사용자의 액세스 키 관리 단계를 수행하여 프로그래밍 방식의 액세스를 구성합니다.