AWS IoT Greengrass(이)란 무엇인가요? - AWS IoT Greengrass

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 IoT Core와 안전하게 통신하고 IoT 데이터를 AWS 클라우드로 내보낼 수 있습니다. AWS IoT Greengrass 개발자는 AWS Lambda 함수 및 미리 빌드된 커넥터를 사용하여 로컬 실행을 위해 디바이스에 배포되는 서버리스 애플리케이션을 생성할 수 있습니다.

다음 다이어그램은 AWS IoT Greengrass의 기본 아키텍처를 보여줍니다.

AWS IoT Greengrass가 있으면 고객이 IoT 디바이스와 애플리케이션 로직을 빌드할 수 있습니다. 특히 AWS IoT Greengrass는 디바이스에서 실행되는 애플리케이션 로직을 클라우드 기반으로 관리할 수 있는 기능을 제공합니다. 로컬로 배포된 Lambda 함수와 커넥터는 로컬 이벤트, 클라우드의 메시지 또는 기타 소스에서 트리거됩니다.

AWS IoT Greengrass에서, 디바이스는 클라우드에 연결하지 않고도 로컬 네트워크와 안전하게 통신하고 메시지를 교환할 수 있습니다. AWS IoT Greengrass은(는) 연결이 끊어지면 메시지를 지능적으로 버퍼해 클라우드로 들어오거나 나가는 메시지를 보존하는 로컬 게시/구독 메시지 관리자를 제공합니다.

AWS IoT Greengrass은(는) 다음과 같은 방법으로 사용자 데이터를 보호합니다.

  • 보안 인증 및 디바이스 인증을 통해 보호합니다.

  • 로컬 네트워크에서 보안 연결을 통해 보호합니다.

  • 로컬 디바이스와 클라우드 간에 보호합니다.

클라우드와의 연결이 끊어져도 디바이스 보안 자격 증명은 해지될 때까지 하나의 그룹 내에서 작동하므로 디바이스가 로컬에서 계속 안전하게 통신을 실행할 수 있습니다.

AWS IoT GreengrassLambda 함수의 안전한 over-the-air 업데이트를 제공합니다.

AWS IoT Greengrass은(는) 다음 요소로 구성됩니다.

  • 소프트웨어 배포

    • AWS IoT Greengrass 코어 소프트웨어

    • AWS IoT Greengrass 코어 SDK

  • 클라우드 서비스

    • AWS IoT Greengrass API

  • 특성

    • Lambda 런타임

    • 섀도우 구현

    • 메시지 관리자

    • 그룹 관리

    • 검색 서비스

    • O 업데이트 에이전트 ver-the-air

    • 스트림 관리자

    • 로컬 리소스 액세스

    • 로컬 기계 학습 추론

    • 로컬 암호 관리자

    • 서비스, 프로토콜 및 소프트웨어와의 통합이 내장된 커넥터

AWS IoT Greengrass 코어 소프트웨어

AWS IoT Greengrass 코어 소프트웨어는 다음과 같은 기능을 제공합니다.

  • 커넥터 및 Lambda 함수의 배포 및 로컬 실행.

  • AWS 클라우드로 자동 내보내기를 사용하여 로컬에서 데이터 스트림을 처리합니다.

  • 관리형 구독을 사용한 디바이스, 커넥터, Lambda 함수 간의 로컬 네트워크를 통한 MQTT 메시징.

  • 관리형 구독을 사용한 AWS IoT와 디바이스, 커넥터, Lambda 함수 간의 MQTT 메시징.

  • 디바이스 인증 및 권한 부여를 사용하여 디바이스와 AWS 클라우드 간에 설정되는 보안 연결.

  • 디바이스의 로컬 섀도우 동기화. 섀도우는 AWS 클라우드와 동기화하도록 구성할 수 있습니다.

  • 로컬 디바이스 및 볼륨 리소스에 대한 액세스 제어.

  • 로컬 추론 실행을 위한 클라우드 학습 머신러닝 모델 배포.

  • 디바이스에서 Greengrass 코어 디바이스를 검색할 수 있도록 지원하는 자동 IP 주소 감지.

  • 새 그룹 또는 업데이트된 그룹 구성의 중앙 배포. 구성 데이터를 다운로드한 후 코어 디바이스가 자동으로 다시 시작합니다.

  • 사용자 정의 Lambda 함수의 안전한 over-the-air (OTA) 소프트웨어 업데이트

  • 로컬 보안 암호의 안전하고 암호화된 저장 및 커넥터 및 Lambda 함수의 액세스 제어.

AWS IoT Greengrass 코어 인스턴스는 클라우드에 저장된 AWS IoT Greengrass 그룹 정의들을 생성하고 업데이트하는 AWS IoT Greengrass API를 통해 구성됩니다.

AWS IoT Greengrass 코어 소프트웨어 버전

AWS IoT Greengrass에서는 targ.gz 다운로드 파일, 빠른 시작 스크립트, 지원되는 Debian 플랫폼에서의 apt 설치를 포함하여 여러 가지 방법으로 AWS IoT Greengrass 코어 소프트웨어를 설치할 수 있습니다. 자세한 설명은 AWS IoT Greengrass 코어 소프트웨어 설치 섹션을 참조하세요.

다음 표는 AWS IoT Greengrass 코어 소프트웨어 버전의 새로운 기능과 변경 사항을 설명합니다.

GGC v1.11
1.11.6

버그 수정 및 개선 사항:

  • 배포 중에 갑작스러운 전력 손실이 발생할 경우 복원력이 향상되었습니다.

  • 스트림 관리자 데이터 손상으로 인해 AWS IoT Greengrass 코어 소프트웨어가 시작되지 않는 문제를 수정했습니다.

  • 특정 시나리오에서 새 클라이언트 장치를 코어에 연결할 수 없는 문제를 수정했습니다.

  • 스트림 관리자 스트림 이름이 .log를 포함할 수 없던 문제를 수정했습니다.

1.11.5

버그 수정 및 개선 사항:

  • 일반 성능 향상 및 버그 수정.

1.11.4

버그 수정 및 개선 사항:

  • AWS IoT Greengrass 코어 소프트웨어 v1.11.3으로의 업그레이드를 방해하는 스트림 관리자 관련 문제를 수정했습니다. 스트림 관리자를 사용하여 데이터를 클라우드로 내보내는 경우 이제 OTA 업데이트를 사용하여 이전 v1.x 버전의 AWS IoT Greengrass Core 소프트웨어를 v1.11.4로 업그레이드할 수 있습니다.

  • 일반 성능 향상 및 버그 수정.

1.11.3

버그 수정 및 개선 사항:

  • Ubuntu 디바이스에서 AWS IoT Greengrass 코어 소프트웨어를 바로 실행하던 중 디바이스의 전원이 갑자기 끊긴 후 응답하지 않던 문제를 수정했습니다.

  • 수명이 긴 Lambda 함수에 MQTT 메시지 전송이 지연되는 문제를 수정했습니다.

  • maxWorkItemCount 값이 1024보다 큰 값으로 설정된 경우 MQTT 메시지가 제대로 전송되지 않던 문제를 수정했습니다.

  • OTA 업데이트 에이전트가 config.json에서 keepAlive 속성에 지정된 MQTT KeepAlive 기간을 무시하던 문제를 수정했습니다.

  • 일반 성능 향상 및 버그 수정.

중요

스트림 관리자를 사용하여 데이터를 클라우드로 내보내는 경우 이전 v1.x 버전에서 AWS IoT Greengrass 코어 소프트웨어 v1.11.3으로 업그레이드하지 마십시오. 스트림 관리자를 처음 활성화하는 경우 먼저 최신 버전의 AWS IoT Greengrass 코어 소프트웨어를 설치하는 것이 좋습니다.

1.11.1

버그 수정 및 개선 사항:

  • 스트림 관리자의 메모리 사용량이 증가하는 문제가 수정되었습니다.

  • 스트림 데이터의 지정된 기간 time-to-live (TTL) 보다 오랫동안 Greengrass 코어 디바이스의 전원이 꺼진 0 경우 스트림 관리자가 스트림의 시퀀스 번호를 재설정하던 문제를 수정했습니다.

  • 스트림 관리자가 AWS 클라우드로 데이터를 내보내려는 재시도를 제대로 중단하지 못하던 문제를 수정했습니다.

1.11.0

새로운 기능:

  • Greengrass 코어의 텔레메트리 에이전트는 로컬 텔레메트리 데이터를 수집하여 AWS 클라우드에 게시합니다. 추가 처리를 위해 원격 분석 데이터를 검색하려는 고객은 Amazon EventBridge 규칙을 생성하고 대상을 구독할 수 있습니다. 자세한 내용은 AWS IoT Greengrass 코어 디바이스에서 시스템 상태 텔레메트리 데이터 수집을 참조하십시오.

  • AWS IoT Greengrass에서 시작된 로컬 작업자 프로세스의 현재 상태를 스냅샷으로 제공하는 로컬 HTTP API가 포함되어 있습니다. 자세한 내용은 로컬 상태 확인 API 호출을 참조하십시오.

  • 스트림 관리자는 Amazon S3 및 AWS IoT SiteWise로 데이터를 자동으로 내보냅니다.

    스트림 관리자 파라미터를 사용하면 기존 스트림을 업데이트하고 데이터 내보내기를 일시 중지하거나 재개할 수 있습니다.

  • 코어에서 Python 3.8.x Lambda 함수를 실행하기 위한 지원.

  • Greengrass 코어 IPC 포트 번호를 구성하는 데 사용하는 config.json의 새 ggDaemonPort 속성입니다. 기본 포트 번호는 8000입니다.

    Greengrass 코어 IPC 인증에 대한 제한 시간을 구성하는 데 사용하는 config.json의 새 systemComponentAuthTimeout 속성입니다. 기본값은 5,000밀리초입니다.

  • AWS IoT Greengrass 그룹당 최대 AWS IoT 디바이스 수를 200개에서 2500개로 늘렸습니다.

    그룹당 최대 구독 수를 1000개에서 10000개로 늘렸습니다.

    자세한 내용은 AWS IoT Greengrass 엔드포인트 및 할당량을 참조하십시오.

