스트림 관리자 - AWS IoT Greengrass

스트림 관리자

스트림 관리자 구성 요소(aws.greengrass.StreamManager)를 사용하면 Greengrass 코어 디바이스에서 AWS 클라우드로 전송할 데이터 스트림을 처리할 수 있습니다.

사용자 지정 구성 요소에서 스트림 관리자를 구성하고 사용하는 방법에 대한 자세한 내용은 Greengrass 코어 디바이스에서 데이터 스트림 관리 섹션을 참조하세요.

버전

이 구성 요소에는 다음과 같은 버전이 있습니다.

  • 2.1.x

  • 2.0.x

참고

스트림 관리자를 사용하여 클라우드로 데이터를 내보내는 경우에는 스트림 관리자 구성 요소의 버전 2.0.7을 v2.0.8과 v2.0.11 사이의 버전으로 업그레이드할 수 없습니다. 스트림 관리자를 처음 배포하는 경우 최신 버전의 스트림 관리자 구성 요소를 배포하는 것이 좋습니다.

유형

구성 요소는 일반 구성 요소(aws.greengrass.generic)입니다. Greengrass nucleus는 구성 요소의 수명 주기 스크립트를 실행합니다.

자세한 내용은 구성 요소 유형 단원을 참조하십시오.

운영 체제

이 구성 요소는 다음 운영 체제를 실행하는 코어 디바이스에 설치할 수 있습니다.

  • Linux

  • Windows

요구 사항

이 구성 요소에는 다음과 같은 요구 사항이 있습니다.

  • 토큰 교환 역할은 스트림 관리자와 함께 사용하는 AWS 클라우드 대상에 대한 액세스를 허용해야 합니다. 자세한 내용은 다음을 참조하세요.

  • 스트림 관리자 구성 요소는 VPC에서 실행할 수 있습니다. 이 구성 요소를 VPC에 배포하려면 다음이 필요합니다.

    • 스트림 관리자 구성 요소에는 데이터를 게시하는 AWS 서비스에 연결되어 있어야 합니다.

      • Amazon S3: com.amazonaws.region.s3

      • Amazon Kinesis Data Streams: com.amazonaws.region.kinesis-streams

      • AWS IoT SiteWise: com.amazonaws.region.iotsitewise.data

    • us-east-1 리전의 Amazon S3에 데이터를 게시하는 경우 이 구성 요소는 기본적으로 S3 전역 엔드포인트를 사용하려고 시도하지만 이 엔드포인트는 Amazon S3 VPC 인터페이스 엔드포인트를 통해서는 사용할 수 없습니다. 자세한 내용은 Amazon S3용 AWS PrivateLink에 대한 규제 및 제한을 참조하세요. 이 문제를 해결하려면 다음 옵션 중에서 선택할 수 있습니다.

      • JVM_ARGS에서 -Daws.s3UseUsEast1RegionalEndpoint=regional을 설정하여 us-east-1 리전의 지역 S3 엔드포인트를 사용하도록 스트림 관리자 구성 요소를 구성합니다.

      • Amazon S3 인터페이스 VPC 엔드포인트 대신 Amazon S3 게이트웨이 VPC 엔드포인트를 생성합니다. S3 게이트웨이 엔드포인트는 S3 전역 엔드포인트에 대한 액세스를 지원합니다. 자세한 내용은 게이트웨이 엔드포인트 생성을 참조하세요.

엔드포인트 및 포트

이 구성 요소는 기본 작업에 필요한 엔드포인트 및 포트 외에 다음 엔드포인트 및 포트에 대한 아웃바운드 요청도 수행할 수 있어야 합니다. 자세한 내용은 프록시 또는 방화벽을 통해 디바이스 트래픽 허용 단원을 참조하십시오.

엔드포인트 포트 필수 설명

iotanalytics.region.amazonaws.com

443 아니요

AWS IoT Analytics에 데이터를 게시하는 경우 필요합니다.

kinesis.region.amazonaws.com

443 아니요

