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 코어에서 스트림 관리자는 IoT 디바이스 데이터를 저장, 처리 및 내보낼 수 있습니다. 스트림 관리자는 그룹 수준의 런타임 설정을 구성하는 데 사용하는 파라미터를 제공합니다. 이러한 설정은 Greengrass 코어의 모든 스트림에 적용됩니다. AWS IoT 콘솔 또는 AWS IoT Greengrass API를 사용하여 스트림 관리자 설정을 구성할 수 있습니다. 변경 사항은 그룹이 배포된 후에 적용됩니다.

참고

스트림 관리자를 구성한 후에는 Greengrass 코어에서 실행되는 IoT 애플리케이션을 생성 및 배포하고 스트림 관리자와 상호 작용할 수 있습니다. 이러한 IoT 애플리케이션은 일반적으로 사용자 정의 Lambda 함수입니다. 자세한 내용은 StreamManagerClient를 사용하여 스트림 작업 섹션을 참조하세요.

스트림 관리자 파라미터

스트림 관리자는 그룹 수준 설정을 정의할 수 있도록 다음과 같은 파라미터를 제공합니다. 모든 파라미터는 선택 사항입니다.

스토리지 디렉터리

파라미터 이름: STREAM_MANAGER_STORE_ROOT_DIR

스트림을 저장하는 데 사용되는 로컬 디렉터리의 절대 경로입니다. 이 값은 슬래시로 시작해야 합니다(예: /data).

스트림 데이터 보안에 대한 자세한 내용은 로컬 데이터 보안 섹션을 참조하십시오.

최소 AWS IoT Greengrass 코어 버전: 1.10.0

[Server port]

파라미터 이름: STREAM_MANAGER_SERVER_PORT

스트림 관리자와 통신하는 데 사용되는 로컬 포트 번호입니다. 기본값은 8088입니다.

최소 AWS IoT Greengrass 코어 버전: 1.10.0

클라이언트 인증

파라미터 이름: STREAM_MANAGER_AUTHENTICATE_CLIENT

스트림 관리자와 상호 작용하기 위해 클라이언트가 인증되어야 하는지 여부를 나타냅니다. 클라이언트와 스트림 관리자 간의 모든 상호 작용은 AWS IoT Greengrass Core SDK에 의해 제어됩니다. 이 파라미터는 AWS IoT Greengrass Core SDK를 호출하여 스트림 작업을 수행할 수 있는 클라이언트를 결정합니다. 자세한 내용은 클라이언트 인증 섹션을 참조하세요.

유효한 값은 true 또는 false입니다. 기본값은 true입니다(권장).

  • true. Greengrass Lambda 함수만 클라이언트로 사용할 수 있습니다. Lambda 함수 클라이언트는 AWS IoT Greengrass 코어 프로토콜을 사용하여 AWS IoT Greengrass Core SDK로 인증합니다.

  • false. AWS IoT Greengrass 코어에서 실행되는 모든 프로세스를 클라이언트로 허용합니다. 비즈니스 사례에 필요한 경우가 아니면 false로 설정하지 마십시오. 예를 들어 코어 디바이스의 비 Lambda 프로세스가 스트림 관리자(예: 코어에서 실행되는 Docker 컨테이너)와 직접 통신해야 하는 경우에만 이 값을 false로 설정합니다.

최소 AWS IoT Greengrass 코어 버전: 1.10.0

최대 대역폭

파라미터 이름: STREAM_MANAGER_EXPORTER_MAX_BANDWIDTH

데이터를 내보내는 데 사용할 수 있는 평균 최대 대역폭(초당 킬로비트)입니다. 기본값은 사용 가능한 대역폭을 무제한으로 사용할 수 있도록 허용합니다.

최소 AWS IoT Greengrass 코어 버전: 1.10.0

스레드 풀 크기

파라미터 이름: STREAM_MANAGER_EXPORTER_THREAD_POOL_SIZE

