AWS IoT Greengrass 코어 소프트웨어 설치 - 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개발자 안내서.

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

AWS IoT Greengrass 코어 소프트웨어 설치

이AWS IoT Greengrass코어 소프트웨어 확장AWS기능을AWS IoT Greengrass코어 디바이스가 생성하는 데이터를 로컬로 작업할 수 있습니다.

AWS IoT Greengrass에서는 다음 몇 가지 방법으로 AWS IoT Greengrass 코어 소프트웨어를 설치할 수 있습니다.

또한 AWS IoT Greengrass는 AWS IoT Greengrass 코어 소프트웨어를 실행하는 컨테이너화된 환경을 제공합니다.

 

AWS IoT Greengrass 코어 소프트웨어 패키지 다운로드 및 추출

플랫폼에 맞는 AWS IoT Greengrass 코어 소프트웨어를 선택하여 tar.gz 파일로 다운로드하고 디바이스에서 압축을 풀 수 있습니다. 최신 버전의 소프트웨어를 다운로드할 수 있습니다. 자세한 내용은 AWS IoT Greengrass 코어 소프트웨어 섹션을 참조하세요.

 

Greengrass 디바이스 설정 스크립트 실행

Greengrass 디바이스 설정을 실행하여 디바이스를 구성하고 최신AWS IoT Greengrass코어 소프트웨어 버전으로, 몇 분 안에 Hello World Lambda 함수를 배포할 수 있습니다. 자세한 내용은 빠른 시작: Greengrass 디바이스 설정 섹션을 참조하세요.

 

APT 리포지토리에서 AWS IoT Greengrass 코어 소프트웨어 설치

고급 패키지 도구(APT) 패키지 관리 시스템을 사용하여 코어 디바이스에 최신 버전의 AWS IoT Greengrass 코어 소프트웨어를 설치할 수 있습니다. AWS IoT Greengrass에서 제공하는 APT 리포지토리에는 다음 패키지가 포함되어 있습니다.

  • aws-iot-greengrass-core. 를 설치합니다.AWS IoT Greengrass코어 소프트웨어.

  • aws-iot-greengrass-keyring. GnuPG (GPG) 키를 사용하여AWS IoT Greengrass패키지 리포지토리를.

    이 소프트웨어를 다운로드하면 Greengrass 코어 소프트웨어 라이선스 계약에 동의하는 것입니다.

Considerations

apt 명령을 사용하여 AWS IoT Greengrass 코어 소프트웨어를 설치할 때는 다음 사항을 고려해야 합니다.

AWS IoT Greengrass 코어 소프트웨어는 루트 디렉터리에 설치됨.

apt 명령은 루트 파일 시스템의 greengrass 디렉터리에 AWS IoT Greengrass 코어 소프트웨어를 설치합니다. /greengrass가 이미 있는 경우 이 명령은 새 소프트웨어 버전을 설치하지만 그룹 정보 또는 코어 구성을 덮어쓰지 않습니다.

무선(OTA) 업데이트는 지원되지 않음.

APT를 사용하여AWS IoT Greengrass코어 소프트웨어는 코어 디바이스에서 제공하지만 에서 제공하는 안전 업데이트 경로는 지원되지 않습니다.AWS IoT GreengrassOTA 업데이트 에이전트입니다. OTA 업데이트 에이전트에 포함 된 소프트웨어 구성 요소는AWS IoT Greengrass사용할 때 설치 되는 핵심 소프트웨어 패키지tar.gz 파일 다운로드 및 압축 해제또는Greengrass 디바이스 설정 스크립트 실행설치 옵션을 참조하십시오. OTA 업데이트 에이전트는 업데이트가 실패할 경우 롤백하여 업데이트 후에도 코어가 계속 작동하도록 보장합니다. 자세한 내용은 AWS IoT Greengrass 코어 소프트웨어의 OTA 업데이트 섹션을 참조하세요.

APT는 기본적으로 사용 가능한 최신 버전을 설치합니다.

기본apt install명령을 실행하면 사용 가능한 최신 버전의AWS IoT Greengrass코어 소프트웨어. 이전 버전의AWS IoT Greengrass핵심 소프트웨어를 사용하고 해당 버전에 대해 사용 가능한 최신 패치 릴리스로만 업그레이드하려는 경우apt install명령입니다. 예를 들어 다음 명령은 의 v1.10.3을 설치합니다.AWS IoT Greengrass코어 소프트웨어.

sudo apt install aws-iot-greengrass-core=1.10.3-1

모든 버전에 대해 사용 가능한 최신 패치만 설치할 수 있습니다.AWS IoT Greengrass코어 소프트웨어. 최신 패치를 설치한 후에는 APT를 사용하여 해당 버전의 이전 패치 릴리스를 설치할 수 없습니다. 대신 소프트웨어를 수동으로 다운로드한 다음 설치해야 합니다. 특정 버전에 대한 자세한 내용은AWS IoT Greengrass코어 소프트웨어에 대한 자세한 내용은AWS IoT Greengrass 코어 소프트웨어 버전.