Firehose에 데이터를 게시하는 경우 필요합니다.

data.iotsitewise.region.amazonaws.com

443 아니요

AWS IoT SiteWise에 데이터를 게시하는 경우 필요합니다.

*.s3.amazonaws.com

443 아니요

S3 버킷에 데이터를 게시하는 경우 필요합니다.

*를 데이터를 게시하는 각 버킷의 이름으로 바꿀 수 있습니다.

의존성

구성 요소를 배포하면 AWS IoT Greengrass에서 해당 종속성의 호환 버전도 배포합니다. 즉, 구성 요소를 성공적으로 배포하려면 구성 요소 및 모든 해당 종속성에 대한 요구 사항을 충족해야 합니다. 이 섹션에는 이 구성 요소의 릴리스된 버전에 대한 종속성과 각 종속성에 대한 구성 요소 버전을 정의하는 의미 체계 버전 제약 조건이 나열되어 있습니다. AWS IoT Greengrass 콘솔에서도 각 구성 요소 버전에 대한 종속성을 볼 수 있습니다. 구성 요소 세부 정보 페이지에서 종속성 목록을 찾습니다.

2.1.13

다음 표에는 이 구성 요소의 버전 2.1.11~2.1.10에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.14.0 소프트
토큰 교환 서비스 >=0.0.0 하드
2.1.11 - 2.1.12

다음 표에는 이 구성 요소의 버전 2.1.11~2.1.10에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.13.0 소프트
토큰 교환 서비스 >=0.0.0 하드
2.1.9 – 2.1.10

다음 표에는 이 구성 요소의 버전 2.1.9~2.1.10에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.12.0 소프트
토큰 교환 서비스 >=0.0.0 하드
2.1.5 – 2.1.8

다음 표에는 이 구성 요소의 버전 2.1.5~2.1.8에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.11.0 소프트
토큰 교환 서비스 >=0.0.0 하드
2.1.2 – 2.1.4

다음 표에는 이 구성 요소의 버전 2.1.2~2.1.4에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.10.0 소프트
토큰 교환 서비스 >=0.0.0 하드
2.1.1

다음 표에는 이 구성 요소의 버전 2.1.1에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.9.0 소프트
토큰 교환 서비스 >=0.0.0 하드
2.1.0

다음 표에는 이 구성 요소의 버전 2.1.0에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.8.0 소프트
토큰 교환 서비스 >=0.0.0 하드
2.0.15

다음 표에는 이 구성 요소의 버전 2.0.15에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.7.0 소프트
토큰 교환 서비스 >=0.0.0 하드
2.0.13 and 2.0.14

다음 표에는 이 구성 요소의 버전 2.0.13 및 2.0.14에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.6.0 소프트
토큰 교환 서비스 >=0.0.0 하드
2.0.11 and 2.0.12

다음 표에는 이 구성 요소의 버전 2.0.11 및 2.0.12에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.5.0 소프트
토큰 교환 서비스 >=0.0.0 하드
2.0.10

다음 표에는 이 구성 요소의 버전 2.0.10에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.4.0 소프트
토큰 교환 서비스 >=0.0.0 하드
2.0.9

다음 표에는 이 구성 요소의 버전 2.0.9에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.3.0 소프트
토큰 교환 서비스 >=0.0.0 하드
2.0.8

다음 표에는 이 구성 요소의 버전 2.0.8에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.2.0 소프트
토큰 교환 서비스 >=0.0.0 하드
2.0.7

다음 표에는 이 구성 요소의 버전 2.0.7에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.3 <2.1.0 소프트
토큰 교환 서비스 >=0.0.0 하드

구성 요소 종속성에 대한 자세한 내용은 구성 요소 레시피 참조를 참조하세요.

구성

이 구성 요소는 구성 요소를 배포할 때 사용자 지정할 수 있는 다음 구성 파라미터를 제공합니다.

STREAM_MANAGER_STORE_ROOT_DIR

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