버그 수정 및 개선 사항:

  • Greengrass 서비스 프로세스의 메모리 사용률을 줄일 수 있는 일반 최적화.

  • 새로운 런타임 구성 파라미터(mountAllBlockDevices)를 사용하면 Greengrass가 OverlayFS를 설정한 후 바인드 마운트를 사용하여 모든 블록 디바이스를 컨테이너에 마운트할 수 있습니다. 이 기능은 /usr이(가) / 계층 구조 아래에 있지 않을 경우 Greengrass 배포가 실패하는 문제를 해결했습니다.

  • /tmp이 심볼릭 링크인 경우 AWS IoT Greengrass 코어 오류가 발생하는 문제를 수정했습니다.

  • Greengrass 배포 에이전트가 mlmodel_public 폴더에서 사용하지 않는 기계 학습 모델 아티팩트를 제거하도록 하는 문제를 수정했습니다.

  • 일반 성능 향상 및 버그 수정.

Extended life versions
1.10.5

버그 수정 및 개선 사항:

  • 일반 성능 향상 및 버그 수정.

1.10.4

버그 수정 및 개선 사항:

  • Ubuntu 디바이스에서 AWS IoT Greengrass 코어 소프트웨어를 바로 실행하던 중 디바이스의 전원이 갑자기 끊긴 후 응답하지 않던 문제를 수정했습니다.

  • 수명이 긴 Lambda 함수에 MQTT 메시지 전송이 지연되는 문제를 수정했습니다.

  • maxWorkItemCount 값이 1024보다 큰 값으로 설정된 경우 MQTT 메시지가 제대로 전송되지 않던 문제를 수정했습니다.

  • OTA 업데이트 에이전트가 config.json에서 keepAlive 속성에 지정된 MQTT KeepAlive 기간을 무시하던 문제를 수정했습니다.

  • 일반 성능 향상 및 버그 수정.

1.10.3

버그 수정 및 개선 사항:

  • Greengrass 코어 IPC 인증에 대한 제한 시간을 구성하는 데 사용하는 config.json의 새 systemComponentAuthTimeout 속성입니다. 기본값은 5,000밀리초입니다.

  • 스트림 관리자의 메모리 사용량이 증가하는 문제가 수정되었습니다.

1.10.2

버그 수정 및 개선 사항:

  • AWS IoT Core와 MQTT 연결에서 게시, 구독 및 구독 취소 작업에 대한 제한 시간을 설정하는 데 사용하는 config.json의mqttOperationTimeout 속성입니다.

  • 일반 성능 향상 및 버그 수정.

1.10.1

버그 수정 및 개선 사항:

  • 스트림 관리자는 파일 데이터 손상에 대한 복원력이 더 뛰어납니다.

  • Linux 커널 5.1 이상을 사용하는 디바이스에 sysfs를 탑재하지 못하는 문제를 수정했습니다.

  • 일반 성능 향상 및 버그 수정.

1.10.0

새로운 기능:

  • 데이터 스트림을 로컬에서 처리하고 이를 AWS 클라우드로 자동으로 내보내는 스트림 관리자. 이 기능을 사용하려면 Greengrass 코어 디바이스에 Java 8이 필요합니다. 자세한 설명은 AWS IoT Greengrass 코어에서 데이터 스트림 관리 섹션을 참조하세요.

  • 코어 디바이스에서 Docker 애플리케이션을 실행하는 새로운 Greengrass Docker 애플리케이션 배포 커넥터. 자세한 설명은 Docker 애플리케이션 배포 커넥터 섹션을 참조하세요.

  • 산업용 장치 데이터를 OPC-UA 서버의 자산 자산으로 전송하는 새로운 IoT SiteWise 커넥터. AWS IoT SiteWise 자세한 설명은 IoT SiteWise 커넥터 섹션을 참조하세요.

  • 컨테이너화 없이 실행되는 Lambda 함수는 Greengrass 그룹의 기계 학습 리소스에 액세스할 수 있습니다. 자세한 설명은 Lambda 함수에서 기계 학습 리소스에 액세스 섹션을 참조하세요.

  • AWS IoT를 통해 MQTT 영구 세션 지원. 자세한 설명은 AWS IoT Core를 사용하는 MQTT 영구 세션 섹션을 참조하세요.

  • 로컬 MQTT 트래픽은 기본 포트 8883 이외의 포트를 통해 이동할 수 있습니다. 자세한 설명은 로컬 메시징을 위한 MQTT 포트 구성 섹션을 참조하세요.

  • Lambda 함수에서 안정적인 메시지 게시를 위한 AWS IoT Greengrass 코어 SDK의 새로운 queueFullPolicy 옵션.

  • 코어에서 Node.js 12.x Lambda 함수를 실행하기 위한 지원.

  • 하드웨어 보안 통합을 통한 O ver-the-air (OTA) 업데이트는 OpenSSL 1.1을 사용하여 구성할 수 있습니다.

  • 일반 성능 향상 및 버그 수정.

1.9.4

버그 수정 및 개선 사항:

  • 일반 성능 향상 및 버그 수정.

1.9.3

새로운 기능:

  • Armv6l에 대한 지원. AWS IoT Greengrass Armv6l 아키텍처의 Raspbian 배포(예: Raspberry Pi Zero 디바이스)에 코어 소프트웨어 v1.9.3 이상을 설치할 수 있습니다.

  • ALPN을 통한 포트 443의 OTA 업데이트. MQTT 트래픽에 포트 443을 사용하는 Greengrass 코어는 이제 over-the-air (OTA) 소프트웨어 업데이트를 지원합니다. AWS IoT Greengrass애플리케이션 계층 프로토콜 네트워크 (ALPN) TLS 확장을 사용하여 이러한 연결을 활성화합니다. 자세한 내용은 AWS IoT Greengrass 코어 소프트웨어의 OTA 업데이트포트 443에서 또는 네트워크 프록시를 통해 연결 섹션을 참조하세요.

버그 수정 및 개선 사항:

  • v1.9.0에서 Python 2.7 Lambda 함수가 다른 Lambda 함수로 이진 페이로드를 보낼 수 없었던 버그를 수정했습니다.

  • 일반 성능 향상 및 버그 수정.

1.9.2

새로운 기능:

  • 에 대한 지원 OpenWrt. AWS IoT Greengrass 코어 소프트웨어 v1.9.2 이상은 Armv8 (AArch64) 및 ARMv7L OpenWrt 아키텍처를 사용하는 배포판에 설치할 수 있습니다. OpenWrt 현재는 ML 추론을 지원하지 않습니다.

1.9.1

버그 수정 및 개선 사항:

  • 주제에 와일드카드 문자가 포함된 cloud의 메시지를 삭제하는 v1.9.0의 버그를 수정합니다.

1.9.0

새로운 기능:

  • Python 3.7 및 Node.js 8.10 Lambda 런타임을 지원합니다. Python 3.7 및 Node.js 8.10 런타임을 사용하는 Lambda 함수가 이제 AWS IoT Greengrass 코어에서 실행할 수 있습니다(AWS IoT Greengrass는 Python 2.7 및 Node.js 6.10 런타임을 계속 지원함).

  • MQTT 연결을 최적화했습니다. Greengrass 코어는 AWS IoT Core와의 더 적은 수의 연결을 설정합니다. 이 변경에 따라 연결 수를 기반으로 부과되는 요금의 운영 비용을 절감할 수 있습니다.

  • 로컬 MQTT 서버에 EC(Elliptic Curve) 키를 사용할 수 있습니다. 로컬 MQTT 서버는 RSA 키 외에도 EC 키를 지원합니다. 키 유형과 상관없이 MQTT 서버 인증서에는 SHA-256 RSA 서명이 있습니다. 자세한 설명은 AWS IoT Greengrass 핵심 보안 원칙 섹션을 참조하세요.

버그 수정 및 개선 사항:

  • 일반 성능 향상 및 버그 수정.

1.8.4

섀도우 동기화 및 디바이스 인증서 관리자 재연결 문제를 수정했습니다.

일반 성능 향상 및 버그 수정.

1.8.3

일반 성능 향상 및 버그 수정

1.8.2

일반 성능 향상 및 버그 수정

1.8.1

일반 성능 향상 및 버그 수정.

1.8.0

새로운 기능:

  • 그룹의 Lambda 함수에 대해 구성 가능한 기본 액세스 자격 증명. 이 그룹 레벨 설정은 Lambda 함수를 실행하는 데 사용된 기본 권한을 결정합니다. 사용자 ID, 그룹 ID 또는 둘 다 설정할 수 있습니다. 개별 Lambda 함수는 해당 그룹의 기본 액세스 자격 증명을 재정의할 수 있습니다. 자세한 설명은 그룹에 있는 Lambda 함수의 기본 액세스 자격 증명 설정 섹션을 참조하세요.

  • 포트 443을 통한 HTTPS 트래픽 HTTPS 통신은 기본 포트 8443 대신에 포트 443을 통한 이동을 위해 구성됩니다. 이는 Application Layer Protocol Network (ALPN) TLS 확장에 대한 AWS IoT Greengrass 지원을 보완하고 모든 Greengrass 메시징 트래픽(MQTT 및 HTTPS 모두)이 포트 443을 사용할 수 있도록 합니다. 자세한 설명은 포트 443에서 또는 네트워크 프록시를 통해 연결 섹션을 참조하세요.

  • AWS IoT 연결에 대해 예상 가능한 이름의 클라이언트 ID 이 변경에 따라 AWS IoT Device Defender 및 AWS IoT 수명 주기 이벤트가 지원되므로 연결, 연결 끊기, 구독 및 구독 해제 이벤트에 대한 알림을 받을 수 있습니다. 또한 예상 가능한 이름을 지정하면 연결 ID를 중심으로 논리를 쉽게 만들 수 있습니다(예: 인증서 속성을 기준으로 구독 정책 템플릿을 만드는 경우). 자세한 설명은 AWS IoT를 통한 MQTT 연결용 클라이언트 ID 섹션을 참조하세요.

버그 수정 및 개선 사항:

  • 섀도우 동기화 및 디바이스 인증서 관리자 재연결 문제를 수정했습니다.

  • 일반 성능 향상 및 버그 수정.

1.7.1