키 링 패키지를 최신 상태로 유지하는 것이 좋음.

aws-iot-greengrass-keyring 패키지를 최신 상태로 유지하면 AWS IoT Greengrass APT 리포지토리를 인증하는 데 사용되는 GPG 키에 대한 업데이트를 받을 수 있습니다. 또한 AWS IoT Greengrass 코어 소프트웨어를 보다 쉽게 업그레이드할 수 있습니다. 이러한 신뢰할 수 있는 키는 /etc/apt/trusted.gpg.d/에 설치됩니다. 퍼블릭 키는 2년간 유효합니다. 만료된 경우 키 링 패키지를 재구성해야 합니다.

wget -O aws-iot-greengrass-keyring.deb https://d1onfpft10uf5o.cloudfront.net/greengrass-apt/downloads/aws-iot-greengrass-keyring.deb sudo dpkg -i aws-iot-greengrass-keyring.deb
중요

드물지만 AWS IoT Greengrass에서 관리하는 키가 손상될 경우 aws-iot-greengrass-keyring 패키지를 업데이트하여 손상된 키를 새 키로 대체해야 합니다. 자세한 내용은 AWS 고객 지원에 문의하십시오.

Requirements

apt를 사용하여 AWS IoT Greengrass 코어 소프트웨어를 설치하는 데는 다음 요구 사항이 적용됩니다.

  • 디바이스에서 다음 플랫폼 중 하나를 실행해야 합니다.

    Architecture

    OS

    배포

    ARMv8(AArch64)

    Linux

    Arch Linux

    Armv7l

    Linux

    2019-07-10

    x86_64

    Linux

    Ubuntu 18.04

  • 디바이스에 대한 루트 액세스 권한이 있어야 합니다.

  • 다음 절차의 단계를 완료하려면 디바이스에 sudo, wget 또는 curl, dpkg, echo, unziptar 셸 명령을 설치해야 합니다.

apt를 사용하여AWS IoT Greengrass코어 소프트웨어

APT 패키지 관리 시스템을 사용하여 디바이스에 AWS IoT Greengrass 코어 소프트웨어를 설치할 수 있습니다. 소프트웨어를 설치하기 전에 몇 가지 코어 구성 단계가 필요할 수 있습니다.

다음 절차에서는 디바이스의 터미널 창에서 명령을 실행합니다.

코어를 구성하려면

  1. AWS IoT Greengrass를 처음 설정하는 경우 코어를 구성해야 합니다. adduser 또는 addgroup 명령을 사용할 수 없는 경우 useradd 또는 groupadd를 대신 사용합니다.

    1. ggc_userggc_group 시스템 계정을 생성합니다.

      sudo adduser --system ggc_user sudo addgroup --system ggc_group
    2. 코어 디바이스 인증서 및 키와 코어 구성 파일을 설정합니다.

      1. AWS IoT에서 AWS IoT Greengrass 구성의 단계를 따라 Greengrass 그룹을 생성하고 코어를 등록합니다. 이 프로세스는 다운로드하는 보안 리소스 패키지도 생성합니다. 패키지는 코어 디바이스 인증서, 퍼블릭-프라이빗 키 및 코어 구성 파일을 포함하는 tar.gz 파일입니다. 파일 이름은 인증서 및 키 파일 이름에도 사용되는 10자리 해시로 시작합니다(예: c6973960cc-setup.tar.gz).

        AWS IoT Greengrass 코어 소프트웨어를 다운로드하는 11단계를 건너뜁니다.

      2. 패키지를 코어 디바이스로 전송하고 다음 명령을 실행하여 보안 리소스를 설치합니다. hash를 tar.gz 파일의 10자리 해시로 대체합니다.

        sudo mkdir -p /greengrass sudo tar -xzvf hash-setup.tar.gz -C /greengrass
      3. 루트 CA 인증서를 다운로드합니다. 적절한 루트 CA 인증서 선택에 대한 자세한 내용은서버 인증AWS IoT Core개발자 안내서.

        다음은 AmazonRootCA1.pem을 다운로드하는 예제입니다. curl을 사용하려면 명령에서 wget -Ocurl로 대체합니다.

        cd /greengrass/certs/ sudo wget -O root.ca.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem

      이러한 단계를 수행하면 인증서와 키가 /greengrass/certs에 설치되고 구성 파일이 /greengrass/config에 설치됩니다. 자세한 내용은 AWS IoT Greengrass 코어 구성 파일 섹션을 참조하세요.

  2. AWS IoT Greengrass용 종속성 확인 프로그램을 다운로드하여 실행합니다. 종속성 확인 프로그램은 AWS IoT Greengrass 코어 소프트웨어에 필요한 모든 종속성이 갖추어졌는지 확인합니다. 한 패치 버전에서 다른 패치 버전으로 업그레이드하는 경우 (예: v1.10.2에서 v1.10.3로) 이 단계를 건너뛸 수 있습니다.

    1. 스크립트를 다운로드하려는 디렉터리에서 다음 명령을 실행합니다. curl을 사용하려면 명령에서 wgetcurl로 대체합니다.

      mkdir greengrass-dependency-checker-GGCv1.11.x cd greengrass-dependency-checker-GGCv1.11.x wget https://github.com/aws-samples/aws-greengrass-samples/raw/master/greengrass-dependency-checker-GGCv1.11.x.zip unzip greengrass-dependency-checker-GGCv1.11.x.zip cd greengrass-dependency-checker-GGCv1.11.x sudo ./check_ggc_dependencies | more
    2. more가 나타나면 스페이스바 키를 눌러 페이지별로 이동하며 출력을 표시합니다.

      • Greengrass 그룹에서 스트림 관리자가 활성화된 경우 그룹을 배포하기 전에 Java 8 런타임을 설치해야 합니다. 이 기능은 사용할 때 기본적으로 활성화되어 있습니다.기본 그룹 생성워크플로의AWS IoT Greengrass콘솔을 사용하여 그룹을 생성할 수 있습니다.

      • 대상 Lambda 런타임 (예: Python 3.8) 을 설치하고 선택 사항인 다른 런타임 사전 조건 누락 관련 경고는 무시해도 됩니다.

      • 셸 명령 누락 관련 경고를 무시해도 됩니다. 이러한 항목은 OTA 업데이트 에이전트에 필요하며 이 설치에 포함되지 않습니다.

       