데이터를 내보내는 데 사용할 수 있는 최대 활성 스레드 수입니다. 기본값은 5입니다.

최적의 크기는 하드웨어, 스트림 볼륨 및 계획된 내보내기 스트림 수에 따라 다릅니다. 내보내기 속도가 느린 경우 이 설정을 조정하여 하드웨어 및 비즈니스 사례에 가장 적합한 크기를 찾을 수 있습니다. 코어 디바이스 하드웨어의 CPU 및 메모리는 제한적인 요소입니다. 시작을 위해 이 값을 디바이스의 프로세서 코어 수와 동일하게 설정해 볼 수 있습니다.

하드웨어가 지원할 수 있는 크기 보다 크게 설정하지 않도록 주의하십시오. 각 스트림은 하드웨어 리소스를 소비하므로 제한된 디바이스에서 내보내기 스트림 수를 제한해야 합니다.

최소 AWS IoT Greengrass 코어 버전: 1.10.0

JVM 인수

파라미터 이름: JVM_ARGS

시작 시 스트림 관리자에게 전달할 사용자 정의 Java 가상 머신 인수입니다. 여러 인수는 공백으로 구분해야 합니다.

JVM에서 사용하는 기본 설정을 재정의해야 하는 경우에만 이 파라미터를 사용합니다. 예를 들어 많은 수의 스트림을 내보낼 계획이 있다면 기본 힙 크기를 늘려야 할 수 있습니다.

최소 AWS IoT Greengrass 코어 버전: 1.10.0

읽기 전용 입력 파일 디렉터리

파라미터 이름: STREAM_MANAGER_READ_ONLY_DIRS

입력 파일을 저장하는 루트 파일 시스템 외부의 디렉터리에 대한 절대 경로를 쉼표로 구분한 목록입니다. 스트림 관리자는 Amazon S3에 파일을 읽고 업로드하고 디렉터리를 읽기 전용으로 마운트합니다. Amazon S3에 로그 데이터 내보내기에 대한 자세한 내용은 Amazon S3 객체 섹션을 참조하세요.

다음 조건이 충족되는 경우에만 이 파라미터를 사용하십시오.

  • Amazon S3로 내보내는 스트림의 입력 파일 디렉터리는 다음 위치 중 하나에 있습니다.

    • 루트 파일 시스템이 아닌 파티션.

    • 루트 파일 시스템의 /tmp 아래.

  • Greengrass 그룹의 기본 컨테이너화는 Greengrass 컨테이너입니다.

예제 값: /mnt/directory-1,/mnt/directory-2,/tmp

최소 AWS IoT Greengrass 코어 버전: 1.11.0

멀티파트 업로드의 최소 크기

파라미터 이름: STREAM_MANAGER_EXPORTER_S3_DESTINATION_MULTIPART_UPLOAD_MIN_PART_SIZE_BYTES

Amazon S3에 대한 멀티파트 업로드의 최소 부분 크기(바이트). 스트림 관리자는 이 설정과 입력 파일의 크기를 사용하여 멀티파트 PUT 요청에서 데이터를 일괄 처리하는 방법을 결정합니다. 기본값 및 최소값은 5242880 바이트(5MB)입니다.

참고

스트림 관리자는 스트림의 sizeThresholdForMultipartUploadBytes 속성을 사용하여 Amazon S3에 단일 업로드로 내보낼지 멀티파트 업로드로 내보낼지 결정합니다. 사용자 정의 Lambda 함수는 Amazon S3로 내보내는 스트림을 생성할 때 이 임계값을 설정합니다. 기본 임계값 크기는 5MB입니다.

최소 AWS IoT Greengrass 코어 버전: 1.11.0

스트림 관리자 설정 구성(콘솔)

다음과 같은 관리 작업에서 AWS IoT 콘솔을 사용할 수 있습니다.