기존 폴더를 지정해야 하며 스트림 관리자 구성 요소를 실행하는 시스템 사용자에게 이 폴더를 읽고 쓸 권한이 있어야 합니다. 예를 들어 다음 명령을 실행하여 스트림 관리자 루트 폴더로 지정하는 폴더(/var/greengrass/streams)를 생성하고 구성할 수 있습니다. 이러한 명령을 사용하면 기본 시스템 사용자(ggc_user)가 이 폴더를 읽고 쓸 수 있습니다.

sudo mkdir /var/greengrass/streams sudo chown ggc_user /var/greengrass/streams sudo chmod 700 /var/greengrass/streams

기본값: /greengrass/v2/work/aws.greengrass.StreamManager

STREAM_MANAGER_SERVER_PORT

(선택 사항) 스트림 관리자와 통신하는 데 사용하는 로컬 포트 번호.

임의의 사용 가능한 포트를 사용하도록 0을 지정할 수 있습니다.

기본값: 8088

STREAM_MANAGER_AUTHENTICATE_CLIENT

(선택 사항) 클라이언트가 스트림 관리자와 상호 작용하기 전에 의무적으로 인증하도록 할 수 있습니다. 스트림 관리자 SDK는 클라이언트와 스트림 관리자 간의 상호 작용을 제어합니다. 이 파라미터는 스트림 관리자 SDK를 직접 호출하여 스트림 작업을 수행할 수 있는 클라이언트를 결정합니다. 자세한 내용은 스트림 관리자 클라이언트 인증을 참조하세요.

true를 지정하는 경우 스트림 관리자 SDK는 Greengrass 구성 요소만 클라이언트로 허용합니다.

false를 지정하는 경우 스트림 관리자 SDK는 코어 디바이스의 모든 프로세스를 클라이언트로 허용합니다.

기본값: true

STREAM_MANAGER_EXPORTER_MAX_BANDWIDTH

(선택 사항) 스트림 관리자가 데이터를 내보내는 데 사용할 수 있는 평균 최대 대역폭(초당 킬로비트).

기본값: 제한 없음

STREAM_MANAGER_EXPORTER_THREAD_POOL_SIZE

(선택 사항) 스트림 관리자가 데이터를 내보내는 데 사용할 수 있는 최대 활성 스레드 수.

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

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

기본값: 스레드 5개

STREAM_MANAGER_EXPORTER_S3_DESTINATION_MULTIPART_UPLOAD_MIN_PART_SIZE_BYTES

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

참고

스트림 관리자는 스트림 sizeThresholdForMultipartUploadBytes 속성을 사용하여 Amazon S3로 단일 또는 멀티파트 업로드로 내보낼지 여부를 결정합니다. AWS IoT Greengrass 구성 요소는 Amazon S3로 내보내는 스트림을 생성할 때 이 임계값을 설정할 수 있습니다.

기본값: 5242880(5MB) 이는 또한 최소값입니다.

LOG_LEVEL

(선택 사항) 구성 요소의 로깅 수준. 여기에 수준 순서대로 나열된 다음 로그 수준 중에서 선택합니다.

  • TRACE

  • DEBUG

  • INFO

  • WARN

  • ERROR

기본값: INFO

JVM_ARGS

(선택 사항) 시작 시 스트림 관리자에게 전달할 사용자 지정 Java 가상 머신 인수. 여러 인수는 공백으로 구분합니다.

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

예: 구성 병합 업데이트

다음 예제 구성은 기본 포트가 아닌 포트를 사용하도록 지정합니다.

{ "STREAM_MANAGER_SERVER_PORT": "18088" }

로컬 로그 파일

이 구성 요소는 다음 로그 파일을 사용합니다.