AWS IoT Greengrass 코어 소프트웨어를 설치하려면

  1. AWS IoT Greengrass 키 링 패키지를 설치하고 리포지토리를 추가합니다. curl을 사용하려면 명령에서 wget -Ocurl로 대체합니다.

    wget -O aws-iot-greengrass-keyring.deb https://d1onfpft10uf5o.cloudfront.net/greengrass-apt/downloads/aws-iot-greengrass-keyring.deb sudo dpkg -i aws-iot-greengrass-keyring.deb echo "deb https://dnw9lb6lzp2d8.cloudfront.net stable main" | sudo tee /etc/apt/sources.list.d/greengrass.list
    참고

    디바이스에서 키 링 패키지를 최신 상태로 유지하는 경우 APT 리포지토리에서 AWS IoT Greengrass 코어 소프트웨어를 처음 설치할 때만 이 단계가 필요합니다.

  2. 패키지 목록을 업데이트합니다.

    sudo apt update
  3. AWS IoT Greengrass 코어 소프트웨어를 설치합니다.

    sudo apt install aws-iot-greengrass-core
  4. Greengrass 데몬을 시작합니다. 다음 명령은 를 사용합니다.systemd 스크립트와 함께 설치aws-iot-greengrass-core패키지를 사용합니다.

    systemctl start greengrass.service systemctl status greengrass.service

    출력에 Active 상태가 active (running)로 표시되면 데몬이 성공적으로 시작된 것입니다.

 

APT 리포지토리 사용을 중지하려면

AWS IoT Greengrass에 APT 리포지토리를 더 이상 사용하지 않으려면 패키지를 제거하고 소스 목록을 업데이트합니다.

참고

remove 명령은 패키지를 제거하지만 구성 정보는 제거하지 않습니다. 모든 구성 정보(디바이스 인증서, 그룹 정보 및 로그 파일 포함)를 영구적으로 제거하려면 다음 명령에서 removepurge로 대체합니다.

sudo apt remove aws-iot-greengrass-core aws-iot-greengrass-keyring sudo rm /etc/apt/sources.list.d/greengrass.list sudo apt update

systemd 스크립트를 사용하여 Greengrass 데몬 수명 주기 관리

aws-iot-greengrass-core 패키지는 AWS IoT Greengrass 코어 소프트웨어(데몬) 수명 주기를 관리하는 데 사용할 수 있는 systemd 스크립트도 설치합니다.

  • 부팅 중에 Greengrass 데몬을 시작하려면:

    systemctl enable greengrass.service
  • Greengrass 데몬을 시작하려면 다음 명령을 실행합니다.

    systemctl start greengrass.service
  • Greengrass 데몬을 중지하려면 다음 명령을 실행합니다.

    systemctl stop greengrass.service
  • Greengrass 데몬의 상태를 확인하려면 다음 명령을 실행합니다.

    systemctl status greengrass.service

 

Docker 컨테이너에서 AWS IoT Greengrass를 실행하십시오.

AWS IoT Greengrass는 Docker 컨테이너에서 AWS IoT Greengrass Core 소프트웨어를 쉽게 실행할 수 있도록 Dockerfile과 도커 이미지를 제공합니다. 자세한 내용은 AWS IoT Greengrass Docker 소프트웨어 섹션을 참조하세요.