변경 사항은 Greengrass 그룹이 배포된 후에 적용됩니다. 스트림 관리자와 상호 작용하는 Lambda 함수를 포함하는 Greengrass 그룹을 배포하는 방법을 보여주는 튜토리얼은 AWS 클라우드 클라우드로 데이터 스트림 내보내기(콘솔)을 참조하십시오.

참고

콘솔을 사용하여 스트림 관리자를 활성화하고 그룹을 배포하는 경우 스트림 관리자의 메모리 크기가 기본 4GB로 설정됩니다. 메모리 크기를 최소 128,000KB로 설정하는 것이 좋습니다.

 

스트림 관리자가 활성화되어 있는지 확인하려면(콘솔)

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

  2. 대상 그룹을 선택합니다.

  3. Lambda 함수 탭을 선택합니다.

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

  5. 활성화 또는 비활성화 상태를 확인합니다. 구성된 모든 사용자 지정 스트림 관리자 설정도 표시됩니다.

 

그룹 생성 중에 스트림 관리자를 활성화 또는 비활성화하려면(콘솔)

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

  2. 그룹 생성을 선택합니다. 다음 페이지에서 선택한 항목에 따라 그룹에 대한 스트림 관리자를 구성하는 방법이 결정됩니다.

  3. 그룹 이름 지정을 진행하고 Greengrass 코어 페이지를 선택합니다.

  4. 그룹 생성을 선택합니다.

  5. 그룹 구성 페이지에서 Lambda 함수 탭을 선택하고 스트림 관리자를 선택한 다음 편집을 선택합니다.

    • 스트림 관리자를 기본 설정으로 활성화하려면 기본 설정으로 활성화를 선택합니다.

       

    • 사용자 지정 설정으로 스트림 관리자를 활성화하려면 설정 사용자 지정을 선택합니다.

      1. 스트림 관리자 구성 페이지에서 사용자 지정 설정으로 활성화를 선택합니다.

      2. 사용자 정의 설정에 스트림 관리자 파라미터의 값을 입력합니다. 자세한 내용은 스트림 관리자 파라미터 섹션을 참조하세요. AWS IoT Greengrass이 기본값을 사용할 수 있도록 필드를 비워 둡니다.

         

    • 스트림 관리자를 비활성화하려면 비활성화를 선택합니다.

      1. Configure stream manager(스트림 관리자 구성) 페이지에서 비활성화를 선택합니다.

         

  6. Save를 선택합니다.

  7. 나머지 페이지를 계속 진행하여 그룹을 생성합니다.

  8. 클라이언트 디바이스 페이지에서 보안 리소스를 다운로드하고 정보를 검토한 다음, 완료를 선택합니다.

    참고

    스트림 관리자가 활성화된 경우 그룹을 배포하기 전에 코어 디바이스에 Java 8 런타임을 설치해야 합니다.

 

기존 그룹에 대해 스트림 관리자를 활성화 또는 비활성화하려면(콘솔)

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

  2. 대상 그룹을 선택합니다.

  3. Lambda 함수 탭을 선택합니다.

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

  5. 활성화 또는 비활성화 상태를 확인합니다. 구성된 모든 사용자 지정 스트림 관리자 설정도 표시됩니다.

 

스트림 관리자 설정을 변경하려면(콘솔)

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

  2. 대상 그룹을 선택합니다.

  3. Lambda 함수 탭을 선택합니다.

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

  5. 활성화 또는 비활성화 상태를 확인합니다. 구성된 모든 사용자 지정 스트림 관리자 설정도 표시됩니다.

  6. Save를 선택합니다.

스트림 관리자 설정 구성(CLI)

