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 코어 소프트웨어 설치
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 코어 소프트웨어 설치
중요
2022년 2월 11일부터 더 이상 APT 저장소에서 AWS IoT Greengrass 코어 소프트웨어를 설치하거나 업데이트할 수 없습니다. AWS IoT Greengrass 리포지토리를 추가한 장치에서는 소스 목록에서 리포지토리를 제거해야 합니다. APT 리포지토리에서 소프트웨어를 실행하는 기기는 계속 정상적으로 작동합니다. tar 파일을 사용하여 AWS IoT Greengrass 코어 소프트웨어를 업데이트하는 것이 좋습니다.
AWS IoT Greengrass에서 제공하는 APT 리포지토리에는 다음 패키지가 포함되어 있습니다.
-
aws-iot-greengrass-core
은(는) AWS IoT Greengrass 코어 소프트웨어를 설치합니다. -
aws-iot-greengrass-keyring
은(는) AWS IoT Greengrass 패키지 리포지토리에 서명하는 데 사용되는 GnuPG(GPG) 키를 설치합니다.이 소프트웨어를 다운로드하면 Greengrass 코어 소프트웨어 라이선스 계약
에 동의하는 것입니다.
주제
systemd 스크립트를 사용하여 Greengrass 대몬(daemon) 수명 주기 관리
aws-iot-greengrass-core
패키지는 AWS IoT Greengrass 코어 소프트웨어(대몬(daemon)) 수명 주기를 관리하는 데 사용할 수 있는 systemd
스크립트도 설치합니다.
-
부팅 중에 Greengrass 대몬(daemon):
systemctl enable greengrass.service
-
Greengrass 대몬(daemon)을 시작하려면:
systemctl start greengrass.service
-
Greengrass 대몬(daemon)을 중지하려면:
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 코어 소프트웨어를 제거하고 구성 정보를 제거하려면
-
다음 명령을 실행하여 AWS IoT Greengrass 코어 소프트웨어 패키지를 제거하고
/greengrass folder
에서 구성 정보를 제거합니다.sudo apt purge aws-iot-greengrass-core aws-iot-greengrass-keyring
-
소스 목록에서 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과 Docker 이미지를 제공합니다. 자세한 내용은 AWS IoT Greengrass Docker 소프트웨어 단원을 참조하십시오.
참고
Greengrass 코어 장치에서 Docker 애플리케이션을 실행할 수도 있습니다. 이렇게 하려면 Greengrass Docker 애플리케이션 배포 커넥터를 사용하십시오
스냅에서 AWS IoT Greengrass 실행
AWS IoT Greengrass snap 1.11.x를 사용하면 컨테이너화된 환경에서 필요한 모든 종속성과 함께 편리한 소프트웨어 패키지를 사용하여 제한된 버전의 AWS IoT Greengrass를 실행할 수 있습니다.
2023년 12월 31일에 AWS IoT Greengrass은(는) snapcraft.io
스냅 개념
다음은 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의 새로운 기능
다음은 AWS IoT Greengrass 스냅 버전 1.11.x의 새로운 기능과 변경된 기능에 대한 설명입니다.
-
이 버전은 사용자 ID(UID)으로 표시되는
snap_daemon
사용자 및 그룹(GID)584788
만 지원합니다. -
이 버전은 컨테이너화되지 않은 Lambda 함수만 지원합니다.
중요
컨테이너화되지 않은 Lambda 함수는 동일한 사용자(
snap_daemon
)를 공유해야 하므로 Lambda 함수는 서로 격리되지 않습니다. 자세한 내용은 그룹별 구성을 사용한 Greengrass Lambda 함수의 실행 제어를 참조하십시오. -
이 버전은 C, C++, Java 8, Node.js 12.x, Python 2.7, Python 3.7, Python 3.8 런타임을 지원합니다.
참고
중복 Python 런타임을 방지하기 위해 Python 3.7 Lambda 함수는 실제로 Python 3.8 런타임을 실행합니다.
AWS IoT Greengrass 스냅 시작하기
다음 절차는 장치에 AWS IoT Greengrass 스냅을 설치하고 구성하는 데 도움이 됩니다.
요구 사항
AWS IoT Greengrass 스냅을 실행하려면 다음을 수행해야 합니다.
-
지원되는 Linux 배포판(예: Ubuntu, Linux Mint, Debian, Fedora)에서 AWS IoT Greengrass 스냅을 실행합니다.
-
장치에
snapd
대몬을 설치합니다.snap
도구가 포함된snapd
대몬은 장치의 스냅 환경을 관리합니다.
지원되는 Linux 배포판 목록과 설치 지침은 스냅 설명서의 snapd 설치
AWS IoT Greengrass 스냅 설치 및 구성
다음 자습서에서는 장치에 AWS IoT Greengrass 스냅을 설치하고 구성하는 방법을 보여줍니다.
참고
-
이 자습서에서는 Amazon EC2 인스턴스(x86 t2.micro Ubuntu 20.04)를 사용하지만 Raspberry Pi와 같은 물리적 하드웨어로 AWS IoT Greengrass 스냅을 실행할 수 있습니다.
-
snapd
대몬은 Ubuntu에 사전 설치되어 있습니다.
-
장치 터미널에서 다음 명령을 실행하여
core18
스냅을 설치합니다.sudo snap install core18
core18
스냅은 일반적으로 사용되는 라이브러리가 포함된 런타임 환경을 제공하는 기본 스냅입니다. 이 스냅은 Ubuntu 18.04 LTS 에서 만들어졌습니다. -
다음 명령을 실행하여
snapd
을(를) 업그레이드합니다.sudo snap install --channel=edge snapd; sudo snap refresh --channel=edge snapd
-
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
-
다음 옵션 중 하나를 선택하여 AWS IoT Greengrass 스냅 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 -
-
-
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 -
슬롯 열에 하이픈(-)이 보이면 해당 인터페이스가 연결되지 않은 것입니다.
-
AWS IoT Greengrass 코어 소프트웨어 설치를 따라 AWS IoT 사물, Greengrass 그룹, AWS IoT을(를) 통해 보안 통신을 가능하게 하는 보안 리소스, AWS IoT Greengrass 코어 소프트웨어 구성 파일을 생성합니다. 구성 파일
config.json
에는 인증서 파일 위치 및 AWS IoT 장치 데이터 엔드포인트와 같은 Greengrass 코어와 관련된 구성이 포함되어 있습니다.참고
파일을 다른 장치에 다운로드한 경우, 이 단계에 따라 파일을 AWS IoT Greengrass 코어 장치로 전송합니다.
-
AWS IoT Greengrass 스냅을 위해서는 다음과 같이 config.json 파일을 업데이트해야 합니다.
-
certificateId
의 각 인스턴스를 인증서 및 키 파일 이름의 인증서 ID로 교체합니다. -
Amazon Root CA 1과 다른 Amazon root CA 인증서를 다운로드한 경우,
AmazonRootCA1.pem
의 각 인스턴스를 Amazon root 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" } -
-
다음 명령을 실행하여 AWS IoT Greengrass 인증서 및 구성 파일을 추가합니다.
sudo snap set aws-iot-greengrass gg-certs=/home/ubuntu/
my-certs
Lambda 함수를 배포합니다.
이 섹션에서는 AWS IoT Greengrass 스냅에서 고객 관리형 Lambda 함수를 배포하는 방법을 보여 줍니다.
중요
AWS IoT Greengrass 스냅 v1.11은 컨테이너화되지 않은 Lambda 함수만 지원합니다.
-
다음 명령을 실행하여 AWS IoT Greengrass 대몬을 시작합니다.
sudo snap start aws-iot-greengrass
응답의 예:
Started.
참고
오류가 발생하는 경우,
snap run
명령을 사용하여 자세한 오류 메시지를 표시할 수 있습니다. 문제 해결에 대한 자세한 정보는 오류: 다음 작업을 수행할 수 없습니다. - 스냅 "aws-iot-greengrass"의 서비스 ["greengrassd"] 서비스 명령 "start" 실행([스냅.aws-iot-greengrass.greengrassd.service 시작] 종료 상태 1로 실패: 제어 프로세스가 오류 코드와 함께 종료되어서 스냅.aws-iot-greengrass.greengrassd.service 작업 실패. 자세한 내용은 "systemctl status 스냅.aws-iot-greengrass.greengrassd.service" 및 "journalctl -xe"을 참조하세요.)을 참조하십시오. -
다음 명령을 사용하여 대몬이 실행 중인지 확인합니다.
snap services aws-iot-greengrass.greengrassd
응답의 예:
Service Startup Current Notes aws-iot-greengrass.greengrassd disabled active -
-
모듈 3 (1부): AWS IoT Greengrass의 Lambda 함수를 따라 Hello World Lambda 함수 생성하고 배포합니다. 하지만 Lambda 함수를 배포하기 전에 다음 단계를 완료합니다.
-
Lambda 함수가 컨테이너 없음 모드에서
snap_daemon
사용자로 실행되는지 확인합니다. Greengrass 그룹의 설정을 업데이트하려면 AWS IoT Greengrass 콘솔에서 다음과 같이 합니다.-
AWS IoT Greengrass 콘솔에 로그인합니다.
AWS IoT 콘솔 탐색 창의 관리에서 Greengrass 장치를 확장한 다음 그룹(V1)을 선택합니다.
-
Greengrass 그룹에서 대상 그룹을 선택합니다.
-
그룹 구성 페이지의 탐색 창에서 Lambda 함수 탭을 선택합니다.
-
기본 Lambda 함수 런타임 환경에서 편집을 선택하고 다음을 수행합니다.
-
기본 시스템 사용자 및 그룹의 경우, 다른 사용자 ID/그룹 ID를 선택한 다음 시스템 사용자 ID(번호) 와 시스템 그룹 ID(숫자) 모두에
584788
을 입력합니다. -
기본 Lambda 함수 컨테이너화의 경우, 컨테이너 없음을 선택합니다.
-
Save(저장)를 선택합니다.
-
-
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
파일을 생성할 때 권한 오류가 발생했음을 보여줍니다. 또한 plugs
에 home
을(를) 추가할 것을 제안합니다. 하지만 이 제안은 해당되지 않습니다. home-for-greengrassd
및 home-for-hooks
플러그에는 읽기 전용 액세스 권한만 제공됩니다.
자세한 내용은 스냅 설명서의 The 스냅py-debug 스냅
오류: 다음 작업을 수행할 수 없습니다. - 스냅 "aws-iot-greengrass"의 서비스 ["greengrassd"] 서비스 명령 "start" 실행([스냅.aws-iot-greengrass.greengrassd.service 시작] 종료 상태 1로 실패: 제어 프로세스가 오류 코드와 함께 종료되어서 스냅.aws-iot-greengrass.greengrassd.service 작업 실패. 자세한 내용은 "systemctl status 스냅.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.
이 예제는 AWS IoT Greengrass이(가) config.json
파일을 찾을 수 없는 경우를 보여줍니다. 구성 및 인증서 파일을 확인할 수 있습니다.
/var/스냅/aws-iot-greengrass/current/ggc-write-directory/packages/1.11.5/rootfs/merged는 절대 경로가 아니거나 심볼릭 링크입니다.
해결책: AWS IoT Greengrass 스냅은 컨테이너화되지 않은 Lambda 함수만 지원합니다. Lambda 함수를 컨테이너 없음 모드에서 실행해야 합니다. 자세한 내용은 AWS IoT Greengrass Version 1 개발자 안내서의 Lambda 함수 컨테이너화 선택 시 고려 사항을 참조하세요.
sudo snap refresh snapd 명령을 실행한 후 스냅d 대몬을 다시 시작하지 못했습니다.
해결책: AWS IoT Greengrass 스냅 설치 및 구성에서 6~8단계에 따라 AWS IoT Greengrass스냅에 AWS IoT Greengrass 인증서 및 구성 파일을 추가합니다.
AWS IoT Greengrass 코어 소프트웨어 설치 아카이브
새로운 AWS IoT Greengrass 코어 소프트웨어 버전으로 업그레이드할 때 현재 설치된 버전을 아카이브할 수 있습니다. 그러면 현재 설치 환경이 보존되어 동일한 하드웨어에서 새 소프트웨어 버전을 테스트할 수 있습니다. 또한 어떤 이유이든 손쉽게 아카이브된 버전으로 롤백할 수 있습니다.
현재 버전을 아카이브하고 새 버전을 설치하려면
-
업그레이드하려는 AWS IoT Greengrass 코어 소프트웨어 설치 패키지를 다운로드합니다.
-
패키지를 대상 코어 장치에 복사합니다. 파일을 전송하는 방법을 보여 주는 지침은 이 단계를 참조하십시오.
참고
나중에 현재 인증서, 키 및 구성 파일을 새 설치에 복사합니다.
코어 장치 터미널에서 다음 단계에 따라 명령을 실행합니다.
-
코어 장치에서 Greengrass 대몬(daemon)이 중지되어 있는지 확인합니다.
대몬(daemon)이 실행 중인지 확인하려면:
ps aux | grep -E 'greengrass.*daemon'
출력에
root
에 대한/greengrass/ggc/packages/
입력이 포함되어 있는 경우에는 대몬(daemon)이 실행 중인 것입니다.ggc-version
/bin/daemon참고
이 절차는 AWS IoT Greengrass 코어 소프트웨어가
/greengrass
디렉터리에 설치되었다는 가정하에 작성되었습니다.-
대몬(daemon)을 종료할 경우:
cd /greengrass/ggc/core/ sudo ./greengrassd stop
-
현재 Greengrass 루트 디렉터리를 다른 디렉터리로 이동합니다.
sudo mv /greengrass /greengrass_backup
-
코어 장치에서 새 소프트웨어의 압축을 해제합니다. 명령에서
os-architecture
및version
자리 표시자를 바꿉니다.sudo tar –zxvf greengrass-
os-architecture
-version
.tar.gz –C / -
아카이브된 인증서, 키 및 구성 파일을 새 설치에 복사합니다.
sudo cp /greengrass_backup/certs/* /greengrass/certs sudo cp /greengrass_backup/config/* /greengrass/config
-
대몬(daemon)을 시작합니다.
cd /greengrass/ggc/core/ sudo ./greengrassd start
이제, 그룹 배포를 만들어 새 설치를 테스트할 수 있습니다. 문제가 발생할 경우, 아카이브된 설치를 복원할 수 있습니다.
아카이브된 설치를 복원하려면
-
대몬(daemon)을 중지합니다.
-
새
/greengrass
디렉터리를 삭제합니다. -
/greengrass_backup
디렉터리를 다시/greengrass
로 이동합니다. -
대몬(daemon)을 시작합니다.