참고

Greengrass 코어 디바이스에서 Docker 애플리케이션을 실행할 수도 있습니다. 이렇게 하려면 Greengrass Docker 애플리케이션 배포 커넥터를 사용하십시오

 

스냅에서 AWS IoT Greengrass 실행

AWS IoT Greengrass스냅 1.11.x를 사용하면 제한된 버전의AWS IoT Greengrass컨테이너화 된 환경에서 필요한 모든 의존성과 함께 편리한 소프트웨어 패키지를 통해.

참고

이AWS IoT Greengrass스냅을 사용할 수 있습니다.AWS IoT Greengrass코어 소프트웨어 v1.11.x.AWS IoT Greengrass은 v1.10.x에 대한 스냅을 제공하지 않습니다. 지원되지 않는 버전에는 버그 수정 또는 업데이트가 제공되지 않습니다.

이AWS IoT Greengrass스냅은 커넥터와 기계 학습 (ML) 추론을 지원하지 않습니다.

개념

다음은 스냅을 사용하는 방법을 이해하는 데 도움이 되는 필수 개념입니다.AWS IoT Greengrass스냅:

Channel

업데이트를 위해 설치 및 추적되는 스냅의 버전을 정의하는 스냅 구성요소입니다. 스냅은 현재 채널의 최신 버전으로 자동 업데이트됩니다.

인터페이스

네트워크 및 사용자 파일과 같은 리소스에 대한 액세스 권한을 부여하는 스냅 구성요소입니다.

를 실행하려면AWS IoT Greengrass스냅을 사용하려면 다음 인터페이스를 연결해야 합니다. 참고greengrass-support-no-container는 먼저 연결되어야하며 연결이 끊어지지 않아야합니다.

- greengrass-support-no-container - hardware-observe - home-for-hooks - hugepages-control - log-observe - mount-observe - network - network-bind - network-control - process-control - system-observe

다른 인터페이스는 선택 사항입니다. Lambda 함수가 특정 리소스에 액세스해야 하는 경우 적절한 인터페이스에 연결해야 할 수 있습니다.

새로 고침

스냅은 자동으로 업데이트됩니다. 이snapd데몬은 기본적으로 하루에 네 번 업데이트를 확인하는 스냅 패키지 관리자입니다. 각 업데이트 확인을 새로 고침이라고 합니다. 새로 고침이 발생하면 데몬이 중지되고 스냅이 업데이트되고 데몬이 다시 시작됩니다.

자세한 내용은 단원을 참조하십시오.스냅크래프트웹 사이트를 참조하십시오.

새로운 소식AWS IoT Greengrass스냅 v1.11.x

다음은 버전 1.11.x에서 새로운 기능과 변경된 사항에 대해 설명합니다.AWS IoT Greengrass스냅.

  • 이 버전에서는snap_daemon사용자, 사용자 ID (UID) 및 그룹 (GID) 으로 노출584788.

  • 이 버전은 컨테이너화되지 않은 Lambda 함수만 지원합니다.

    중요

    컨테이너화되지 않은 Lambda 함수는 동일한 사용자 (snap_daemon), Lambda 함수는 서로 격리되지 않습니다. 자세한 내용은 단원을 참조하십시오.그룹별 구성을 사용한 Greengrass Lambda 함수 실행 제어.

  • 이 버전은 C, C ++, 자바 8, Node.js 12.x, 파이썬 2.7, 파이썬 3.7, 파이썬 3.8 런타임을 지원합니다.

    참고

    중복 파이썬 런타임을 피하기 위해 파이썬 3.7 Lambda 함수는 실제로 파이썬 3.8 런타임을 실행합니다.

AWS IoT Greengrass 스냅 시작하기

다음 절차를 따르면, 설치 및 구성에 도움이 됩니다.AWS IoT Greengrass스냅을 기기에 장착할 수 있습니다.

Requirements

를 실행하려면AWS IoT Greengrass스냅에서 다음 작업을 수행해야 합니다.

  • 를 실행합니다.AWS IoT Greengrass는 우분투, 리눅스 민트, 데비안, 페도라 등 지원되는 리눅스 배포판에 스냅합니다.

  • 설치snapd데몬을 장치에 설치하십시오. 이snapd데몬이 포함되어 있습니다.snap도구는 장치의 스냅 환경을 관리합니다.

지원되는 Linux 배포 목록과 설치 지침은snapd 설치스냅 문서.

설치 및 구성AWS IoT Greengrass스냅

다음 자습서에서는 를 설치하고 구성하는 방법을 보여 줍니다.AWS IoT Greengrass스냅을 기기에 장착할 수 있습니다.