새로운 기능:

  • 로컬 인프라, 디바이스 프로토콜, AWS, 기타 클라우드 서비스와 기본적으로 통합되는 Greengrass 커넥터. 자세한 설명은 Greengrass 커넥터를 사용하여 서비스 및 프로토콜과 통합 섹션을 참조하세요.

  • AWS IoT Greengrass가 AWS Secrets Manager를 코어 디바이스로 확장함에 따라 커넥터와 Lambda 함수에 암호, 토큰, 기타 비밀 정보를 사용 가능합니다. 암호는 전송 및 저장 상태에서 암호화됩니다. 자세한 설명은 AWS IoT Greengrass 코어에 암호 배포 섹션을 참조하세요.

  • 신뢰 보안 옵션의 하드웨어 루트에 대한 지원. 자세한 설명은 하드웨어 보안 통합 섹션을 참조하세요.

  • Lambda 함수가 Greengrass 컨테이너 없이 실행되고 지정된 사용자 및 그룹의 권한을 사용할 수 있도록 허용하는 격리 및 권한 설정. 자세한 설명은 그룹별 구성을 사용한 Lambda 함수 실행 제어 섹션을 참조하세요.

  • Greengrass 그룹을 컨테이너화 없이 실행하도록 구성하여 Windows, macOS 또는 Linux의 Docker 컨테이너에서 AWS IoT Greengrass를 실행할 수 있습니다. 자세한 설명은 도커 컨테이너에서의 AWS IoT Greengrass 실행 섹션을 참조하세요.

  • ALPN(Application Layer Protocol Negotiation) 또는 네트워크 프록시 경유 연결을 통한 포트 443의 MQTT 메시징. 자세한 설명은 포트 443에서 또는 네트워크 프록시를 통해 연결 섹션을 참조하세요.

  • SageMaker Neo 딥 러닝 런타임은 SageMaker Neo 딥 러닝 컴파일러로 최적화된 머신 러닝 모델을 지원합니다. Neo 딥 러닝 런타임에 관해 자세한 내용은 ML 추론을 위한 런타임 및 라이브러리 섹션을 참조하십시오.

  • Raspberry Pi 코어 디바이스에서 Raspbian Stretch(2018-06-27)에 대한 지원.

버그 수정 및 개선 사항:

  • 일반 성능 향상 및 버그 수정.

그에 더해 이 릴리스로는 다음 기능을 사용할 수 있습니다.

  • CPU 아키텍처, 커널 구성, 드라이버가 AWS IoT Greengrass에서 기능하는지 확인하는 데 사용 가능한 AWS IoT Greengrass용 AWS IoT 디바이스 테스터. 자세한 설명은 AWS IoT Greengrass V1용 AWS IoT Device Tester 사용 섹션을 참조하세요.

  • AWS IoT Greengrass코어 소프트웨어, AWS IoT Greengrass 코어 SDK 및 AWS IoT Greengrass Machine Learning SDK 패키지는 Amazon을 통해 다운로드할 수 있습니다. CloudFront 자세한 설명은 AWS IoT Greengrass 다운로드 섹션을 참조하세요.

1.6.1

새로운 기능:

  • Greengrass 코어에서 이진 코드를 실행하는 Lambda 실행 파일입니다. C용 새 AWS IoT Greengrass 코어 SDK를 사용하여 Lambda 실행 파일을 C 및 C++로 작성할 수 있습니다. 자세한 설명은 Lambda 실행 파일 섹션을 참조하세요.

  • 재시작 시에도 계속 유지되는 로컬 스토리지 메시지 캐시(선택 사항)입니다. 처리를 위해 대기 중인 MQTT 메시지에 대한 스토리지 설정을 구성할 수 있습니다. 자세한 설명은 클라우드 대상을 위한 MQTT 메시지 대기열 섹션을 참조하세요.

  • 코어 디바이스 연결이 해제될 때 구성할 수 있는 최대 재연결 시도 간격입니다. 자세한 내용은 mqttMaxConnectionRetryIntervalAWS IoT Greengrass 코어 구성 파일 속성을 참조하십시오.

  • 호스트/proc 디렉터리에 대한 로컬 리소스 액세스입니다. 자세한 설명은 Lambda 함수와 커넥터를 사용하여 로컬 리소스에 액세스 섹션을 참조하세요.

  • 구성 가능한 쓰기 디렉터리입니다. AWS IoT Greengrass 코어 소프트웨어는 읽기 전용 및 읽기-쓰기 위치에 배포가 가능합니다. 자세한 설명은 AWS IoT Greengrass를 위한 쓰기 디렉터리 구성 섹션을 참조하세요.

버그 수정 및 개선 사항:

  • Greengrass 코어 내에서, 그리고 디바이스와 코어 사이에서 메시지 게시 성능이 향상되었습니다.

  • 사용자 정의 Lambda 함수에 의해 생성된 로그를 처리하기 위해 필요한 컴퓨팅 리소스가 감소되었습니다.

1.5.0

새로운 기능:

  • AWS IoT Greengrass 기계 학습(ML) 추론이 일반적으로 사용 가능합니다. 클라우드에서 빌드 및 교육된 모델을 사용하여 AWS IoT Greengrass 디바이스에서 로컬 방식으로 ML 추론을 수행할 수 있습니다. 자세한 설명은 기계 학습 추론 수행 섹션을 참조하세요.

  • Greengrass Lambda 함수는 이제 JSON 외에도 이진 데이터를 입력 페이로드로 지원합니다. 이 기능을 사용하려면 AWS IoT Greengrass 코어 SDK 버전 1.1.0으로 업그레이드해야 합니다. 이 버전은 AWS IoT Greengrass 코어 SDK 다운로드 페이지에서 다운로드할 수 있습니다.

버그 수정 및 개선 사항:

  • 전체 메모리 공간을 줄였습니다.

  • 클라우드 메시지 전송 성능이 개선되었습니다.

  • 다운로드 에이전트, 디바이스 인증서 관리자(DCM) 및 OTA 업데이트 에이전트의 성능과 안정성이 개선되었습니다.

  • 사소한 버그가 수정됨.

1.3.0

새로운 기능:

1.1.0

새로운 기능:

  • 배포 완료된 AWS IoT Greengrass 그룹을 Lambda 함수, 구독 및 구성을 삭제하여 재설정할 수 있습니다. 자세한 설명은 배포 재설정 섹션을 참조하세요.

  • Python 2.7 외에 Node.js 6.10 및 Java 8 Lambda 런타임 지원.

AWS IoT Greengrass의 이전 버전에서 마이그레이션하려면:

  • /greengrass/configuration/certs 폴더에서 /greengrass/certs로 인증서를 복사합니다.

  • /greengrass/configuration/config.json/greengrass/config/config.json에 복사합니다.

  • /greengrass/greengrassd 대신 /greengrass/ggc/core/greengrassd를 실행합니다.

  • 새 코어에 그룹을 배포합니다.

1.0.0

초기 버전

AWS IoT Greengrass 그룹

Greengrass 그룹은 Greengrass 코어, 디바이스 및 구독과 같은 설정 및 구성 요소의 모음입니다. 그룹은 상호 작용의 범위를 정의하는 데 사용됩니다. 예를 들어, 그룹은 건물의 한 층, 트럭 한 대 또는 전체 채광 현장을 나타낼 수 있습니다. 다음 다이어그램은 Greengrass 그룹을 구성할 수 있는 구성 요소를 보여줍니다.

앞서 제시한 다이어그램에서

A: Greengrass 그룹 정의

그룹 설정 및 구성 요소에 대한 정보.

B: Greengrass 그룹 설정

다음이 포함됩니다.

C: Greengrass 코어

Greengrass 코어를 나타내는 AWS IoT 사물(디바이스). 자세한 설명은 AWS IoT Greengrass 코어 구성 섹션을 참조하세요.

D: Lambda 함수 정의

관련 구성 데이터를 포함하여 코어에서 로컬로 실행되는 Lambda 함수의 목록입니다. 자세한 설명은 AWS IoT Greengrass 코어에서 Lambda 함수 실행 섹션을 참조하세요.

E: 구독 정의

MQTT 메시지를 사용해 통신을 할 수 있게 해주는 구독 목록입니다. 구독은 다음을 정의합니다.

  • 메시지 소스 및 메시지 대상. 이 항목은 클라이언트 디바이스, Lambda 함수, 커넥터, AWS IoT Core 및 로컬 섀도우 서비스일 수 있습니다.

  • 메시지를 필터링하는 데 사용되는 주제 또는 제목.

자세한 설명은 MQTT 메시징 워크플우로의 관리형 구독 섹션을 참조하세요.

F: 커넥터 정의

관련 구성 데이터를 포함하여 코어에서 로컬로 실행되는 커넥터의 목록입니다. 자세한 설명은 Greengrass 커넥터를 사용하여 서비스 및 프로토콜과 통합 섹션을 참조하세요.

G: 디바이스 정의

Greengrass 그룹의 구성원인 AWS IoT 사물(클라이언트 디바이스 또는 디바이스라고 함)을 연결된 구성 데이터와 함께 표시하는 목록입니다. 자세한 설명은 AWS IoT Greengrass 내 디바이스 섹션을 참조하세요.

H: 리소스 정의

관련 구성 데이터를 포함하여 Greengrass 코어DP 있는 로컬 리소스, 기계 학습 리소스 및 암호 리소스의 목록입니다. 자세한 내용은 Lambda 함수와 커넥터를 사용하여 로컬 리소스에 액세스, 기계 학습 추론 수행, AWS IoT Greengrass 코어에 암호 배포 단원을 참조하세요.

배포 시 Greengrass 그룹 정의, Lambda 함수, 커넥터, 리소스 및 구독 테이블이 코어 디바이스에 복사됩니다. 자세한 설명은 AWS IoT Greengrass 코어에 AWS IoT Greengrass 그룹 배포 섹션을 참조하세요.

AWS IoT Greengrass 내 디바이스

Greengrass 그룹에는 두 가지 유형의 AWS IoT 디바이스가 포함될 수 있습니다.

Greengrass 코어

Greengrass 코어는 AWS IoT Greengrass 코어 소프트웨어를 실행하는 디바이스로 AWS IoT Core 및 AWS IoT Greengrass 서비스와 직접 통신할 수 있습니다. 코어에는 AWS IoT Core를 통해 인증하는 데 사용되는 자체 디바이스 인증서가 있습니다. AWS IoT Core 레지스트리에 디바이스 섀도우와 항목이 있습니다. Greengrass 코어는 로컬 Lambda 런타임과 배포 에이전트를 실행할 뿐만 아니라, 클라이언트 디바이스가 그룹 및 코어 연결 정보를 자동으로 검색할 수 있도록 허용하기 위해 AWS IoT Greengrass 서비스에 IP 주소 정보를 전송하는 IP 주소 트래커도 실행합니다. 자세한 설명은 AWS IoT Greengrass 코어 구성 섹션을 참조하세요.

참고

Greengrass 그룹은 정확히 하나의 코어를 포함해야 합니다.

클라이언트 디바이스

