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

AWS IoT Greengrass Version 12023년 6월 30일에 수명 연장 단계에 들어갔습니다. 자세한 내용은 AWS IoT Greengrass V1유지 관리 정책을 참조하십시오. 이 날짜 이후에는 기능, 개선 사항, 버그 수정 또는 보안 패치를 제공하는 업데이트가 AWS IoT Greengrass V1 릴리스되지 않습니다. 에서 실행되는 기기는 AWS IoT Greengrass V1 중단되지 않으며 계속 작동하고 클라우드에 연결됩니다. 새로운 기능이 크게 추가되고 추가 플랫폼에 대한 지원이 추가되는 으로 마이그레이션하는 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 Core 소프트웨어 버전을 설치하고, Hello World Lambda 함수를 몇 분 만에 배포할 수 있습니다. 자세한 정보는 빠른 시작: Greengrass 디바이스 설정을 참조하세요.

 

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

중요

2022년 2월 11일부터 더 이상 APT 저장소에서 AWS IoT Greengrass Core 소프트웨어를 설치하거나 업데이트할 수 없습니다. AWS IoT Greengrass리포지토리를 추가한 장치에서는 소스 목록에서 리포지토리를 제거해야 합니다. APT 리포지토리에서 소프트웨어를 실행하는 장치는 계속 정상적으로 작동합니다. tar 파일을 사용하여 AWS IoT Greengrass Core 소프트웨어를 업데이트하는 것이 좋습니다.

AWS IoT Greengrass에서 제공하는 APT 리포지토리에는 다음 패키지가 포함되어 있습니다.

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

  • aws-iot-greengrass-keyring. 패키지 리포지토리에 서명하는 데 사용되는 GnuPG (GnuPG) 키를 설치합니다. AWS IoT Greengrass

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

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

APT 리포지토리를 사용하여 AWS IoT Greengrass 핵심 소프트웨어를 제거합니다.

AWS IoT Greengrass코어 소프트웨어를 제거할 때 장치 인증서, 그룹 정보, 로그 파일 등 AWS IoT Greengrass 코어 소프트웨어의 구성 정보를 보존할지 제거할지를 선택할 수 있습니다.

AWS IoT Greengrass코어 소프트웨어를 제거하고 구성 정보를 보존하려면
  • 다음 명령을 실행하여 AWS IoT Greengrass 핵심 소프트웨어 패키지를 제거하고 /greengrass 폴더에 구성 정보를 보존합니다.

    sudo apt remove aws-iot-greengrass-core aws-iot-greengrass-keyring
AWS IoT Greengrass핵심 소프트웨어를 제거하고 구성 정보를 제거하려면
  1. 다음 명령을 실행하여 AWS IoT Greengrass 핵심 소프트웨어 패키지를 제거하고 에서 구성 정보를 제거합니다. /greengrass folder

    sudo apt purge aws-iot-greengrass-core aws-iot-greengrass-keyring
  2. 소스 목록에서 AWS IoT Greengrass 핵심 소프트웨어 리포지토리를 제거합니다. 자세한 정보는 AWS IoT Greengrass핵심 소프트웨어 리포지토리 소스를 제거합니다.을 참조하세요.

AWS IoT Greengrass핵심 소프트웨어 리포지토리 소스를 제거합니다.

APT 리포지토리에서 AWS IoT Greengrass 코어 소프트웨어를 더 이상 설치하거나 업데이트할 필요가 없는 경우 AWS IoT Greengrass 코어 소프트웨어 리포지토리 소스를 제거할 수 있습니다. 2022년 2월 11일 이후에는 실행 apt update 시 오류가 발생하지 않도록 소스 목록에서 리포지토리를 제거해야 합니다.

소스 목록에서 APT 리포지토리를 제거하려면
  • 다음 명령을 실행하여 소스 목록에서 AWS IoT Greengrass 핵심 소프트웨어 리포지토리를 제거합니다.

    sudo rm /etc/apt/sources.list.d/greengrass.list sudo apt update

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 Greengrasssnap 1.11.x를 사용하면 컨테이너화된 환경에서 필요한 모든 종속성과 함께 편리한 소프트웨어 패키지의 제한된 버전을 실행할 수 있습니다. AWS IoT Greengrass

2023년 12월 31일에 snapcraft.io에 AWS IoT Greengrass 게시된 AWS IoT Greengrass 코어 소프트웨어 버전 1.11.x Snap에 대한 유지 관리가 종료됩니다. 현재 Snap을 실행하는 기기는 추후 공지가 있을 때까지 계속 작동합니다. 그러나 유지 관리 종료 후에는 AWS IoT Greengrass 코어 Snap에 더 이상 보안 패치나 버그 수정이 제공되지 않습니다.

스냅 컨셉

다음은 스냅 사용 방법을 이해하는 데 도움이 되는 필수 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데몬은 기본적으로 하루에 네 번 업데이트를 확인하는 스냅 패키지 관리자입니다. 각 업데이트 검사를 새로 고침이라고 합니다. 새로 고침이 발생하면 데몬이 중지되고 스냅이 업데이트된 다음 데몬이 다시 시작됩니다.

자세한 내용은 Snapcraft 웹 사이트를 참조하십시오.

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 런타임을 지원합니다.

    참고

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

AWS IoT Greengrass 스냅 시작하기

다음 절차는 디바이스에 스냅을 설치하고 구성하는 데 도움이 됩니다. AWS IoT Greengrass

요구 사항