참고
  • 이 자습서에서는 Amazon EC2 인스턴스 (x86 t2.micro 우분투 20.04) 를 사용하지만AWS IoT Greengrass스냅을 Raspberry Pi와 같은 물리적 하드웨어와 연결합니다.

  • snapd데몬은 Ubuntu에 사전 설치되어 있습니다.

  1. 설치core18의 단말기에서 다음 명령을 실행하여 스냅을 설치합니다.

    sudo snap install core18

    core18스냅은기준 스냅는 일반적으로 사용되는 라이브러리가있는 런타임 환경을 제공합니다. 이 스냅은Ubuntu 18.04 LTS.

  2. 업그레이드snapd다음 명령을 실행하여 을 설치합니다.

    sudo snap install --channel=edge snapd; sudo snap refresh --channel=edge snapd
    참고

    snapd에 대한 지원AWS IoT Greengrass스냅이 안정 채널에 도달하지 못했습니다. 를 사용할 것을 권장합니다.--channel=edge대신--channel=stable.

  3. 를 실행합니다.snap list명령을 사용하여AWS IoT Greengrass스냅이 설치되어 있습니다.

    다음 예의 응답은 해당 내용을 보여줍니다.snapd이 설치되어 있지만aws-iot-greengrass는 그렇지 않습니다.

    Name Version Rev Tracking Publisher Notes amazon-ssm-agent 3.0.161.0 2996 latest/stable/… aws✓ classic core 16-2.48 10444 latest/stable canonical✓ core core18 20200929 1932 latest/stable canonical✓ base lxd 4.0.4 18150 4.0/stable/… canonical✓ - snapd 2.48+git548.g929ccfb 10526 latest/edge canonical✓ snapd
  4. 다음 옵션 중 하나를 선택하여 를 설치합니다.AWS IoT Greengrass1.11.x를 맞추려면

    • 를 설치하려면AWS IoT Greengrass스냅에서 다음 명령을 실행합니다.

      sudo snap install aws-iot-greengrass

      응답의 예:

      aws-iot-greengrass 1.11.5 from Amazon Web Services (aws) installed
    • 이전 버전에서 v1.11.x로 마이그레이션하거나 사용 가능한 최신 패치 버전으로 업데이트하려면 다음 명령을 실행합니다.

      sudo snap refresh --channel=1.11.x aws-iot-greengrass

    다른 스냅과 마찬가지로AWS IoT Greengrass스냅은 채널을 사용하여 부 버전을 관리합니다. 스냅은 현재 채널의 사용 가능한 최신 버전으로 자동으로 업데이트됩니다. 예를 들어,--channel=1.11.x,AWS IoT Greengrass스냅이 v1.11.5으로 업데이트됩니다.

    를 실행할 수 있습니다.snap info aws-iot-greengrass명령을 사용하여 사용 가능한 채널 목록을 가져옵니다.AWS IoT Greengrass.

    응답의 예:

    name: aws-iot-greengrass summary: AWS supported software that extends cloud capabilities to local devices. publisher: Amazon Web Services (aws✓) store-url: https://snapcraft.io/aws-iot-greengrass contact: https://forums.aws.amazon.com/forum.jspa?forumID=254&start=0 license: Proprietary description: | AWS IoT Greengrass seamlessly extends AWS onto edge devices so they can act locally on the data they generate, while still using the cloud for management, analytics, and durable storage. AWS IoT Greenrgrass snap v1.11.0 enables you to run a limited version of AWS IoT Greengrass with all necessary dependencies in a containerized environment. The AWS IoT Greengrass snap doesn't support connectors and machine learning (ML) inference. By downloading this software you agree to the Greengrass Core Software License Agreement (https://s3-us-west-2.amazonaws.com/greengrass-release-license/greengrass-license-v1.pdf). For more information, see Run AWS IoT Greengrass in a snap (https://docs.aws.amazon.com/greengrass/latest/developerguide/install-ggc.html#gg-snap-support) in the AWS IoT Greengrass Developer. If you need help, try the AWS IoT Greengrass forum (https://forums.aws.amazon.com/forum.jspa?forumID=254) or connect with an AWS IQ expert (https://iq.aws.amazon.com/services/aws/greengrass). snap-id: SRDuhPJGj4XPxFNNZQKOTvURAp0wxKnd channels: latest/stable: 1.11.3 2021-06-15 (59) 111MB - latest/candidate: 1.11.3 2021-06-14 (59) 111MB - latest/beta: 1.11.3 2021-06-14 (59) 111MB - latest/edge: 1.11.3 2021-06-14 (59) 111MB - 1.11.x/stable: 1.11.3 2021-06-15 (59) 111MB - 1.11.x/candidate: 1.11.3 2021-06-15 (59) 111MB - 1.11.x/beta: 1.11.3 2021-06-15 (59) 111MB - 1.11.x/edge: 1.11.3 2021-06-15 (59) 111MB -
  5. 를 실행하려면AWS IoT Greengrass스냅에서 다음 인터페이스를 연결합니다.

    중요

    먼저 연결해야 합니다.greengrass-support-no-container결코 연결을 끊지 마십시오.

    sudo snap connect aws-iot-greengrass:greengrass-support-no-container sudo snap connect aws-iot-greengrass:hardware-observe sudo snap connect aws-iot-greengrass:home-for-hooks sudo snap connect aws-iot-greengrass:hugepages-control sudo snap connect aws-iot-greengrass:log-observe sudo snap connect aws-iot-greengrass:mount-observe sudo snap connect aws-iot-greengrass:network sudo snap connect aws-iot-greengrass:network-bind sudo snap connect aws-iot-greengrass:network-control sudo snap connect aws-iot-greengrass:process-control sudo snap connect aws-iot-greengrass:system-observe
  6. Lambda 함수에 필요한 특정 리소스에 액세스하려면 추가 인터페이스에 연결할 수 있습니다.

    다음 명령을 실행하여 목록을 가져옵니다.AWS IoT Greengrass스냅 지원 인터페이스:

    snap connections aws-iot-greengrass

    응답의 예:

    Interface Plug Slot Notes camera aws-iot-greengrass:camera - - dvb aws-iot-greengrass:dvb - - gpio aws-iot-greengrass:gpio - - gpio-memory-control aws-iot-greengrass:gpio-memory-control - - greengrass-support aws-iot-greengrass:greengrass-support-no-container :greengrass-support - hardware-observe aws-iot-greengrass:hardware-observe :hardware-observe manual hardware-random-control aws-iot-greengrass:hardware-random-control - - home aws-iot-greengrass:home-for-greengrassd - - home aws-iot-greengrass:home-for-hooks :home manual hugepages-control aws-iot-greengrass:hugepages-control :hugepages-control manual i2c aws-iot-greengrass:i2c - - iio aws-iot-greengrass:iio - - joystick aws-iot-greengrass:joystick - - log-observe aws-iot-greengrass:log-observe :log-observe manual mount-observe aws-iot-greengrass:mount-observe :mount-observe manual network aws-iot-greengrass:network :network - network-bind aws-iot-greengrass:network-bind :network-bind - network-control aws-iot-greengrass:network-control :network-control - opengl aws-iot-greengrass:opengl :opengl - optical-drive aws-iot-greengrass:optical-drive :optical-drive - process-control aws-iot-greengrass:process-control :process-control - raw-usb aws-iot-greengrass:raw-usb - - removable-media aws-iot-greengrass:removable-media - - serial-port aws-iot-greengrass:serial-port - - spi aws-iot-greengrass:spi - - system-observe aws-iot-greengrass:system-observe :system-observe -

    슬롯 열에 하이픈 (-) 이 표시되면 해당 인터페이스가 연결되지 않은 것입니다.

  7. 후속구성AWS IoT Greengrass의AWS IoT를 사용하여 Greengrass 그룹을 생성하고 보안 리소스 및 구성 파일을 다운로드합니다. 예를 들어c6973960cc-setup.tar.gz.

    이 압축 파일에는 Greengrass 코어와 관련된 구성 정보가 포함된 config.json 파일과 AWS IoT Core 사이의 보안 통신을 활성화하는 코어 디바이스 인증서와 암호화 키가 포함되어 있습니다. 이 정보에는 인증서 파일 및 AWS IoT Core 엔드포인트의 위치가 포함됩니다.

    참고

    파일을 다른 장치에 다운로드한 경우StartAWS IoT Greengrass코어 디바이스에서를 사용하여 파일을AWS IoT Greengrass코어 디바이스입니다.

  8. 이AWS IoT Greengrass스냅을 업데이트해야 합니다.config.json파일에 표시된 대로 을 추가합니다.

    • ReplaceHash를 보안 리소스 및 구성 파일 이름에 사용되는 10자리 해시 번호로 바꿉니다.

    • 를 실행합니다.tar -xzf hash-setup.tar.gz -C my-certs/명령을 사용하여hash-setup.tar.gz파일을 사용합니다.

    { ... "crypto" : { "principals" : { "SecretsManager" : { "privateKeyPath" : "file:///snap/aws-iot-greengrass/current/greengrass/certs/hash.private.key" }, "IoTCertificate" : { "privateKeyPath" : "file:///snap/aws-iot-greengrass/current/greengrass/certs/hash.private.key", "certificatePath" : "file:///snap/aws-iot-greengrass/current/greengrass/certs/hash.cert.pem" } }, "caPath" : "file:///snap/aws-iot-greengrass/current/greengrass/certs/root.ca.pem" }, "writeDirectory": "/var/snap/aws-iot-greengrass/current/ggc-write-directory", "pidFileDirectory": "/var/snap/aws-iot-greengrass/current/pidFileDirectory" }
  9. 다음 명령을 실행하여 해당 명령을 추가합니다.AWS IoT Greengrass인증서 및 구성 파일:

    sudo snap set aws-iot-greengrass gg-certs=/home/ubuntu/my-certs