Linux
/greengrass/v2/logs/aws.greengrass.StreamManager.log
Windows
C:\greengrass\v2\logs\aws.greengrass.StreamManager.log
이 구성 요소의 로그를 보려면
  • 코어 디바이스에서 다음 명령을 실행하여 실시간으로 이 구성 요소의 로그 파일을 봅니다. /greengrass/v2 또는 C:\greengrass\v2를 AWS IoT Greengrass 루트 폴더의 경로로 바꿉니다.

    Linux
    sudo tail -f /greengrass/v2/logs/aws.greengrass.StreamManager.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\aws.greengrass.StreamManager.log -Tail 10 -Wait

Changelog

다음 표에는 각 구성 요소 버전의 변경 사항이 설명되어 있습니다.

버전

변경

2.1.13

버그 수정 및 개선 사항

AWS IoT SiteWise용 FIPS 엔드포인트 지원

2.1.12

버그 수정 및 개선 사항

AWS 서비스 요청에 Greengrass 자격 증명이 기본으로 사용되도록 자격 증명 사용 순서가 업데이트됩니다.

2.1.11

Greengrass nucleus 버전 2.12.0 릴리스용으로 업데이트된 버전입니다.

2.1.10

버그 수정 및 개선 사항

HTTPS 프록시 구성이 Greengrass 인증 기관(CA) 인증서 체인을 신뢰하지 않는 문제를 해결합니다.

2.1.9

Greengrass nucleus 버전 2.11.0 릴리스용으로 업데이트된 버전입니다.

2.1.8

버그 수정 및 개선 사항

스트림 관리자가 InvalidRequestException로 실패하여 SiteWise 내보내기를 무기한으로 재시도하는 문제를 해결합니다.

2.1.7

버그 수정 및 개선 사항

스트림 관리자가 프록시 구성을 올바르게 읽지 못하는 문제를 해결합니다.

2.1.6

버그 수정 및 개선 사항

Jetson Nano를 포함한 특정 ARMv8 프로세서에서 시작 시 충돌을 일으키는 문제를 해결합니다.

2.1.5

Greengrass nucleus 버전 2.10.0 릴리스용으로 업데이트된 버전입니다.

2.1.4

버그 수정 및 개선 사항
  • 단일 배치 내에서 동일한 타임스탬프가 있는 동일한 속성 자산에 대한 항목이 SiteWise API에서 ConflictingOperationException을 반환하여 스트림 관리자가 계속 재시도하는 문제를 해결합니다.

  • 기본 연결 제한 시간을 3초에서 1분으로 업데이트합니다.

2.1.3

버그 수정 및 개선 사항

시스템 사용자로 실행하는 경우 Windows OS의 시작 문제를 해결합니다.

2.1.2

버그 수정 및 개선 사항
  • 영어 이외의 언어를 사용하는 Windows OS 문제를 해결합니다.

  • Greengrass nucleus 버전 2.9.0 릴리스용으로 업데이트된 버전입니다.

2.1.1

Greengrass nucleus 버전 2.8.0 릴리스용으로 업데이트된 버전입니다.

2.1.0

새로운 기능

2.0.15

Greengrass nucleus 버전 2.6.0 릴리스용으로 업데이트된 버전입니다.

2.0.14

이 버전에는 버그 수정과 개선 사항이 포함되어 있습니다.

2.0.13

Greengrass nucleus 버전 2.5.0 릴리스용으로 업데이트된 버전입니다.

2.0.12
버그 수정 및 개선 사항

스트림 관리자 v2.0.7을 v2.0.8과 v2.0.11 사이의 버전으로 업그레이드할 수 없었던 문제를 해결합니다. 스트림 관리자를 사용하여 클라우드로 데이터를 내보내는 경우 이제 v2.0.12로 업그레이드할 수 있습니다.

2.0.11

Greengrass nucleus 버전 2.4.0 릴리스용으로 업데이트된 버전입니다.

2.0.10

Greengrass nucleus 버전 2.3.0 릴리스용으로 업데이트된 버전입니다.

2.0.9

Greengrass nucleus 버전 2.2.0 릴리스용으로 업데이트된 버전입니다.

2.0.8

Greengrass nucleus 버전 2.1.0 릴리스용으로 업데이트된 버전입니다.

2.0.7

초기 버전