클라이언트 디바이스(연결된 디바이스, Greengrass 디바이스 또는 디바이스라고도 함)는 MQTT를 통해 Greengrass 코어에 연결하는 디바이스입니다. 디바이스에는 AWS IoT Core 인증, 디바이스 섀도우 및 AWS IoT Core 레지스트리 항목에 대한 자체 인증서가 포함되어 있습니다. Greengrass 디바이스는 를 실행하거나 디바이스 SDKAWS IoT 또는 AWS IoT Greengrass 검색 API를 사용하여 동일한 Greengrass 그룹의 코어에 연결하고 인증하는 데 사용되는 검색 정보를 가져올 수 있습니다. AWS IoT 콘솔을 사용하여 AWS IoT Greengrass에 대한 클라이언트 디바이스를 만들고 구성하는 방법에 대한 자세한 내용은 모듈 4: AWS IoT Greengrass 그룹에서 클라이언트 디바이스와 상호 작용를 참조하십시오. 또는 를 사용하여 클라이언트 장치를 만들고 구성하는 방법을 보여주는 예제는 AWS CLI명령 참조를 참조하십시오 create-device-definition. AWS CLI AWS IoT Greengrass

Greengrass 그룹에서는 클라이언트 디바이스가 MQTT를 통해 그룹 내에 있는 Lambda 함수, 커넥터 및 기타 클라이언트 디바이스, 그리고 또는 AWS IoT Core 로컬 섀도우 서비스와 통신하도록 허용하는 구독을 생성할 수 있습니다. MQTT 메시지는 코어를 통해 라우팅됩니다. 코어 디바이스와 클라우드의 연결이 끊어지면 클라이언트 디바이스는 로컬 네트워크를 통해 계속 통신할 수 있습니다. 클라이언트 디바이스는 마이크로 컨트롤러 기반 소형 디바이스부터 대형 어플라이언스까지 다양한 크기일 수 있습니다. 현재 Greengrass 그룹은 최대 2,500개의 클라이언트 디바이스를 포함할 수 있습니다. 한 클라이언트 디바이스는 최대 10개 그룹의 멤버일 수 있습니다.

참고

OPC-UA는 산업 통신을 위한 정보 교환 표준입니다. Greengrass 코어에서 OPC-UA에 대한 지원을 구현하려면 IoT 커넥터를 사용할 수 있습니다. SiteWise 이 커넥터는 OPC-UA 서버의 산업용 디바이스 데이터를 AWS IoT SiteWise의 자산 속성으로 보냅니다.

다음 테이블은 이러한 디바이스 유형들이 어떤 관계가 있는지를 보여줍니다.

AWS IoT Greengrass 코어 디바이스는 두 위치에 인증서를 저장합니다.

  • /greengrass-root/certs의 코어 디바이스 인증서. 일반적으로 코어 디바이스 인증서의 이름은 hash.cert.pem(예: 86c84488a5.cert.pem)입니다. 이 인증서는 코어가 AWS IoT Core 및 AWS IoT Greengrass 서비스에 연결될 때 AWS IoT 클라이언트가 상호 인증을 위해 사용합니다.

  • /greengrass-root/ggc/var/state/server의 MQTT 서버 인증서. MQTT 서버 인증서의 이름이 server.crt로 지정됩니다. 이 인증서는 로컬 MQTT 서버(Greengrass 코어에 있음) 사이의 상호 인증에 사용됩니다.

    참고

    greengrass-root는 디바이스에서 AWS IoT Greengrass 코어 소프트웨어가 설치된 경로를 나타냅니다. 일반적으로 이는 /greengrass 디렉터리입니다.

SDK

AWS IoT Greengrass와 작업하는 데 사용되는 AWS 제공 SDK는 다음과 같습니다.

AWS SDK

AWS SDK를 사용해 Amazon S3, Amazon DynamoDB, AWS IoT, AWS IoT Greengrass 등을 포함한 모든 AWS 서비스와 상호 작용하는 애플리케이션을 빌드합니다. AWS IoT Greengrass의 컨텍스트에서는 배포된 Lambda 함수 내 AWS SDK를 사용하여 모든 AWS 서비스를 직접 호출할 수 있습니다. 자세한 설명은 AWS SDK 섹션을 참조하세요.

참고

AWS SDK에서 사용할 수 있는 Greengrass 관련 작업은 AWS IoT Greengrass APIAWS CLI에서도 사용할 수 있습니다.

AWS IoT 디바이스 SDK

AWS IoT 디바이스 SDK는 디바이스의 AWS IoT Core 또는 AWS IoT Greengrass 연결을 지원합니다. 자세한 내용은 AWS IoT 개발자 안내서AWS IoT 디바이스 SDK 섹션을 참조하세요.

클라이언트 디바이스는 AWS IoT 디바이스 SDK V2를 사용하여 Greengrass 코어의 연결 정보를 검색할 수도 있습니다. 연결 정보에는 다음이 포함됩니다.

  • 클라이언트 디바이스가 속한 Greengrass 그룹의 ID.

  • 각 그룹에 있는 Greengrass 코어의 IP 주소. 이를 코어 엔드포인트라고도 합니다.

  • 디바이스가 코어와의 상호 인증에 사용하는 그룹 CA 인증서. 자세한 설명은 디바이스 연결 워크플로 섹션을 참조하세요.

참고

AWS IoT 장치 SDK v1에서는 C++ 및 Python 플랫폼만이 내장된 검색 지원을 제공합니다.

AWS IoT Greengrass 코어 SDK

AWS IoT Greengrass 코어 SDK는 Lambda 함수가 Greengrass 코어와의 상호 작용, AWS IoT에 메시지 게시, 로컬 섀도우 서비스와의 상호 작용, 배포된 다른 Lambda 함수의 간접 호출, 암호 리소스 액세스를 수행할 수 있도록 지원합니다. 이 SDK는 AWS IoT Greengrass 코어에서 실행되는 Lambda 함수가 사용합니다. 자세한 설명은 AWS IoT Greengrass 코어 SDK 섹션을 참조하세요.

AWS IoT Greengrass 기계 학습 SDK

AWS IoT Greengrass 기계 학습 SDK는 Lambda 함수가 Greengrass 코어에 기계 학습 리소스로서 배포된 기계 학습 모델을 이용할 수 있도록 지원합니다. 이 SDK는 AWS IoT Greengrass 코어에서 실행되며 로컬 추론 서비스로 상호 작용하는 Lambda 함수에 사용됩니다. 자세한 설명은 AWS IoT Greengrass기계 학습 SDK 섹션을 참조하세요.

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

다음 탭에는 AWS IoT Greengrass 코어 소프트웨어에 지원되는 플랫폼과 요구 사항이 나열되어 있습니다.

참고

AWS IoT Greengrass코어 소프트웨어 다운로드에서 AWS IoT Greengrass 코어 소프트웨어를 다운로드할 수 있습니다.

GGC v1.11

지원되는 플랫폼:

  • 아키텍처: ARMv7l

    • OS: Linux

    • OS: 리눅스 () OpenWrt

  • 아키텍처: Armv8(AArch64)

    • OS: Linux

    • OS: 리눅스 (OpenWrt)

  • 아키텍처: ARMv6l

    • OS: Linux

  • 아키텍처: x86_64

    • OS: Linux

  • Windows, macOS 및 Linux 플랫폼은 도커 컨테이너에서 AWS IoT Greengrass를 실행할 수 있습니다. 자세한 설명은 도커 컨테이너에서의 AWS IoT Greengrass 실행 섹션을 참조하세요.

요구 사항:

  • AWS IoT Greengrass 코어 소프트웨어에 사용할 수 있는 최소 128MB의 디스크 공간. OTA 업데이트 에이전트를 사용하는 경우 최소 용량은 400MB입니다.

  • AWS IoT Greengrass 코어 소프트웨어에 최소 128MB의 RAM이 할당됩니다. 스트림 관리자가 활성화된 경우 최소 크기는 198MB RAM입니다.

    참고

    AWS IoT 콘솔의 기본 그룹 생성 옵션을 사용하여 Greengrass 그룹을 생성하는 경우 스트림 관리자가 기본적으로 활성화됩니다.

  • Linux 커널 버전:

    • 컨테이너를 이용한 AWS IoT Greengrass 실행을 지원하려면 Linux 커널 버전 4.4 이상이 필요합니다.

    • 컨테이너 없이 AWS IoT Greengrass 실행을 지원하려면 Linux 커널 버전 3.17 이상이 필요합니다. 이 구성에서 Greengrass 그룹에 대한 기본 Lambda 함수 컨테이너화는 컨테이너 없음으로 설정해야 합니다. 지침은 그룹 내 Lambda 함수의 기본 컨테이너화 설정 섹션을 참조하세요.

  • GNU C 라이브러리 (glibc) 버전 2.14 이상 OpenWrt 배포판에는 musl C 라이브러리 버전 1.1.16 이상이 필요합니다.

  • /var/run 디렉터리가 디바이스에 있어야 합니다.

  • /dev/stdin, /dev/stdout/dev/stderr 파일이 사용 가능해야 합니다.

  • 하드링크 및 소프트링크 보호를 활성화해야 합니다. 그렇지 않으면 AWS IoT Greengrass 플래그를 사용하여 안전하지 않은 모드에서만 -i를 실행할 수 있습니다.

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

    • 네임스페이스:

      • CONFIG_IPC_NS

      • CONFIG_UTS_NS

      • CONFIG_USER_NS

      • CONFIG_PID_NS

    • Cgroups:

      • CONFIG_CGROUP_DEVICE

      • CONFIG_CGROUPS

      • CONFIG_MEMCG

      커널에서 cgroups를 지원해야 합니다. AWS IoT Greengrass컨테이너로 실행할 때는 다음 요구 사항이 적용됩니다.

      • AWS IoT Greengrass가 Lambda 함수의 메모리 제한을 설정하도록 하려면 메모리 cgroup을 활성화하고 마운트해야 합니다.

      • 로컬 리소스 액세스 권한이 있는 Lambda 함수를 사용하여 AWS IoT Greengrass 코어 디바이스에서 파일을 여는 경우 디바이스 cgroup을 활성화하고 마운트해야 합니다.

    • 기타:

      • CONFIG_POSIX_MQUEUE

      • CONFIG_OVERLAY_FS

      • CONFIG_HAVE_ARCH_SECCOMP_FILTER

      • CONFIG_SECCOMP_FILTER

      • CONFIG_KEYS

      • CONFIG_SECCOMP

      • CONFIG_SHMEM

  • Amazon S3 및 AWS IoT의 루트 인증서가 시스템 트러스트 스토어에 있어야 합니다.

  • 스트림 관리자에서는 기본 AWS IoT Greengrass 코어 소프트웨어 메모리 요구 사항 외에 Java 8 런타임과 최소 70MB의 RAM이 필요합니다. AWS IoT 콘솔의 기본 그룹 생성 옵션을 사용할 경우 스트림 관리자가 기본적으로 활성화됩니다. 배포판에서는 스트림 매니저가 지원되지 않습니다. OpenWrt

  • 로컬로 실행할 Lambda 함수에 필요한 AWS Lambda런타임을 지원하는 라이브러리. 필수 라이브러리를 코어에 설치하고 PATH 환경 변수에 추가해야 합니다. 동일한 코어에 여러 라이브러리를 설치할 수 있습니다.

    • Python 3.8 런타임을 사용하는 기능의 경우 Python 버전 3.8.

    • Python 3.7 실행 시간을 사용하는 기능의 경우 Python 버전 3.7.

    • Python 2.7 실행 시간을 사용하는 기능의 경우 Python 버전 2.7.

    • Node.js 12.x 런타임을 사용하는 함수의 경우 Node.js 버전 12.x.

    • Java 8 런타임을 사용하는 함수의 경우 Java 버전 8 이상

      참고

      OpenWrt 배포판에서 Java를 실행하는 것은 공식적으로 지원되지 않습니다. 하지만 OpenWrt 빌드에서 Java를 지원하는 경우 Java로 작성된 Lambda 함수를 디바이스에서 실행할 수 있습니다. OpenWrt

      Lambda 런타임용 AWS IoT Greengrass 지원에 대한 자세한 내용은 AWS IoT Greengrass 코어에서 Lambda 함수 실행 섹션을 참조하세요.

  • (OTA) 업데이트 에이전트에는 다음과 같은 셸 명령 ( BusyBox 변형 아님) 이 over-the-air 필요합니다.

    • wget

    • realpath

    • tar

    • readlink

    • basename

    • dirname

    • pidof

    • df

    • grep

    • umount

    • mv

    • gzip

    • mkdir

    • rm

    • ln

    • cut

    • cat

    • /bin/bash