Lambda 함수 배포

이 단원에서는 고객 관리형 Lambda 함수를AWS IoT Greengrass스냅.

중요

AWS IoT Greengrass스냅 v1.11은 컨테이너화되지 않은 Lambda 함수만 지원합니다.

  1. 다음 명령을 실행하여 를 시작합니다.AWS IoT Greengrass데몬:

    sudo snap start aws-iot-greengrass

    응답의 예:

    Started.
  2. 다음 명령을 실행하여 데몬이 실행 중인지 확인합니다.

    snap services aws-iot-greengrass.greengrassd

    응답의 예:

    Service Startup Current Notes aws-iot-greengrass.greengrassd disabled active -
  3. 후속모듈 3 (1부): 의 Lambda 함수AWS IoT Greengrass를 사용하여 Hello World Lambda 함수를 만들고 배포할 수 있습니다. 그러나 Lambda 함수를 배포하기 전에 다음 단계를 완료하십시오.

  4. Lambda 함수가snap_daemon사용자 및 컨테이너 없음 모드에서 사용할 수 있습니다. Greengrass 그룹의 설정을 업데이트하려면AWS IoT Greengrass콘솔:

    1. AWS IoT Greengrass 콘솔에 로그인합니다.

    2. 에서AWS IoT콘솔의 탐색 창에서Greengrass,클래식 (V1),그룹.

    3. 언더Greengrass 그룹에서 대상 그룹을 선택합니다.

    4. 그룹 구성 페이지의 탐색 창에서설정.

    5. 언더Lambda 런타임 환경에서 다음을 수행합니다.

      1. 기본 Lambda 함수 사용자 ID/그룹 ID를 선택하고다른 사용자 ID/그룹 ID입력 항목584788두 경우 모두에 대한UID(숫자)GID(숫자).

      2. 기본 Lambda 함수 컨테이너화를 선택하고컨테이너 없음.

