AWS IoT Greengrass에 대한 Lambda 함수 구성 - 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에 대한 Lambda 함수 구성

이제 AWS IoT Greengrass에 대해 Lambda 함수를 구성할 준비가 되었습니다.

이 단계에서는 다음을 수행합니다.

  • 먼저 AWS IoT 콘솔을 사용하여 Greengrass 그룹에 Lambda 함수를 추가합니다.

  • Lambda 함수에 대한 그룹별 설정을 구성합니다.

  • Lambda 함수가 MQTT 메시지를 AWS IoT에 게시할 수 있도록 그룹에 구독을 추가합니다.

  • 그룹에 대한 로컬 로그 설정을 구성합니다.

 

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

  2. Greengrass 그룹에서 모듈 2에서 생성한 그룹을 선택합니다.

  3. 그룹 구성 페이지에서 Lambda 함수 탭을 선택한 다음 내 Lambda 함수 섹션으로 스크롤하여 Lambda 함수 추가를 선택합니다.

  4. 이전 단계에서 생성한 Lambda 함수의 이름을 선택합니다. (별칭 이름이 아닌 Greengrass_HelloWorld)

  5. 버전에는 Alias: GG_HelloWorld를 선택합니다.

  6. Lambda 함수 구성 섹션에서 다음과 같이 변경합니다.

    • 시스템 사용자 및 그룹그룹 기본값 사용으로 설정합니다.

    • 그룹 기본값 사용Lambda 함수 컨테이너화를 설정합니다.

    • 제한 시간을 25초로 설정합니다. 이 Lambda 함수는 매 간접 호출 전에 20초 동안 대기 상태를 유지합니다.

    • 고정된 경우 True를 선택합니다.

     

    참고

    수명이 긴(또는 고정) Lambda 함수는 AWS IoT Greengrass가 시작된 후 자동으로 시작되며, 자체 컨테이너에서 계속 실행됩니다. 이는 간접 호출되면 시작되고 실행할 작업이 남아 있지 않으면 중지되는 온디맨드 Lambda 함수와 상반됩니다. 자세한 내용은 Greengrass Lambda 함수의 라이프사이클 구성 섹션을 참조하세요.

  7. Lambda 함수 추가를 선택하여 변경 사항을 저장합니다. Lambda 함수 속성에 대한 자세한 내용은 그룹별 구성을 사용한 Lambda 함수 실행 제어을 참조하십시오.

    그런 다음 Lambda 함수가 MQTT 메시지를 AWS IoT Core로 전송하는 데 사용하는 구독을 생성합니다.

    Greengrass Lambda 함수는 MQTT 메시지를 다음과 교환할 수 있습니다.

    그룹은 구독을 사용하여 이러한 엔터티가 서로 통신하는 방법을 제어합니다. 구독은 예측 가능한 상호 작용과 보안 계층을 제공합니다.

    구독은 소스, 대상 및 주제로 구성됩니다. 소스는 메시지의 전송 위치입니다. 대상은 메시지의 목적지입니다. 해당 주제를 사용하면 소스에서 대상으로 전송되는 데이터를 필터링할 수 있습니다. 소스 또는 대상은 Greengrass 디바이스, Lambda 함수, 커넥터, 디바이스 섀도우 또는 AWS IoT Core일 수 있습니다.

    참고

    메시지가 특정 방향으로 흐른다는 점에서 구독에는 방향(소스에서 대상으로)이 있습니다. 양방향 통신이 가능하려면 2개의 구독을 설정해야 합니다.

    참고

    현재 구독 주제 필터는 주제에 하나 이상의 + 글자를 포함할 수 없습니다. 주제 필터는 주제의 끝에 하나의 # 문자만 허용합니다.

    Greengrass_HelloWorld Lambda 함수는 AWS IoT Core의 hello/world주제에만 메시지를 전송하므로 Lambda 함수에서 AWS IoT Core로의 구독을 하나만 생성해야 합니다. 이 작업은 다음 단계에서 생성합니다.

  8. 그룹 구성 페이지에서 구독을 선택한 다음 구독 추가를 선택합니다.

    AWS CLI을(를) 사용하여 구독을 생성하는 방법을 보여주는 예제는 AWS CLI 명령 참조create-subscription-definition을 참조하십시오.

  9. 소스 유형에서 Lambda 함수를 선택하고, 소스에서는 GreenGrass_HelloWorld를 선택합니다.

  10. 대상 유형으로는 서비스를 선택하고, 대상에는 IoT Cloud를 선택합니다.

  11. 주제 필터hello/world을(를) 입력한 다음 구독 생성을 선택합니다.

  12. 그룹의 로깅 설정을 구성합니다. 이 자습서에서는 로그를 코어 디바이스의 파일 시스템에 쓸 수 있도록 AWS IoT Greengrass 시스템 구성 요소와 사용자 정의 Lambda 함수를 구성합니다.

    1. 그룹 구성 페이지에서 로그을 선택합니다.

    2. 로컬 로그 구성 섹션에서 편집을 선택합니다.

    3. 로컬 로그 구성 편집 대화 상자에서 로그 수준 및 저장소 크기 모두에 대한 기본값을 유지한 다음 저장을 선택합니다.

    로그를 사용하여 이 자습서를 실행할 때 발생할 수 있는 문제를 해결할 수 있습니다. 문제를 해결할 때 일시적으로 로깅 수준을 디버그로 변경할 수 있습니다. 자세한 내용은 파일 시스템 로그 액세스 섹션을 참조하세요.

  13. Java 8 런타임이 코어 디바이스에 설치되지 않은 경우 Java 8 런타임을 설치하거나 스트림 관리자를 비활성화해야 합니다.

    참고

    이 자습서에서는 스트림 관리자를 사용하지 않지만 기본적으로 스트림 관리자를 활성화하는 기본 그룹 생성 워크플로를 사용합니다. 스트림 관리자를 활성화했지만 Java 8이 설치되지 않은 경우 그룹 배포가 실패합니다. 자세한 내용은 스트림 관리자 요구 사항을 참조하십시오.

    스트림 관리자를 비활성화하려면 다음을 수행합니다.

    1. 그룹 설정 페이지에서 Lambda 함수 탭을 선택합니다.

    2. 시스템 Lambda 함수 섹션에서 스트림 관리자를 선택하고 편집을 선택합니다.

    3. 비활성화를 선택한 다음 저장을 선택합니다.