AWS CLI에서는 시스템 GGStreamManager Lambda 함수를 사용하여 스트림 관리자를 구성합니다. 시스템 Lambda 함수는 AWS IoT Greengrass 코어 소프트웨어의 구성 요소입니다. 스트림 관리자 및 일부 기타 시스템 Lambda 함수의 경우 Greengrass 그룹에서 해당 FunctionFunctionDefinitionVersion 객체를 관리하여 Greengrass 기능을 구성할 수 있습니다. 자세한 내용은 AWS IoT Greengrass 그룹 객체 모델 개요 섹션을 참조하세요.

다음과 같은 관리 작업에서 API를 사용할 수 있습니다. 이 섹션의 예제는 AWS CLI를 사용하는 방법을 보여 주지만 AWS IoT Greengrass API를 직접 호출하거나 AWS SDK를 사용할 수도 있습니다.

변경 사항은 그룹이 배포된 후에 적용됩니다. 스트림 관리자와 상호 작용하는 Lambda 함수를 사용하여 Greengrass 그룹을 배포하는 방법을 보여주는 튜토리얼은 AWS 클라우드로 데이터 스트림 내보내기(CLI) 섹션을 참조하십시오.

작은 정보

스트림 관리자가 활성화되어 있고 코어 디바이스에서 실행 중인지 확인하려면 디바이스의 터미널에서 다음 명령을 실행할 수 있습니다.

ps aux | grep -i 'streammanager'

 

스트림 관리자가 활성화되어 있는지 확인하려면(CLI)

배포된 함수 정의 버전에 시스템 GGStreamManager Lambda 함수가 포함되어 있으면 스트림 관리자가 활성화됩니다. 확인하려면 다음을 수행하십시오.

  1. 대상 Greengrass 그룹 및 그룹 버전의 ID를 확인합니다. 이 절차에서는 이것이 최신 그룹 및 그룹 버전이라고 가정합니다. 다음 쿼리는 가장 최근에 생성된 그룹을 반환합니다.

    aws greengrass list-groups --query "reverse(sort_by(Groups, &CreationTimestamp))[0]"

    또는 이름으로 쿼리할 수도 있습니다. 그룹 이름은 고유한 이름이 아니어도 되므로 여러 그룹을 반환할 수도 있습니다.

    aws greengrass list-groups --query "Groups[?Name=='MyGroup']"
    참고

    AWS IoT 콘솔에서도 이러한 값을 찾을 수 있습니다. 그룹 ID는 그룹의 설정 페이지에 표시됩니다. 그룹 버전 ID는 그룹의 배포 탭에 표시됩니다.

  2. 출력에서 대상 그룹의 IdLatestVersion 값을 복사합니다.

  3. 최신 그룹 버전을 확인합니다.

    • group-id를 복사한 Id로 바꿉니다.

    • latest-group-version-id를 복사한 LatestVersion으로 바꿉니다.

    aws greengrass get-group-version \ --group-id group-id \ --group-version-id latest-group-version-id
  4. 출력의 FunctionDefinitionVersionArn에서 함수 정의 및 함수 정의 버전의 ID를 복사합니다.

    • 함수 정의 ID는 Amazon 리소스 이름(ARN)의 functions 세그먼트 뒤에 나오는 GUID입니다.

    • 함수 정의 버전 ID는 ARN의 versions 세그먼트 뒤에 나오는 GUID입니다.

    arn:aws:greengrass:us-west-2:123456789012:/greengrass/definition/functions/function-definition-id/versions/function-definition-version-id
  5. 함수 정의 버전을 가져옵니다.

    • function-definition-id를 함수 정의 ID로 바꿉니다.

    • function-definition-version-id를 함수 정의 버전 ID로 바꿉니다.

    aws greengrass get-function-definition-version \ --function-definition-id function-definition-id \ --function-definition-version-id function-definition-version-id

출력의 functions 배열이 GGStreamManager 함수를 포함하는 경우, 스트림 관리자가 활성화됩니다. 함수에 대해 정의된 모든 환경 변수는 스트림 관리자의 사용자 지정 설정을 나타냅니다.