GGC v1.10

지원되는 플랫폼:

  • 아키텍처: ARMv7l

    • OS: Linux

    • OS: 리눅스 (OpenWrt)

  • 아키텍처: Armv8(AArch64)

    • OS: Linux

    • OS: 리눅스 (OpenWrt)

  • 아키텍처: ARMv6l

    • OS: Linux

  • 아키텍처: x86_64

    • OS: Linux

  • Windows, macOS 및 Linux 플랫폼은 도커 컨테이너에서 AWS IoT Greengrass를 실행할 수 있습니다. 자세한 설명은 도커 컨테이너에서의 AWS IoT Greengrass 실행 섹션을 참조하세요.

요구 사항:

  • AWS IoT Greengrass 코어 소프트웨어에 사용할 수 있는 최소 128MB의 디스크 공간. OTA 업데이트 에이전트를 사용하는 경우 최소 용량은 400MB입니다.

  • AWS IoT Greengrass 코어 소프트웨어에 최소 128MB의 RAM이 할당됩니다. 스트림 관리자가 활성화된 경우 최소 크기는 198MB RAM입니다.

    참고

    AWS IoT 콘솔의 기본 그룹 생성 옵션을 사용하여 Greengrass 그룹을 생성하는 경우 스트림 관리자가 기본적으로 활성화됩니다.

  • Linux 커널 버전:

    • 컨테이너를 이용한 AWS IoT Greengrass 실행을 지원하려면 Linux 커널 버전 4.4 이상이 필요합니다.

    • 컨테이너 없이 AWS IoT Greengrass 실행을 지원하려면 Linux 커널 버전 3.17 이상이 필요합니다. 이 구성에서 Greengrass 그룹에 대한 기본 Lambda 함수 컨테이너화는 컨테이너 없음으로 설정해야 합니다. 지침은 그룹 내 Lambda 함수의 기본 컨테이너화 설정 섹션을 참조하세요.

  • GNU C 라이브러리 (glibc) 버전 2.14 이상 OpenWrt 배포판에는 musl C 라이브러리 버전 1.1.16 이상이 필요합니다.

  • /var/run 디렉터리가 디바이스에 있어야 합니다.

  • /dev/stdin, /dev/stdout/dev/stderr 파일이 사용 가능해야 합니다.

  • 하드링크 및 소프트링크 보호를 활성화해야 합니다. 그렇지 않으면 AWS IoT Greengrass 플래그를 사용하여 안전하지 않은 모드에서만 -i를 실행할 수 있습니다.

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

    • 네임스페이스:

      • CONFIG_IPC_NS

      • CONFIG_UTS_NS

      • CONFIG_USER_NS

      • CONFIG_PID_NS

    • Cgroups:

      • CONFIG_CGROUP_DEVICE

      • CONFIG_CGROUPS

      • CONFIG_MEMCG

      커널에서 cgroups를 지원해야 합니다. AWS IoT Greengrass컨테이너로 실행할 때는 다음 요구 사항이 적용됩니다.

      • AWS IoT Greengrass가 Lambda 함수의 메모리 제한을 설정하도록 하려면 메모리 cgroup을 활성화하고 마운트해야 합니다.

      • 로컬 리소스 액세스 권한이 있는 Lambda 함수를 사용하여 AWS IoT Greengrass 코어 디바이스에서 파일을 여는 경우 디바이스 cgroup을 활성화하고 마운트해야 합니다.

    • 기타:

      • CONFIG_POSIX_MQUEUE

      • CONFIG_OVERLAY_FS

      • CONFIG_HAVE_ARCH_SECCOMP_FILTER

      • CONFIG_SECCOMP_FILTER

      • CONFIG_KEYS

      • CONFIG_SECCOMP

      • CONFIG_SHMEM

  • Amazon S3 및 AWS IoT의 루트 인증서가 시스템 트러스트 스토어에 있어야 합니다.

  • 스트림 관리자에서는 기본 AWS IoT Greengrass 코어 소프트웨어 메모리 요구 사항 외에 Java 8 런타임과 최소 70MB의 RAM이 필요합니다. AWS IoT 콘솔의 기본 그룹 생성 옵션을 사용할 경우 스트림 관리자가 기본적으로 활성화됩니다. 배포판에서는 스트림 매니저가 지원되지 않습니다. OpenWrt

  • 로컬로 실행할 Lambda 함수에 필요한 AWS Lambda런타임을 지원하는 라이브러리. 필수 라이브러리를 코어에 설치하고 PATH 환경 변수에 추가해야 합니다. 동일한 코어에 여러 라이브러리를 설치할 수 있습니다.

    • Python 3.7 실행 시간을 사용하는 기능의 경우 Python 버전 3.7.

    • Python 2.7 실행 시간을 사용하는 기능의 경우 Python 버전 2.7.

    • Node.js 12.x 런타임을 사용하는 함수의 경우 Node.js 버전 12.x.

    • Java 8 런타임을 사용하는 함수의 경우 Java 버전 8 이상

      참고

      OpenWrt 배포판에서 Java를 실행하는 것은 공식적으로 지원되지 않습니다. 하지만 OpenWrt 빌드에서 Java를 지원하는 경우 Java로 작성된 Lambda 함수를 디바이스에서 실행할 수 있습니다. OpenWrt

      Lambda 런타임용 AWS IoT Greengrass 지원에 대한 자세한 내용은 AWS IoT Greengrass 코어에서 Lambda 함수 실행 섹션을 참조하세요.

  • (OTA) 업데이트 에이전트에는 다음과 같은 셸 명령 ( BusyBox 변형 아님) 이 over-the-air 필요합니다.

    • wget

    • realpath

    • tar

    • readlink

    • basename

    • dirname

    • pidof

    • df

    • grep

    • umount

    • mv

    • gzip

    • mkdir

    • rm

    • ln

    • cut

    • cat

    • /bin/bash

GGC v1.9

지원되는 플랫폼:

  • 아키텍처: ARMv7l

    • OS: Linux

    • OS: 리눅스 (OpenWrt)

  • 아키텍처: Armv8(AArch64)

    • OS: Linux

    • OS: 리눅스 (OpenWrt)

  • 아키텍처: ARMv6l

    • OS: Linux

  • 아키텍처: x86_64

    • OS: Linux

  • Windows, macOS 및 Linux 플랫폼은 도커 컨테이너에서 AWS IoT Greengrass를 실행할 수 있습니다. 자세한 설명은 도커 컨테이너에서의 AWS IoT Greengrass 실행 섹션을 참조하세요.

