

지원 종료 공지: 2026년 10월 7일에는에 대한 지원을 중단할 AWS 예정입니다 AWS IoT Greengrass Version 1. 2026년 10월 7일 이후에는 더 이상 AWS IoT Greengrass V1 리소스에 액세스할 수 없습니다. 자세한 내용은 [에서 마이그레이션 AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html)을 참조하세요.

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

# 에 대한 Lambda 함수 구성 AWS IoT Greengrass
<a name="config-lambda"></a>

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

이 단계에서는 다음을 수행합니다.
+  AWS IoT 콘솔을 사용하여 Greengrass 그룹에 Lambda 함수를 추가합니다.
+ Lambda 함수에 대한 그룹별 설정을 구성합니다.
+ Lambda 함수가 MQTT 메시지를 AWS IoT에 게시할 수 있도록 그룹에 구독을 추가합니다.
+ 그룹에 대한 로컬 로그 설정을 구성합니다.

 

1. <a name="console-gg-groups"></a> AWS IoT 콘솔 탐색 창의 **관리**에서 **Greengrass 디바이스**를 확장한 다음 **그룹(V1)을** 선택합니다.

1. **Greengrass 그룹**에서 [모듈 2](module2.md)에서 생성한 그룹을 선택합니다.

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

1. 이전 단계에서 생성한 Lambda 함수의 이름을 선택합니다. (별칭 이름이 아닌 **Greengrass\$1HelloWorld**)

1. 버전에는 **Alias: GG\$1HelloWorld**를 선택합니다.

1. **Lambda 함수 구성** 섹션에서 다음과 같이 변경합니다.
   + **시스템 사용자 및 그룹**을 **그룹 기본값 사용**으로 설정합니다.
   + **그룹 기본값 사용**에 **Lambda 함수 컨테이너화**를 설정합니다.
   + **제한 시간**을 25초로 설정합니다. 이 Lambda 함수는 매 간접 호출 전에 20초 동안 대기 상태를 유지합니다.
   + **고정된** 경우 **True**를 선택합니다.

    
**참고**  
<a name="long-lived-lambda"></a>*수명이 긴*(또는 *고정된*) Lambda 함수는가 시작된 후 자동으로 AWS IoT Greengrass 시작되고 자체 컨테이너에서 계속 실행됩니다. 이는 간접 호출되면 시작되고 실행할 작업이 남아 있지 않으면 중지되는 *온디맨드* Lambda 함수와 상반됩니다. 자세한 내용은 [Greengrass Lambda 함수의 라이프사이클 구성](lambda-functions.md#lambda-lifecycle) 단원을 참조하십시오.

1. **Lambda 함수 추가**를 선택하여 변경 사항을 저장합니다. Lambda 함수 속성에 대한 자세한 내용은 [그룹별 구성을 사용한 Lambda 함수 실행 제어](lambda-group-config.md)을 참조하십시오.

   그런 다음 Lambda 함수가 [MQTT](http://mqtt.org/) 메시지를 AWS IoT Core로 전송하는 데 사용하는 구독을 생성합니다.

   Greengrass Lambda 함수는 MQTT 메시지를 다음과 교환할 수 있습니다.
   + Greengrass 그룹에서의 [장치](what-is-gg.md#greengrass-devices)
   + 그룹 내의 [커넥터](connectors.md).
   + 그룹의 기타 Lambda 함수입니다.
   + AWS IoT Core.
   + 로컬 섀도우 서비스 자세한 내용은 [모듈 5: 장치 섀도우와 상호 작용](module5.md) 단원을 참조하십시오.

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

   구독은 소스, 대상 및 주제로 구성됩니다. 소스는 메시지의 전송 위치입니다. 대상은 메시지의 목적지입니다. 해당 주제를 사용하면 소스에서 대상으로 전송되는 데이터를 필터링할 수 있습니다. 소스 또는 대상은 Greengrass 장치, Lambda 함수, 커넥터, 장치 섀도우 또는 AWS IoT Core일 수 있습니다.
**참고**  
메시지가 특정 방향으로 흐른다는 점에서 구독에는 방향(소스에서 대상으로)이 있습니다. 양방향 통신이 가능하려면 2개의 구독을 설정해야 합니다.
**참고**  
 현재 구독 주제 필터는 주제에 하나 이상의 `+` 글자를 포함할 수 없습니다. 주제 필터는 주제의 끝에 하나의 `#` 문자만 허용합니다.

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

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

    AWS CLI을(를) 사용하여 구독을 생성하는 방법을 보여주는 예제는 *AWS CLI 명령 참조*의 [create-subscription-definition](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/greengrass/create-subscription-definition.html)을 참조하십시오.

1. **소스 유형**에서 **Lambda 함수**를 선택하고, **소스**에서는 **GreenGrass\$1HelloWorld**를 선택합니다.

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

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

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

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

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

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

   로그를 사용하여 이 자습서를 실행할 때 발생할 수 있는 문제를 해결할 수 있습니다. 문제를 해결할 때 일시적으로 로깅 수준을 **디버그**로 변경할 수 있습니다. 자세한 내용은 [파일 시스템 로그 액세스](greengrass-logs-overview.md#gg-logs-local) 단원을 참조하십시오.

1. <a name="disable-stream-manager-no-java"></a>Java 8 런타임이 코어 장치에 설치되지 않은 경우 Java 8 런타임을 설치하거나 스트림 관리자를 비활성화해야 합니다.
**참고**  
이 튜토리얼에서는 스트림 관리자를 사용하지 않지만 기본적으로 스트림 관리자를 활성화하는 **기본 그룹 생성** 워크플로를 사용합니다. 스트림 관리자를 활성화했지만 Java 8이 설치되지 않은 경우 그룹 배포가 실패합니다. 자세한 내용은 [스트림 관리자 요구 사항](stream-manager.md#stream-manager-requirements)을 참조하십시오.

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

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

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

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