스트림 관리자를 활성화, 비활성화 또는 구성하려면(CLI)

AWS CLI에서는 시스템 GGStreamManager Lambda 함수를 사용하여 스트림 관리자를 구성합니다. 변경 사항은 그룹을 배포한 후에 적용됩니다.

  • 스트림 관리자를 활성화하려면 함수 정의 버전의 functions 배열에 GGStreamManager을 포함시킵니다. 사용자 지정 설정을 구성하려면 해당 스트림 관리자 파라미터에 대한 환경 변수를 정의합니다.

  • 스트림 관리자를 비활성화하려면 함수 정의 버전의 functions 배열에서 GGStreamManager을 제거합니다.

기본 설정의 스트림 관리자

다음 예제 구성에서는 기본 설정으로 스트림 관리자를 활성화합니다. 임의의 함수 ID를 streamManager로 설정합니다.

{ "FunctionArn": "arn:aws:lambda:::function:GGStreamManager:1", "FunctionConfiguration": { "MemorySize": 4194304, "Pinned": true, "Timeout": 3 }, "Id": "streamManager" }
참고

FunctionConfiguration 속성의 경우 다음 사항을 알고 있을 수 있습니다.

  • MemorySize는 기본 설정으로 4194304KB(4GB)로 설정됩니다. 이 값은 언제든지 변경할 수 있습니다. 최소 128,000KB로 MemorySize를 설정하는 것이 좋습니다.

  • Pinnedtrue로 설정해야 합니다.

  • Timeout은 함수 정의 버전에서 필요하지만, GGStreamManager에서는 이를 사용하지 않습니다.

사용자 지정 설정의 스트림 관리자

다음 예제 구성에서는 스토리지 디렉터리, 서버 포트 및 스레드 풀 크기 파라미터에 대한 사용자 지정 값을 사용하여 스트림 관리자를 활성화합니다.

{ "FunctionArn": "arn:aws:lambda:::function:GGStreamManager:1", "FunctionConfiguration": { "Environment": { "Variables": { "STREAM_MANAGER_STORE_ROOT_DIR": "/data", "STREAM_MANAGER_SERVER_PORT": "1234", "STREAM_MANAGER_EXPORTER_THREAD_POOL_SIZE": "4" } }, "MemorySize": 4194304, "Pinned": true, "Timeout": 3 }, "Id": "streamManager" }

AWS IoT Greengrass는 환경 변수로 지정되지 않은 스트림 관리자 파라미터에 대해 기본값을 사용합니다.

Amazon S3 내보내기에 대한 사용자 지정 설정이 포함된 스트림 관리자

다음 예제 구성을 사용하면 스트림 관리자가 업로드 디렉터리 및 최소 멀티파트 업로드 크기 파라미터에 대한 사용자 지정 값을 사용할 수 있습니다.

{ "FunctionArn": "arn:aws:lambda:::function:GGStreamManager:1", "FunctionConfiguration": { "Environment": { "Variables": { "STREAM_MANAGER_READ_ONLY_DIRS": "/mnt/directory-1,/mnt/directory-2,/tmp", "STREAM_MANAGER_EXPORTER_S3_DESTINATION_MULTIPART_UPLOAD_MIN_PART_SIZE_BYTES": "10485760" } }, "MemorySize": 4194304, "Pinned": true, "Timeout": 3 }, "Id": "streamManager" }

 