AWS IoT Greengrass스냅을 실행하려면 다음을 수행해야 합니다.

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

  • 디바이스에 데몬을 설치합니다. snapd snap도구가 포함된 snapd 데몬은 디바이스의 스냅 환경을 관리합니다.

지원되는 Linux 배포판 목록과 설치 지침은 Snap 설명서의 snapd 설치를 참조하십시오.

스냅 설치 및 구성 AWS IoT Greengrass

다음 자습서에서는 디바이스에 AWS IoT Greengrass 스냅을 설치하고 구성하는 방법을 보여줍니다.

참고
  • 이 자습서에서는 Amazon EC2 인스턴스 (x86 t2.micro Ubuntu 20.04) 를 사용하지만 라즈베리 파이와 같은 물리적 하드웨어로 AWS IoT Greengrass 스냅을 실행할 수 있습니다.

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

  1. 장치 터미널에서 다음 명령을 실행하여 core18 스냅을 설치합니다.

    sudo snap install core18

    core18스냅은 일반적으로 사용되는 라이브러리가 포함된 런타임 환경을 제공하는 기본 스냅입니다. 이 스냅은 우분투 18.04 LTS에서 빌드되었습니다.

  2. 다음 명령을 snapd 실행하여 업그레이드하십시오.

    sudo snap install --channel=edge snapd; sudo snap refresh --channel=edge snapd
  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 Greengrass snap 1.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://repost.aws/tags/TA4ckIed1sR4enZBey29rKTg/aws-io-t-greengrass 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 tag on AWS re:Post (https://repost.aws/tags/TA4ckIed1sR4enZBey29rKTg/aws-io-t-greengrass) 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. 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 -

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

  6. AWS IoT GreengrassCore 소프트웨어 설치를 따라 AWS IoT 사물, Greengrass 그룹, 보안 통신을 가능하게 하는 보안 리소스AWS IoT, AWS IoT Greengrass Core 소프트웨어 구성 파일을 생성합니다. 구성 파일에는 인증서 파일 위치 및 AWS IoT 장치 데이터 엔드포인트와 같은 Greengrass 코어와 관련된 구성이 포함되어 있습니다. config.json

    참고

    파일을 다른 장치에 다운로드한 경우 이 단계에 따라 파일을 AWS IoT Greengrass 코어 장치로 전송하십시오.

  7. AWS IoT Greengrass스냅을 위해서는 다음과 같이 config.json 파일을 업데이트해야 합니다.

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

    • 아마존 루트 CA 1과 다른 아마존 루트 CA 인증서를 다운로드한 경우, AmazonRootCA1.pem의 각 인스턴스를 아마존 루트 CA 파일의 이름으로 바꾸십시오.

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

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

Lambda 함수 배포

이 섹션에서는 스냅에 고객 관리형 Lambda 함수를 배포하는 방법을 보여줍니다. AWS IoT Greengrass

중요

AWS IoT Greengrasssnap 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 함수를 따라 Hello World Lambda 함수를 AWS IoT Greengrass 생성하고 배포하십시오. 하지만 Lambda 함수를 배포하기 전에 다음 단계를 완료하십시오.

  4. Lambda 함수가 사용자 권한으로 실행되고 컨테이너 없음 snap_daemon 모드에서 실행되는지 확인하십시오. Greengrass 그룹의 설정을 업데이트하려면 콘솔에서 다음을 수행하십시오. AWS IoT Greengrass

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

    2. AWS IoT콘솔 탐색 창의 관리에서 Greengrass 장치를 확장한 다음 그룹 (V1) 을 선택합니다.

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

    4. 그룹 구성 페이지의 탐색 창에서 Lambda 함수 탭을 선택합니다.

    5. 기본 Lambda 함수 런타임 환경에서 [Edit] 를 선택하고 다음을 수행합니다.

      1. 기본 시스템 사용자 및 그룹의 경우 다른 사용자 ID/그룹 ID를 선택한 다음 시스템 사용자 ID (번호) 와 시스템 그룹 ID (숫자) 584788 모두에 입력합니다.

      2. 기본 Lambda 함수 컨테이너화의 경우 컨테이너 없음을 선택합니다.

      3. 저장을 선택합니다.

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 파일을 생성할 때 권한 오류가 발생했음을 보여줍니다. 또한 추가할 home 것을 제안합니다plugs. 하지만 이 제안은 해당되지 않습니다. home-for-greengrassdhome-for-hooks 플러그에는 읽기 전용 액세스 권한만 제공됩니다.

자세한 내용은 Snap 설명서의 snappy-debug snap을 참조하십시오.

오류: 다음 작업을 수행할 수 없습니다. - snap "" "([start snap) 의 [" greengrassd "] 서비스에 대해 “start” 서비스 명령을 실행합니다. aws-iot-greengrass aws-iot-greengrass[.greengrassd.service] 가 종료 상태 1: 스냅 작업 때문에 실패했습니다. aws-iot-greengrass제어 프로세스가 오류 코드와 함께 종료되어.greengrassd.service가 실패했습니다. “systemctl 상태 스냅”을 참조하십시오. aws-iot-greengrass자세한 내용은 .greengrassd.service 및 “journalctl -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.

이 예제는 config.json 파일을 찾을 AWS IoT Greengrass 수 없는 경우를 보여줍니다. 구성 및 인증서 파일을 확인할 수 있습니다.

/var/snap/ aws-iot-greengrass /current/ ggc-write-directory /packages/1.11.5/rootfs/merged는 절대 경로가 아니거나 심볼릭 링크입니다.

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

sudo snap refresh 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. 데몬을 시작합니다.