중지AWS IoT Greengrass데몬

snap stop명령을 실행하여 서비스를 중지합니다.

를 중지하려면AWS IoT Greengrass데몬에서 다음 명령을 실행합니다.

sudo snap stop aws-iot-greengrass

이 명령은 반환해야 합니다.Stopped..

스냅을 중지했는지 확인하려면 다음 명령을 실행합니다.

snap services aws-iot-greengrass.greengrassd

응답의 예:

Service Startup Current Notes aws-iot-greengrass.greengrassd disabled inactive -

제거AWS IoT Greengrass스냅

를 제거하려면AWS IoT Greengrass스냅에서 다음 명령을 실행합니다.

sudo snap remove aws-iot-greengrass

응답의 예:

aws-iot-greengrass removed

문제 해결AWS IoT Greengrass스냅

다음 정보를 사용하면 문제를 해결하는 데 도움이 됩니다.AWS IoT Greengrass스냅.

권한이 거부되었습니다. 오류가 발생했습니다.

솔루션: 권한 거부 오류는 종종 누락 된 인터페이스로 인해 발생합니다. 누락된 인터페이스 목록과 자세한 문제 해결 정보를 보려면snappy-debug도구를 사용합니다.

다음 명령을 실행하여 도구를 설치합니다.

sudo snap install snappy-debug

응답의 예:

snappy-debug 0.36-snapd2.45.1 from Canonical✓ installed

를 실행합니다.sudo snappy-debug명령을 별도의 터미널 세션에서 사용할 수 있습니다. 사용 권한 거부 오류가 발생할 때까지 작업이 계속됩니다.

예를 들어 Lambda 함수가$HOME디렉토리에서 다음과 같은 응답이 발생할 수 있습니다.

INFO: Following '/var/log/syslog'. If have dropped messages, use: INFO: $ sudo journalctl --output=short --follow --all | sudo snappy-debug kernel.printk_ratelimit = 0 = AppArmor = Time: Dec 6 04:48:26 Log: apparmor="DENIED" operation="mknod" profile="snap.aws-iot-greengrass.greengrassd" name="/home/ubuntu/my-file.txt" pid=12345 comm="touch" requested_mask="c" denied_mask="c" fsuid=0 ouid=0 File: /home/ubuntu/my-file.txt (write) Suggestion: * add 'home' to 'plugs'

이 예제에서는 다음 내용을 보여 줍니다./home/ubuntu/my-file.txt파일로 인해 권한 오류가 발생했습니다. 또한 추가 할 것을 제안합니다.hometoplugs. 그러나이 sugguestion은 적용 할 수 없습니다. 이home-for-greengrassdhome-for-hooks플러그에는 읽기 전용 액세스 권한만 제공됩니다.

자세한 내용은 단원을 참조하십시오.스내피 디버그 스냅스냅 문서.