요구 사항:

  • AWS IoT Greengrass 코어 소프트웨어에 사용할 수 있는 최소 128MB의 디스크 공간. OTA 업데이트 에이전트를 사용하는 경우 최소 용량은 400MB입니다.

  • AWS IoT Greengrass 코어 소프트웨어에 최소 128MB의 RAM이 할당됩니다.

  • Linux 커널 버전:

    • 컨테이너를 이용한 AWS IoT Greengrass 실행을 지원하려면 Linux 커널 버전 4.4 이상이 필요합니다.

    • 컨테이너 없이 AWS IoT Greengrass 실행을 지원하려면 Linux 커널 버전 3.17 이상이 필요합니다. 이 구성에서 Greengrass 그룹에 대한 기본 Lambda 함수 컨테이너화는 컨테이너 없음으로 설정해야 합니다. 지침은 그룹 내 Lambda 함수의 기본 컨테이너화 설정 섹션을 참조하세요.

  • GNU C 라이브러리 (glibc) 버전 2.14 이상 OpenWrt 배포판에는 musl C 라이브러리 버전 1.1.16 이상이 필요합니다.

  • /var/run 디렉터리가 디바이스에 있어야 합니다.

  • /dev/stdin, /dev/stdout/dev/stderr 파일이 사용 가능해야 합니다.

  • 하드링크 및 소프트링크 보호를 활성화해야 합니다. 그렇지 않으면 AWS IoT Greengrass 플래그를 사용하여 안전하지 않은 모드에서만 -i를 실행할 수 있습니다.

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

    • 네임스페이스:

      • CONFIG_IPC_NS

      • CONFIG_UTS_NS

      • CONFIG_USER_NS

      • CONFIG_PID_NS

    • Cgroups:

      • CONFIG_CGROUP_DEVICE

      • CONFIG_CGROUPS

      • CONFIG_MEMCG

      커널에서 cgroups를 지원해야 합니다. AWS IoT Greengrass컨테이너로 실행할 때는 다음 요구 사항이 적용됩니다.

      • AWS IoT Greengrass가 Lambda 함수의 메모리 제한을 설정하도록 하려면 메모리 cgroup을 활성화하고 마운트해야 합니다.

      • 로컬 리소스 액세스 권한이 있는 Lambda 함수를 사용하여 AWS IoT Greengrass 코어 디바이스에서 파일을 여는 경우 디바이스 cgroup을 활성화하고 마운트해야 합니다.

    • 기타:

      • CONFIG_POSIX_MQUEUE

      • CONFIG_OVERLAY_FS

      • CONFIG_HAVE_ARCH_SECCOMP_FILTER

      • CONFIG_SECCOMP_FILTER

      • CONFIG_KEYS

      • CONFIG_SECCOMP

      • CONFIG_SHMEM

  • Amazon S3 및 AWS IoT의 루트 인증서가 시스템 트러스트 스토어에 있어야 합니다.

  • 로컬로 실행할 Lambda 함수에 필요한 AWS Lambda런타임을 지원하는 라이브러리. 필수 라이브러리를 코어에 설치하고 PATH 환경 변수에 추가해야 합니다. 동일한 코어에 여러 라이브러리를 설치할 수 있습니다.

    • Python 2.7 실행 시간을 사용하는 기능의 경우 Python 버전 2.7.

    • Python 3.7 실행 시간을 사용하는 기능의 경우 Python 버전 3.7.

    • Node.js 6.10 실행 시간을 사용하는 기능의 경우 Node.js 버전 6.10 이상.

    • Node.js 8.10 실행 시간을 사용하는 기능의 경우 Node.js 버전 8.10 이상.

    • Java 8 런타임을 사용하는 함수의 경우 Java 버전 8 이상

      참고

      OpenWrt 배포판에서 Java를 실행하는 것은 공식적으로 지원되지 않습니다. 하지만 OpenWrt 빌드에서 Java를 지원하는 경우 Java로 작성된 Lambda 함수를 디바이스에서 실행할 수 있습니다. OpenWrt

      Lambda 런타임용 AWS IoT Greengrass 지원에 대한 자세한 내용은 AWS IoT Greengrass 코어에서 Lambda 함수 실행 섹션을 참조하세요.

  • (OTA) 업데이트 에이전트에는 다음과 같은 셸 명령 ( BusyBox 변형 아님) 이 over-the-air 필요합니다.

    • wget

    • realpath

    • tar

    • readlink

    • basename

    • dirname

    • pidof

    • df

    • grep

    • umount

    • mv

    • gzip

    • mkdir

    • rm

    • ln

    • cut

    • cat

GGC v1.8
  • 지원되는 플랫폼:

    • 아키텍처: Armv7l; OS: Linux

    • 아키텍처: x86_64; OS: Linux

    • 아키텍처: Armv8(AArch64); OS: Linux

    • Windows, macOS 및 Linux 플랫폼은 도커 컨테이너에서 AWS IoT Greengrass를 실행할 수 있습니다. 자세한 설명은 도커 컨테이너에서의 AWS IoT Greengrass 실행 섹션을 참조하세요.

    • Linux 플랫폼은 Greengrass 스냅을 사용하여 AWS IoT Greengrass를 제한된 기능의 버전으로 실행하며, 이 스냅은 Snapcraft에서 구할 수 있습니다. 자세한 설명은 AWS IoT Greengrass 스냅 소프트웨어 섹션을 참조하세요.

  • 다음과 같은 항목이 필요합니다.

    • AWS IoT Greengrass 코어 소프트웨어에 사용할 수 있는 최소 128MB의 디스크 공간. OTA 업데이트 에이전트를 사용하는 경우 최소 용량은 400MB입니다.

    • AWS IoT Greengrass 코어 소프트웨어에 최소 128MB의 RAM이 할당됩니다.

    • Linux 커널 버전:

      • 컨테이너를 이용한 AWS IoT Greengrass 실행을 지원하려면 Linux 커널 버전 4.4 이상이 필요합니다.

      • 컨테이너 없이 AWS IoT Greengrass 실행을 지원하려면 Linux 커널 버전 3.17 이상이 필요합니다. 이 구성에서 Greengrass 그룹에 대한 기본 Lambda 함수 컨테이너화는 컨테이너 없음으로 설정해야 합니다. 지침은 그룹 내 Lambda 함수의 기본 컨테이너화 설정 섹션을 참조하세요.

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

    • /var/run 디렉터리가 디바이스에 있어야 합니다.

    • /dev/stdin, /dev/stdout/dev/stderr 파일이 사용 가능해야 합니다.

    • 하드링크 및 소프트링크 보호를 활성화해야 합니다. 그렇지 않으면 AWS IoT Greengrass 플래그를 사용하여 안전하지 않은 모드에서만 -i를 실행할 수 있습니다.

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

      • 네임스페이스:

        • CONFIG_IPC_NS

        • CONFIG_UTS_NS

        • CONFIG_USER_NS

        • CONFIG_PID_NS

      • Cgroups:

        • CONFIG_CGROUP_DEVICE

        • CONFIG_CGROUPS

        • CONFIG_MEMCG

        커널에서 cgroups를 지원해야 합니다. AWS IoT Greengrass컨테이너로 실행할 때는 다음 요구 사항이 적용됩니다.

        • AWS IoT Greengrass가 Lambda 함수의 메모리 제한을 설정하도록 하려면 메모리 cgroup을 활성화하고 마운트해야 합니다.

        • 로컬 리소스 액세스 권한이 있는 Lambda 함수를 사용하여 AWS IoT Greengrass 코어 디바이스에서 파일을 여는 경우 디바이스 cgroup을 활성화하고 마운트해야 합니다.

      • 기타:

        • CONFIG_POSIX_MQUEUE

        • CONFIG_OVERLAY_FS

        • CONFIG_HAVE_ARCH_SECCOMP_FILTER

        • CONFIG_SECCOMP_FILTER

        • CONFIG_KEYS

        • CONFIG_SECCOMP

        • CONFIG_SHMEM

    • Amazon S3 및 AWS IoT의 루트 인증서가 시스템 트러스트 스토어에 있어야 합니다.

  • 조건에 따라 다음 항목이 필요합니다.

    • 로컬로 실행할 Lambda 함수에 필요한 AWS Lambda런타임을 지원하는 라이브러리. 필수 라이브러리를 코어에 설치하고 PATH 환경 변수에 추가해야 합니다. 동일한 코어에 여러 라이브러리를 설치할 수 있습니다.

      • Python 2.7 실행 시간을 사용하는 기능의 경우 Python 버전 2.7.

      • Node.js 6.10 실행 시간을 사용하는 기능의 경우 Node.js 버전 6.10 이상.

      • Java 8 런타임을 사용하는 함수의 경우 Java 버전 8 이상

    • (OTA) 업데이트 에이전트에는 다음과 같은 셸 명령 over-the-air ( BusyBox 변형 제외) 이 필요합니다.

      • wget

      • realpath

      • tar

      • readlink

      • basename

      • dirname

      • pidof

      • df

      • grep

      • umount

      • mv

      • gzip

      • mkdir

      • rm

      • ln

      • cut

      • cat

AWS IoT Greengrass 할당량(한도)에 대한 자세한 내용은 Amazon Web Services 일반 참조서비스 할당량을 참조하세요.

요금 정보는 AWS IoT Greengrass 요금AWS IoT Core 요금 섹션을 참조하십시오.

AWS IoT Greengrass 다운로드

다음 정보를 사용하여 AWS IoT Greengrass에 사용할 소프트웨어를 찾아 다운로드할 수 있습니다.

AWS IoT Greengrass 코어 소프트웨어

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

v1.11
1.11.6

버그 수정 및 개선 사항:

  • 배포 중에 갑작스러운 전력 손실이 발생할 경우 복원력이 향상되었습니다.

  • 스트림 관리자 데이터 손상으로 인해 AWS IoT Greengrass 코어 소프트웨어가 시작되지 않는 문제를 수정했습니다.

  • 특정 시나리오에서 새 클라이언트 장치를 코어에 연결할 수 없는 문제를 수정했습니다.

  • 스트림 관리자 스트림 이름이 .log를 포함할 수 없던 문제를 수정했습니다.

1.11.5

버그 수정 및 개선 사항:

  • 일반 성능 향상 및 버그 수정.

1.11.4

버그 수정 및 개선 사항:

  • AWS IoT Greengrass 코어 소프트웨어 v1.11.3으로의 업그레이드를 방해하는 스트림 관리자 관련 문제를 수정했습니다. 스트림 관리자를 사용하여 데이터를 클라우드로 내보내는 경우 이제 OTA 업데이트를 사용하여 이전 v1.x 버전의 AWS IoT Greengrass Core 소프트웨어를 v1.11.4로 업그레이드할 수 있습니다.

  • 일반 성능 향상 및 버그 수정.

1.11.3

버그 수정 및 개선 사항:

  • Ubuntu 디바이스에서 AWS IoT Greengrass 코어 소프트웨어를 바로 실행하던 중 디바이스의 전원이 갑자기 끊긴 후 응답하지 않던 문제를 수정했습니다.

  • 수명이 긴 Lambda 함수에 MQTT 메시지 전송이 지연되는 문제를 수정했습니다.

  • maxWorkItemCount 값이 1024보다 큰 값으로 설정된 경우 MQTT 메시지가 제대로 전송되지 않던 문제를 수정했습니다.

  • OTA 업데이트 에이전트가 config.json에서 keepAlive 속성에 지정된 MQTT KeepAlive 기간을 무시하던 문제를 수정했습니다.

  • 일반 성능 향상 및 버그 수정.

중요

스트림 관리자를 사용하여 데이터를 클라우드로 내보내는 경우 이전 v1.x 버전에서 AWS IoT Greengrass 코어 소프트웨어 v1.11.3으로 업그레이드하지 마십시오. 스트림 관리자를 처음 활성화하는 경우 먼저 최신 버전의 AWS IoT Greengrass 코어 소프트웨어를 설치하는 것이 좋습니다.

1.11.1

버그 수정 및 개선 사항:

  • 스트림 관리자의 메모리 사용량이 증가하는 문제가 수정되었습니다.

  • 스트림 데이터의 지정된 기간 time-to-live (TTL) 보다 오랫동안 Greengrass 코어 디바이스의 전원이 꺼진 0 경우 스트림 관리자가 스트림의 시퀀스 번호를 재설정하던 문제를 수정했습니다.

  • 스트림 관리자가 AWS 클라우드로 데이터를 내보내려는 재시도를 제대로 중단하지 못하던 문제를 수정했습니다.

1.11.0