스트림 관리자를 활성화, 비활성화 또는 구성하려면(CLI)
  1. 대상 Greengrass 그룹 및 그룹 버전의 ID를 확인합니다. 이 절차에서는 이것이 최신 그룹 및 그룹 버전이라고 가정합니다. 다음 쿼리는 가장 최근에 생성된 그룹을 반환합니다.

    aws greengrass list-groups --query "reverse(sort_by(Groups, &CreationTimestamp))[0]"

    또는 이름으로 쿼리할 수도 있습니다. 그룹 이름은 고유한 이름이 아니어도 되므로 여러 그룹을 반환할 수도 있습니다.

    aws greengrass list-groups --query "Groups[?Name=='MyGroup']"
    참고

    AWS IoT 콘솔에서도 이러한 값을 찾을 수 있습니다. 그룹 ID는 그룹의 설정 페이지에 표시됩니다. 그룹 버전 ID는 그룹의 배포 탭에 표시됩니다.

  2. 출력에서 대상 그룹의 IdLatestVersion 값을 복사합니다.

  3. 최신 그룹 버전을 확인합니다.

    • group-id를 복사한 Id로 바꿉니다.

    • latest-group-version-id를 복사한 LatestVersion으로 바꿉니다.

    aws greengrass get-group-version \ --group-id group-id \ --group-version-id latest-group-version-id
  4. FunctionDefinitionVersionArn을 제외한 CoreDefinitionVersionArn 및 모든 버전 ARN을 출력에서 복사합니다. 나중에 새 그룹 버전을 만들 때 이러한 값들이 사용됩니다.

  5. 출력의 FunctionDefinitionVersionArn에서 함수 정의의 ID를 복사합니다. 다음 예제에서와 같이, ARN에서 functions 세그먼트 다음에 나오는 GUID가 ID가 됩니다.

    arn:aws:greengrass:us-west-2:123456789012:/greengrass/definition/functions/bcfc6b49-beb0-4396-b703-6dEXAMPLEcu5/versions/0f7337b4-922b-45c5-856f-1aEXAMPLEsf6
    참고

    또는 create-function-definition 명령을 실행하여 함수 정의를 생성하고, 출력에서 ID를 복사할 수 있습니다.

  6. 함수 정의에 함수 정의 버전을 추가합니다.

    • function-definition-id를 함수 정의에서 복사한 Id로 바꿉니다.

    • functions 배열에 Greengrass 코어에 사용할 수 있게 하려는 다른 모든 함수를 포함시킵니다. get-function-definition-version 명령을 사용하여 기존 함수 목록을 가져올 수 있습니다.

     

    기본 설정으로 스트림 관리자 활성화

    다음 예제에서는 functions 배열에 GGStreamManager 함수를 포함하여 스트림 관리자를 활성화합니다. 이 예제에서는 스트림 관리자 파라미터에 기본값을 사용합니다.

    aws greengrass create-function-definition-version \ --function-definition-id function-definition-id \ --functions '[ { "FunctionArn": "arn:aws:lambda:::function:GGStreamManager:1", "FunctionConfiguration": { "MemorySize": 4194304, "Pinned": true, "Timeout": 3 }, "Id": "streamManager" }, { "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:MyLambdaFunction:MyAlias", "FunctionConfiguration": { "Executable": "myLambdaFunction.function_handler", "MemorySize": 16000, "Pinned": true, "Timeout": 5 }, "Id": "myLambdaFunction" }, ... more user-defined functions ] }'
    참고

    이 예제의 myLambdaFunction 함수는 사용자 정의 Lambda 함수 중 하나를 나타냅니다.

    사용자 지정 설정으로 스트림 관리자 활성화

    다음 예제에서는 functions 배열에 GGStreamManager 함수를 포함하여 스트림 관리자를 활성화합니다. 기본값을 변경하지 않는 한 모든 스트림 관리자 설정은 선택 사항입니다. 이 예제에서는 환경 변수를 사용하여 사용자 지정 값을 설정하는 방법을 보여줍니다.

    aws greengrass create-function-definition-version \ --function-definition-id function-definition-id \ --functions '[ { "FunctionArn": "arn:aws:lambda:::function:GGStreamManager:1", "FunctionConfiguration": { "Environment": { "Variables": { "STREAM_MANAGER_STORE_ROOT_DIR": "/data", "STREAM_MANAGER_SERVER_PORT": "1234", "STREAM_MANAGER_EXPORTER_THREAD_POOL_SIZE": "4" } }, "MemorySize": 4194304, "Pinned": true, "Timeout": 3 }, "Id": "streamManager" }, { "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:MyLambdaFunction:MyAlias", "FunctionConfiguration": { "Executable": "myLambdaFunction.function_handler", "MemorySize": 16000, "Pinned": true, "Timeout": 5 }, "Id": "myLambdaFunction" }, ... more user-defined functions ] }'
    참고

    FunctionConfiguration 속성의 경우 다음 사항을 알고 있을 수 있습니다.

    • MemorySize는 기본 설정으로 4194304KB(4GB)로 설정됩니다. 이 값은 언제든지 변경할 수 있습니다. 최소 128,000KB로 MemorySize를 설정하는 것이 좋습니다.

    • Pinnedtrue로 설정해야 합니다.

    • Timeout은 함수 정의 버전에서 필요하지만, GGStreamManager에서는 이를 사용하지 않습니다.

    스트림 관리자 비활성화

    다음 예제에서는 GGStreamManager 함수를 생략하여 스트림 관리자를 비활성화합니다.

    aws greengrass create-function-definition-version \ --function-definition-id function-definition-id \ --functions '[ { "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:MyLambdaFunction:MyAlias", "FunctionConfiguration": { "Executable": "myLambdaFunction.function_handler", "MemorySize": 16000, "Pinned": true, "Timeout": 5 }, "Id": "myLambdaFunction" }, ... more user-defined functions ] }'
    참고

    Lambda 함수를 배포하지 않으려면 함수 정의 버전을 완전히 생략할 수 있습니다.

  7. 출력에서 함수 정의 버전의 Arn를 복사합니다.

  8. 시스템 Lambda 함수를 포함하는 그룹 버전을 만듭니다.

    • group-id를 그룹의 Id로 바꿉니다.

    • core-definition-version-arn을 최신 그룹 버전에서 복사한 CoreDefinitionVersionArn으로 바꿉니다.

    • function-definition-version-arn을 새 함수 정의 버전에서 복사한 Arn으로 바꿉니다.

    • 최신 그룹 버전에서 복사한 다른 그룹 구성 요소의 ARN(예: SubscriptionDefinitionVersionArn 또는 DeviceDefinitionVersionArn)을 바꿉니다.

    • 사용되지 않은 파라미터를 모두 제거합니다. 예를 들어 그룹 버전에 리소스가 포함되어 있지 않으면 --resource-definition-version-arn을 제거합니다.

    aws greengrass create-group-version \ --group-id group-id \ --core-definition-version-arn core-definition-version-arn \ --function-definition-version-arn function-definition-version-arn \ --device-definition-version-arn device-definition-version-arn \ --logger-definition-version-arn logger-definition-version-arn \ --resource-definition-version-arn resource-definition-version-arn \ --subscription-definition-version-arn subscription-definition-version-arn
  9. 출력에서 Version을 복사합니다. 새 그룹 버전의 ID가 이 값이 됩니다.

  10. 새로운 그룹 버전을 사용하여 그룹을 배포합니다.

    • group-id를 해당 그룹에서 복사한 Id로 바꿉니다.

    • group-version-id를 새 그룹 버전에서 복사한 Version으로 바꿉니다.

    aws greengrass create-deployment \ --group-id group-id \ --group-version-id group-version-id \ --deployment-type NewDeployment

 

나중에 스트림 관리자 설정을 다시 편집하려면 이 절차를 따르십시오. 업데이트된 구성으로 GGStreamManager 함수가 포함된 함수 정의 버전을 생성하십시오. 그룹 버전은 코어에 배포하려는 모든 구성 요소 버전 ARN을 참조해야 합니다. 변경 사항은 그룹이 배포된 후에 적용됩니다.

다음 사항도 참조하세요.