오류: 다음 작업을 수행할 수 없습니다. - 서비스 명령 “시작” 스냅 “aws-iot-greengrass” ([시작 스냅.aws-iot-greengrass.service] 의 종료 상태 1과 함께 실패했습니다. snap.aws-iot-greengrass.service에 대한 Job 오류 코드와 함께 종료되었기 때문에 실패했습니다. 자세한 내용은 “시스템 상태 스냅.aws-iot-그린그래스.서비스” 및 “저널CTL -xe”를 참조하십시오.

솔루션: 이 오류가 발생할 수 있는 경우snap start aws-iot-greengrass명령이 시작되지 않는 경우AWS IoT Greengrass코어 소프트웨어.

자세한 문제 해결 정보를 보려면 다음 명령을 실행합니다.

sudo snap run aws-iot-greengrass.greengrassd

응답의 예:

Couldn't find /snap/aws-iot-greengrass/44/greengrass/config/config.json.

이 예제는AWS IoT Greengrass를 찾을 수 없습니다.config.json파일을 사용합니다. 구성 및 인증서 파일을 확인할 수 있습니다.

/var/스냅/aws-iot-녹색 잔디/현재/ggc-쓰기 디렉토리/패키지/1.11.5/rootfs/병합은 절대 경로가 아니거나 심볼릭 링크입니다.

솔루션: 이AWS IoT Greengrass스냅은 컨테이너화되지 않은 Lambda 함수만 지원합니다. 컨테이너 없음 모드에서 Lambda 함수를 실행해야 합니다. 자세한 내용은 단원을 참조하십시오.Lambda 함수 컨테이너화 선택 시 고려 사항AWS IoT Greengrass Version 1개발자 안내서.

sudo 스냅 새로 고침 snapd 명령을 실행한 후 snapd 데몬을 다시 시작하지 못했습니다.

솔루션: 6 - 8 단계를 수행설치 및 구성AWS IoT Greengrass스냅를 클릭하여AWS IoT Greengrass인증서 및 구성 파일을AWS IoT Greengrass스냅.

AWS IoT Greengrass 코어 소프트웨어 설치 아카이브

새로운 AWS IoT Greengrass 코어 소프트웨어 버전으로 업그레이드할 때 현재 설치된 버전을 아카이브할 수 있습니다. 그러면 현재 설치 환경이 보존되어 동일한 하드웨어에서 새 소프트웨어 버전을 테스트할 수 있습니다. 또한 어떤 이유이든 손쉽게 아카이브된 버전으로 롤백할 수 있습니다.

현재 버전을 아카이브하고 새 버전을 설치하려면

  1. 업그레이드하려는 AWS IoT Greengrass 코어 소프트웨어 설치 패키지를 다운로드합니다.

  2. 패키지를 대상 코어 디바이스에 복사합니다. 파일을 전송하는 방법을 보여 주는 지침은 이 단계를 참조하십시오.

    참고

    나중에 현재 인증서, 키 및 구성 파일을 새 설치에 복사합니다.

    코어 디바이스 터미널에서 다음 단계에 따라 명령을 실행합니다.

  3. 코어 디바이스에서 Greengrass 데몬이 중지되어 있는지 확인합니다.

    1. 데몬이 실행 중인지 확인하려면:

      ps aux | grep -E 'greengrass.*daemon'

      출력에 root에 대한 /greengrass/ggc/packages/ggc-version/bin/daemon 입력이 포함되어 있는 경우에는 데몬이 실행 중인 것입니다.

      참고

      이 절차는 AWS IoT Greengrass 코어 소프트웨어가 /greengrass 디렉터리에 설치되었다는 가정하에 작성되었습니다.

    2. 데몬을 종료할 경우:

      cd /greengrass/ggc/core/ sudo ./greengrassd stop
  4. 현재 Greengrass 루트 디렉터리를 다른 디렉터리로 이동합니다.

    sudo mv /greengrass /greengrass_backup
  5. 코어 디바이스에서 새 소프트웨어의 압축을 해제합니다. 명령에서 os-architectureversion 자리 표시자를 바꿉니다.

    sudo tar –zxvf greengrass-os-architecture-version.tar.gz –C /
  6. 아카이브된 인증서, 키 및 구성 파일을 새 설치에 복사합니다.

    sudo cp /greengrass_backup/certs/* /greengrass/certs sudo cp /greengrass_backup/config/* /greengrass/config
  7. 데몬을 시작합니다.

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

이제, 그룹 배포를 만들어 새 설치를 테스트할 수 있습니다. 문제가 발생할 경우 아카이브된 설치를 복원할 수 있습니다.

아카이브된 설치를 복원하려면

  1. 데몬을 중지합니다.

  2. /greengrass 디렉터리를 삭제합니다.

  3. /greengrass_backup 디렉터리를 다시 /greengrass로 이동합니다.

  4. 데몬을 시작합니다.