새로운 기능:

  • Greengrass 코어의 텔레메트리 에이전트는 로컬 텔레메트리 데이터를 수집하여 AWS 클라우드에 게시합니다. 추가 처리를 위해 원격 분석 데이터를 검색하려는 고객은 Amazon EventBridge 규칙을 생성하고 대상을 구독할 수 있습니다. 자세한 내용은 AWS IoT Greengrass 코어 디바이스에서 시스템 상태 텔레메트리 데이터 수집을 참조하십시오.

  • AWS IoT Greengrass에서 시작된 로컬 작업자 프로세스의 현재 상태를 스냅샷으로 제공하는 로컬 HTTP API가 포함되어 있습니다. 자세한 내용은 로컬 상태 확인 API 호출을 참조하십시오.

  • 스트림 관리자는 Amazon S3 및 AWS IoT SiteWise로 데이터를 자동으로 내보냅니다.

    스트림 관리자 파라미터를 사용하면 기존 스트림을 업데이트하고 데이터 내보내기를 일시 중지하거나 재개할 수 있습니다.

  • 코어에서 Python 3.8.x Lambda 함수를 실행하기 위한 지원.

  • Greengrass 코어 IPC 포트 번호를 구성하는 데 사용하는 config.json의 새 ggDaemonPort 속성입니다. 기본 포트 번호는 8000입니다.

    Greengrass 코어 IPC 인증에 대한 제한 시간을 구성하는 데 사용하는 config.json의 새 systemComponentAuthTimeout 속성입니다. 기본값은 5,000밀리초입니다.

  • AWS IoT Greengrass 그룹당 최대 AWS IoT 디바이스 수를 200개에서 2500개로 늘렸습니다.

    그룹당 최대 구독 수를 1000개에서 10000개로 늘렸습니다.

    자세한 내용은 AWS IoT Greengrass 엔드포인트 및 할당량을 참조하십시오.

버그 수정 및 개선 사항:

  • Greengrass 서비스 프로세스의 메모리 사용률을 줄일 수 있는 일반 최적화.

  • 새로운 런타임 구성 파라미터(mountAllBlockDevices)를 사용하면 Greengrass가 OverlayFS를 설정한 후 바인드 마운트를 사용하여 모든 블록 디바이스를 컨테이너에 마운트할 수 있습니다. 이 기능은 /usr이(가) / 계층 구조 아래에 있지 않을 경우 Greengrass 배포가 실패하는 문제를 해결했습니다.

  • /tmp이 심볼릭 링크인 경우 AWS IoT Greengrass 코어 오류가 발생하는 문제를 수정했습니다.

  • Greengrass 배포 에이전트가 mlmodel_public 폴더에서 사용하지 않는 기계 학습 모델 아티팩트를 제거하도록 하는 문제를 수정했습니다.

  • 일반 성능 향상 및 버그 수정.

코어 디바이스에 AWS IoT Greengrass 코어 소프트웨어를 설치하려면 아키텍처 및 OS(운영 체제)를 위한 패키지를 다운로드한 후 시작하기 안내서의 단계를 따릅니다.

작은 정보

AWS IoT Greengrass에서는 다른 방법으로도 AWS IoT Greengrass 코어 소프트웨어를 설치할 수 있습니다. 예를 들어 Greengrass 디바이스 설정을 사용하여 환경을 구성하고 최신 버전의 AWS IoT Greengrass 코어 소프트웨어를 설치할 수 있습니다. 또는 지원되는 Debian 플랫폼에서 APT 패키지 관리자를 사용하여 AWS IoT Greengrass 코어 소프트웨어를 설치하거나 업그레이드할 수 있습니다. 자세한 설명은 AWS IoT Greengrass 코어 소프트웨어 설치 섹션을 참조하세요.

아키텍처

운영 체제

링크

ARMv8(AArch64)

Linux

다운로드

ARMv8(AArch64)

Linux () OpenWrt

다운로드

Armv7l

Linux

다운로드

Armv7l

리눅스 (OpenWrt)

다운로드

Armv6l

Linux

다운로드

x86_64

Linux

다운로드

Extended life versions
1.10.5

v1.10의 새로운 기능:

  • 데이터 스트림을 로컬에서 처리하고 이를 AWS 클라우드로 자동으로 내보내는 스트림 관리자. 이 기능을 사용하려면 Greengrass 코어 디바이스에 Java 8이 필요합니다. 자세한 설명은 AWS IoT Greengrass 코어에서 데이터 스트림 관리 섹션을 참조하세요.

  • 코어 디바이스에서 Docker 애플리케이션을 실행하는 새로운 Greengrass Docker 애플리케이션 배포 커넥터. 자세한 설명은 Docker 애플리케이션 배포 커넥터 섹션을 참조하세요.

  • 산업용 장치 데이터를 OPC-UA 서버의 자산 자산으로 전송하는 새로운 IoT SiteWise 커넥터. AWS IoT SiteWise 자세한 설명은 IoT SiteWise 커넥터 섹션을 참조하세요.

  • 컨테이너화 없이 실행되는 Lambda 함수는 Greengrass 그룹의 기계 학습 리소스에 액세스할 수 있습니다. 자세한 설명은 Lambda 함수에서 기계 학습 리소스에 액세스 섹션을 참조하세요.

  • AWS IoT를 통해 MQTT 영구 세션 지원. 자세한 설명은 AWS IoT Core를 사용하는 MQTT 영구 세션 섹션을 참조하세요.

  • 로컬 MQTT 트래픽은 기본 포트 8883 이외의 포트를 통해 이동할 수 있습니다. 자세한 설명은 로컬 메시징을 위한 MQTT 포트 구성 섹션을 참조하세요.

  • Lambda 함수에서 안정적인 메시지 게시를 위한 AWS IoT Greengrass 코어 SDK의 새로운 queueFullPolicy 옵션.

  • 코어에서 Node.js 12.x Lambda 함수를 실행하기 위한 지원.

버그 수정 및 개선 사항:

  • 하드웨어 보안 통합을 통한 O ver-the-air (OTA) 업데이트는 OpenSSL 1.1을 사용하여 구성할 수 있습니다.

  • 스트림 관리자는 파일 데이터 손상에 대한 복원력이 더 뛰어납니다.

  • Linux 커널 5.1 이상을 사용하는 디바이스에 sysfs를 탑재하지 못하는 문제를 수정했습니다.

  • AWS IoT Core와 MQTT 연결에서 게시, 구독 및 구독 취소 작업에 대한 제한 시간을 설정하는 데 사용하는 config.json의mqttOperationTimeout 속성입니다.

  • 스트림 관리자의 메모리 사용량이 증가하는 문제가 수정되었습니다.

  • Greengrass 코어 IPC 인증에 대한 제한 시간을 구성하는 데 사용하는 config.json의 새 systemComponentAuthTimeout 속성입니다. 기본값은 5,000밀리초입니다.

  • OTA 업데이트 에이전트가 config.json에서 keepAlive 속성에 지정된 MQTT KeepAlive 기간을 무시하던 문제를 수정했습니다.

  • maxWorkItemCount 값이 1024보다 큰 값으로 설정된 경우 MQTT 메시지가 제대로 전송되지 않던 문제를 수정했습니다.

  • 수명이 긴 Lambda 함수에 MQTT 메시지 전송이 지연되는 문제를 수정했습니다.

  • Ubuntu 디바이스에서 AWS IoT Greengrass 코어 소프트웨어를 바로 실행하던 중 디바이스의 전원이 갑자기 끊긴 후 응답하지 않던 문제를 수정했습니다.

  • 일반 성능 향상 및 버그 수정.

코어 디바이스에 AWS IoT Greengrass 코어 소프트웨어를 설치하려면 아키텍처 및 OS(운영 체제)를 위한 패키지를 다운로드한 후 시작하기 안내서의 단계를 따릅니다.

아키텍처

운영 체제

링크

ARMv8(AArch64)

Linux

다운로드

ARMv8(AArch64)

리눅스 () OpenWrt

다운로드

Armv7l

Linux

다운로드

Armv7l

리눅스 (OpenWrt)

다운로드

Armv6l

Linux

다운로드

x86_64

Linux

다운로드

1.9.4

v1.9의 새로운 기능:

  • Python 3.7 및 Node.js 8.10 Lambda 런타임을 지원합니다. Python 3.7 및 Node.js 8.10 런타임을 사용하는 Lambda 함수가 이제 AWS IoT Greengrass 코어에서 실행할 수 있습니다(AWS IoT Greengrass는 Python 2.7 및 Node.js 6.10 런타임을 계속 지원함).

  • MQTT 연결을 최적화했습니다. Greengrass 코어는 AWS IoT Core와의 더 적은 수의 연결을 설정합니다. 이 변경에 따라 연결 수를 기반으로 부과되는 요금의 운영 비용을 절감할 수 있습니다.

  • 로컬 MQTT 서버에 EC(Elliptic Curve) 키를 사용할 수 있습니다. 로컬 MQTT 서버는 RSA 키 외에도 EC 키를 지원합니다. 키 유형과 상관없이 MQTT 서버 인증서에는 SHA-256 RSA 서명이 있습니다. 자세한 설명은 AWS IoT Greengrass 핵심 보안 원칙 섹션을 참조하세요.

  • 에 대한 지원 OpenWrt. AWS IoT Greengrass 코어 소프트웨어 v1.9.2 이상은 Armv8 (AArch64) 및 ARMv7L OpenWrt 아키텍처를 사용하는 배포판에 설치할 수 있습니다. OpenWrt 현재는 ML 추론을 지원하지 않습니다.

  • Armv6l에 대한 지원. AWS IoT Greengrass Armv6l 아키텍처의 Raspbian 배포(예: Raspberry Pi Zero 디바이스)에 코어 소프트웨어 v1.9.3 이상을 설치할 수 있습니다.

  • ALPN을 통한 포트 443의 OTA 업데이트. MQTT 트래픽에 포트 443을 사용하는 Greengrass 코어는 이제 over-the-air (OTA) 소프트웨어 업데이트를 지원합니다. AWS IoT Greengrass애플리케이션 계층 프로토콜 네트워크 (ALPN) TLS 확장을 사용하여 이러한 연결을 활성화합니다. 자세한 내용은 AWS IoT Greengrass 코어 소프트웨어의 OTA 업데이트포트 443에서 또는 네트워크 프록시를 통해 연결 섹션을 참조하세요.

코어 디바이스에 AWS IoT Greengrass 코어 소프트웨어를 설치하려면 아키텍처 및 OS(운영 체제)를 위한 패키지를 다운로드한 후 시작하기 안내서의 단계를 따릅니다.

아키텍처

운영 체제

링크

ARMv8(AArch64)

Linux

다운로드

ARMv8(AArch64)

리눅스 () OpenWrt

다운로드

Armv7l

Linux

다운로드

Armv7l

리눅스 (OpenWrt)

다운로드

Armv6l

Linux

다운로드

x86_64

Linux

다운로드

1.8.4
  • 새로운 기능:

    • 그룹의 Lambda 함수에 대해 구성 가능한 기본 액세스 자격 증명. 이 그룹 레벨 설정은 Lambda 함수를 실행하는 데 사용된 기본 권한을 결정합니다. 사용자 ID, 그룹 ID 또는 둘 다 설정할 수 있습니다. 개별 Lambda 함수는 해당 그룹의 기본 액세스 자격 증명을 재정의할 수 있습니다. 자세한 설명은 그룹에 있는 Lambda 함수의 기본 액세스 자격 증명 설정 섹션을 참조하세요.

    • 포트 443을 통한 HTTPS 트래픽 HTTPS 통신은 기본 포트 8443 대신에 포트 443을 통한 이동을 위해 구성됩니다. 이는 Application Layer Protocol Network (ALPN) TLS 확장에 대한 AWS IoT Greengrass 지원을 보완하고 모든 Greengrass 메시징 트래픽(MQTT 및 HTTPS 모두)이 포트 443을 사용할 수 있도록 합니다. 자세한 설명은 포트 443에서 또는 네트워크 프록시를 통해 연결 섹션을 참조하세요.

    • AWS IoT 연결에 대해 예상 가능한 이름의 클라이언트 ID 이 변경에 따라 AWS IoT Device Defender 및 AWS IoT 수명 주기 이벤트가 지원되므로 연결, 연결 끊기, 구독 및 구독 해제 이벤트에 대한 알림을 받을 수 있습니다. 또한 예상 가능한 이름을 지정하면 연결 ID를 중심으로 논리를 쉽게 만들 수 있습니다(예: 인증서 속성을 기준으로 구독 정책 템플릿을 만드는 경우). 자세한 설명은 AWS IoT를 통한 MQTT 연결용 클라이언트 ID 섹션을 참조하세요.

    버그 수정 및 개선 사항:

    • 섀도우 동기화 및 디바이스 인증서 관리자 재연결 문제를 수정했습니다.

    • 일반 성능 향상 및 버그 수정.

코어 디바이스에 AWS IoT Greengrass 코어 소프트웨어를 설치하려면 아키텍처 및 OS(운영 체제)를 위한 패키지를 다운로드한 후 시작하기 안내서의 단계를 따릅니다.

아키텍처

운영 체제

링크

ARMv8(AArch64)

Linux

다운로드

Armv7l

Linux

다운로드

x86_64

Linux

다운로드

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

디바이스에 AWS IoT Greengrass 코어 소프트웨어를 설치하는 다른 방법에 대한 자세한 내용은 AWS IoT Greengrass 코어 소프트웨어 설치 섹션을 참조하십시오.

 

AWS IoT Greengrass 스냅 소프트웨어

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

참고

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

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

자세한 설명은 스냅에서 AWS IoT Greengrass 실행 섹션을 참조하세요.

 

AWS IoT Greengrass Docker 소프트웨어

AWS는 Docker 컨테이너에서 AWS IoT Greengrass를 쉽게 실행할 수 있도록 Dockerfile과 도커 이미지를 제공합니다.

Dockerfile

Dockerfile에는 사용자 지정 AWS IoT Greengrass 컨테이너 이미지를 빌드하기 위한 소스 코드가 포함되어 있습니다. 다른 플랫폼 아키텍처에서 실행하거나 이미지 크기를 줄이기 위해 이미지를 수정할 수 있습니다. 지침은 README 파일을 참조하세요.

대상 AWS IoT Greengrass Core 소프트웨어 버전을 다운로드합니다.

v1.11
Extended life versions

 

도커 이미지

도커 이미지에는 Amazon Linux 2(x86_64) 및 Alpine Linux(x86_64, Armv7l 또는 AArch64) 기본 이미지에 설치된 AWS IoT Greengrass Core 소프트웨어 및 종속성이 포함되어 있습니다. 미리 빌드된 이미지를 사용하여 AWS IoT Greengrass 실험을 시작할 수 있습니다.

중요

2022년 6월 30일에 AWS IoT Greengrass는 Amazon Elastic Container Registry(Amazon ECR) 및 Docker Hub에 게시된 AWS IoT Greengrass 코어 소프트웨어 v1.x 도커 이미지에 대한 유지 관리를 종료했습니다. 유지 관리 종료 후 1년이 되는 2023년 6월 30일까지 Amazon ECR 및 Docker Hub에서 이 Docker 이미지를 계속 다운로드할 수 있습니다. 그러나 AWS IoT Greengrass Core 소프트웨어 v1.x Docker 이미지는 2022년 6월 30일에 유지 관리가 종료된 이후 더 이상 보안 패치나 버그 수정을 받지 않습니다. 이러한 Docker 이미지를 사용하는 프로덕션 워크로드를 실행하는 경우 AWS IoT Greengrass이(가) 제공하는 Dockerfile을 사용하여 자체 Docker 이미지를 구축하는 것이 좋습니다. 자세한 설명은 AWS IoT Greengrass Version 1 유지 관리 정책 섹션을 참조하세요.

Docker Hub 또는 Amazon Elastic Container Registry(Amazon ECR)에서 이미지를 다운로드할 수 있습니다.

  • Docker Hub의 경우 버전 태그를 사용하여 Greengrass Docker 이미지의 특정 버전을 다운로드할 수 있습니다. 사용 가능한 모든 이미지에 대한 태그를 찾으려면 Docker Hub의 태그 페이지를 확인하십시오.

  • Amazon ECR의 경우 latest 태그를 사용하여 사용 가능한 최신 버전의 Greengrass Docker 이미지를 다운로드할 수 있습니다. 사용 가능한 이미지 버전을 나열하고 Amazon ECR에서 이미지를 다운로드하는 방법에 대한 자세한 내용은 도커 컨테이너에서의 AWS IoT Greengrass 실행 섹션을 참조하세요.

주의

AWS IoT Greengrass코어 소프트웨어 v1.11.6부터 Greengrass Docker 이미지에는 더 이상 Python 2.7이 포함되지 않습니다. Python 2.7이 end-of-life 2020년에 출시되었고 더 이상 보안 업데이트를 받지 않았기 때문입니다. 이러한 Docker 이미지로 업데이트하기로 선택한 경우, 업데이트를 프로덕션 디바이스에 배포하기 전에 애플리케이션이 새 Docker 이미지와 호환되는지 확인하는 것을 권장합니다. Greengrass Docker 이미지를 사용하는 애플리케이션에 Python 2.7이 필요한 경우, Python 2.7을 애플리케이션에 포함하도록 Greengrass Dockerfile을 수정할 수 있습니다.

AWS IoT Greengrass는 AWS IoT Greengrass 코어 소프트웨어 버전 1.11.1의 Docker 이미지를 제공하지 않습니다.

참고

기본적으로 alpine-aarch64alpine-armv7l 이미지는 Arm 기반 호스트에서만 실행할 수 있습니다. x86 호스트에서 이러한 이미지를 실행하려면 QEMU를 설치하고 호스트에 QEMU 라이브러리를 탑재할 수 있습니다. 예:

docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

 

AWS IoT Greengrass 코어 SDK

Lambda 함수는 AWS IoT Greengrass 코어 SDK를 사용해 로컬에서 AWS IoT Greengrass와 상호 작용합니다. 이를 통해 배포된 Lambda 함수로 다음 작업이 가능합니다.

  • MQTT 메시지를 AWS IoT Core와 교환합니다.

  • MQTT 메시지를 Greengrass 그룹의 커넥터, 디바이스, 기타 Lambda 함수와 교환합니다.

  • 로컬 섀도우 서비스와 상호 작용합니다.

  • 다른 로컬 Lambda 함수를 간접적으로 호출합니다.

  • 암호 리소스에 액세스합니다.

  • 스트림 관리자와 상호 작용합니다.

에서 해당 언어 또는 플랫폼에 맞는 AWS IoT Greengrass Core SDK를 다운로드하십시오. GitHub

자세한 설명은 AWS IoT Greengrass 코어 SDK 섹션을 참조하세요.

 

지원되는 기계 학습 런타임 및 라이브러리

Greengrass 코어에 대한 추론을 수행하려면 ML 모델 유형에 맞는 기계 학습 런타임 또는 라이브러리를 설치해야 합니다.

AWS IoT Greengrass는 다음과 같은 ML 모델 유형을 지원합니다. 다음 링크에서 모델 유형 및 디바이스 플랫폼에 맞는 런타임 또는 라이브러리를 설치하는 방법에 대한 정보를 찾을 수 있습니다.

기계 학습 샘플

AWS IoT Greengrass에서는 지원되는 ML 런타임 및 라이브러리와 함께 사용할 수 있는 샘플을 제공합니다. 이러한 샘플은 Greengrass 코어 소프트웨어 라이선스 계약에 따라 릴리스됩니다.

Deep learning runtime (DLR)

사용 중인 디바이스 플랫폼에 해당하는 샘플을 다운로드합니다.

DLR 샘플을 사용하는 튜토리얼은 AWS Management Console을 사용하여 최적화된 기계 학습 추론을 구성하는 방법 섹션을 참조하십시오.

MXNet

사용 중인 디바이스 플랫폼에 해당하는 샘플을 다운로드합니다.

MXNet 샘플을 사용하는 튜토리얼은 AWS Management Console을 사용하여 기계 학습 추론을 구성하는 방법 섹션을 참조하십시오.

TensorFlow

디바이스 플랫폼용 TensorFlow 샘플을 다운로드하십시오. 이 샘플은 Raspberry Pi, NVIDIA Jetson TX2 및 Intel Atom과 함께 작동합니다.

 

AWS IoT Greengrass ML SDK 소프트웨어

AWS IoT Greengrass기계 학습 SDK을 사용하면 사용자가 작성하는 Lambda 함수가 로컬 기계 학습 모델을 사용하고 업로드 및 게시를 위해 ML 피드백 커넥터로 데이터를 전송할 수 있습니다.

v1.1.0
v1.0.0

연락을 기다리겠습니다.

우리는 여러분의 의견을 환영합니다. 문의하려면 AWS re:Post를 방문하여 AWS IoT Greengrass태그를 사용하십시오.