Greengrass 코어 디바이스에서 데이터 스트림 관리
AWS IoT Greengrass 스트림 관리자를 사용하면 대용량 IoT 데이터를 AWS 클라우드로 보다 효율적이고 안정적으로 전송할 수 있습니다. 스트림 관리자는 AWS IoT Greengrass 코어에서 데이터 스트림을 처리한 후 AWS 클라우드로 내보냅니다. 스트림 관리자는 기계 학습(ML) 추론과 같은 일반적인 엣지 시나리오와 통합됩니다. 이런 신나리오에서 AWS IoT Greengrass 코어 디바이스는 데이터를 AWS 클라우드 또는 로컬 스토리지 대상으로 내보내기 전에 데이터를 처리하고 분석합니다.
스트림 관리자는 사용자 지정 스트림 관리 기능을 구축할 필요가 없도록 사용자 지정 구성 요소 개발을 간소화하는 공통 인터페이스를 제공합니다. 구성 요소에서는 표준화된 메커니즘을 사용하여 대용량 스트림을 처리하고 로컬 데이터 보존 정책을 관리할 수 있습니다. 스트림별로 스토리지 유형, 크기 및 데이터 보존에 대한 정책을 정의하여 스트림 관리자가 데이터를 처리하고 내보내는 방식을 제어할 수 있습니다.
스트림 관리자는 연결이 간헐적이거나 제한된 환경에서 작동합니다. 대역폭 사용, 제한 시간 동작, AWS IoT Greengrass 코어가 연결되거나 연결이 끊어질 때 스트림 데이터가 처리되는 방식을 정의할 수 있습니다. 또한 우선 순위를 설정하여 AWS IoT Greengrass 코어가 스트림을 AWS 클라우드로 내보내는 순서를 제어할 수 있습니다. 이를 통해 다른 데이터보다 중요한 데이터를 더 빨리 처리할 수 있습니다.
보관 또는 추가 처리 및 분석을 위해 데이터를 AWS 클라우드로 자동자동으로 내보내도록 스트림 관리자를 구성할 수 있습니다. 스트림 관리자는 다음 AWS 클라우드 대상으로의 내보내기를 지원합니다.
-
AWS IoT Analytics의 채널. AWS IoT Analytics를 사용하면 데이터에 대한 고급 분석을 수행하여 비즈니스 의사 결정을 지원하고 기계 학습 모델을 개선할 수 있습니다. 자세한 내용은 AWS IoT Analytics 사용 설명서의 AWS IoT Analytics이란 무엇입니까? 섹션을 참조하십시오.
-
Amazon Kinesis Data Streams의 스트림. Kinesis Data Streams를 사용하여 대용량 데이터를 집계하고 데이터 웨어하우스나 MapReduce 클러스터에 로드할 수 있습니다. 자세한 내용은 Amazon Kinesis Data Streams 개발자 안내서의 Amazon Kinesis Data Streams이란 무엇입니까?를 참조하세요.
-
AWS IoT SiteWise의 자산 속성. AWS IoT SiteWise를 사용하면 대규모로 산업 장비의 데이터를 수집, 구성 및 분석할 수 있습니다. 자세한 내용은 AWS IoT SiteWise 사용 설명서의 AWS IoT SiteWise이란 무엇입니까? 섹션을 참조하십시오.
-
Amazon Simple Storage Service(Amazon S3)의 객체. Amazon S3를 사용하여 대량의 데이터를 저장 및 검색할 수 있습니다. 자세한 내용은 Amazon Simple Storage Service 개발자 안내서의 Amazon S3란 무엇인가요?를 참조하세요.
스트림 관리 워크플로우
IoT 애플리케이션은 스트림 관리자 SDK를 통해 스트림 관리자와 연동합니다.
간단한 워크플로에서는 AWS IoT Greengrass 코어의 구성 요소가 시계열 온도 및 압력 지표와 같은 IoT 데이터를 소비합니다. 이 구성 요소는 데이터를 필터링 또는 압축한 다음 스트림 관리자 SDK를 직접적으로 호출하여 스트림 관리자의 스트림에 데이터를 기록할 수 있습니다. 스트림 관리자는 스트림에 대해 정의된 정책에 따라 자동으로 스트림을 AWS 클라우드로 내보낼 수 있습니다. 또한 구성 요소는 데이터를 로컬 데이터베이스 또는 스토리지 리포지토리로 직접 보낼 수도 있습니다.
IoT 애플리케이션에는 스트림을 읽거나 스트림에 쓰는 여러 사용자 지정 구성 요소가 포함될 수 있습니다. 이러한 구성 요소는 AWS IoT Greengrass 코어 디바이스에서 데이터를 필터링, 집계 및 분석하기 위해 스트림을 읽고 쓸 수 있습니다. 따라서 데이터가 코어에서 AWS 클라우드 또는 로컬 대상으로 전송되기 전에 로컬 이벤트에 신속하게 대응하고 중요한 정보를 추출하는 것이 가능합니다.
시작하려면 스트림 관리자 구성 요소를 AWS IoT Greengrass 코어 디바이스에 배포합니다. 배포에서 스트림 관리자 구성 요소 파라미터를 구성하여 Greengrass 코어 디바이스의 모든 스트림에 적용되는 설정을 정의합니다. 이러한 파라미터를 사용하여 비즈니스 요구 사항 및 환경 제약에 따라 스트림 관리자가 스트림을 저장, 처리 및 내보내는 방법을 제어합니다.
스트림 관리자를 구성한 후 IoT 애플리케이션을 생성하고 배포할 수 있습니다. 일반적으로 이들 애플리케이션은 스트림 관리자 SDK에서 StreamManagerClient
를 사용하여 스트림을 생성하고 조작하는 사용자 지정 구성 요소입니다. 스트림을 생성할 때 내보내기 대상, 우선순위, 지속성과 같은 스트림별 정책을 정의할 수 있습니다.
요구 사항
스트림 관리자 사용을 위해 다음 요구 사항이 적용됩니다.
-
스트림 관리자에는 AWS IoT Greengrass 코어 소프트웨어 외에 최소 70MB의 RAM이 필요합니다. 총 메모리 요구 사항은 워크로드에 따라 다릅니다.
-
AWS IoT Greengrass 구성 요소는 스트림 관리자 SDK를 사용하여 스트림 관리자와 연동해야 합니다. 스트림 관리자 SDK는 다음 언어로 제공됩니다.
-
Java용 스트림 관리자 SDK
(v1.1.0 이상) -
Node.js용 스트림 관리자 SDK
(v1.1.0 이상) -
Python용 스트림 관리자 SDK
(v1.1.0 이상)
-
-
AWS IoT Greengrass 구성 요소는 스트림 관리자 구성 요소(
aws.greengrass.StreamManager
)를 레시피에서 종속성으로 지정해야 스트림 관리자를 사용할 수 있습니다.참고
스트림 관리자를 사용하여 클라우드로 데이터를 내보내는 경우에는 스트림 관리자 구성 요소의 버전 2.0.7을 v2.0.8과 v2.0.11 사이의 버전으로 업그레이드할 수 없습니다. 스트림 관리자를 처음 배포하는 경우 최신 버전의 스트림 관리자 구성 요소를 배포하는 것이 좋습니다.
-
스트림에 대한 AWS 클라우드 내보내기 대상을 정의하는 경우, 내보내기 대상을 생성하고 Greengrass 그룹 역할에서 액세스 권한을 부여해야 합니다. 대상에 따라 다른 요구 사항도 적용될 수 있습니다. 자세한 내용은 다음을 참조하세요.
이러한 AWS 클라우드 리소스를 관리할 책임은 사용자에게 있습니다.
데이터 보안
스트림 관리자를 사용할 때는 다음과 같은 보안 고려 사항에 유의하십시오.
로컬 데이터 보안
AWS IoT Greengrass에서는 저장 시나 코어 장치의 구성 요소 간에 전송 중에 스트림 데이터를 암호화하지 않습니다.
-
저장 시 데이터. 스트림 데이터는 스토리지 디렉터리에 로컬로 저장됩니다. 데이터 보안을 위해 AWS IoT Greengrass는 파일 사용 권한 및 전체 디스크 암호화를 사용합니다(활성화된 경우). 선택적 STREAM_MANAGER_STORE_ROOT_DIR 파라미터를 사용하여 스토리지 디렉터리를 지정할 수 있습니다. 다른 스토리지 디렉터리를 사용하도록 나중에 이 파라미터를 변경하는 경우, AWS IoT Greengrass에서 이전의 스토리지 디렉터리 또는 해당 내용이 삭제되지 않습니다.
-
로컬로 전송 중인 데이터. AWS IoT Greengrass는 데이터 소스, AWS IoT Greengrass 구성 요소, 스트림 관리자 SDK 및 스트림 관리자 간에 로컬 전송 시 스트림 데이터를 암호화하지 않습니다.
-
AWS 클라우드로 전송 중인 데이터. 스트림 관리자가 AWS 클라우드로 내보낸 데이터 스트림은 전송 계층 보안(TLS)에서 표준 AWS 서비스 클라이언트 암호화를 사용합니다.
클라이언트 인증
스트림 관리자 클라이언트는 스트림 관리자 SDK를 사용하여 스트림 관리자와 통신합니다. 클라이언트 인증이 활성화된 경우 Greengrass 구성 요소만 스트림 관리자의 스트림과 연동할 수 있습니다. 클라이언트 인증이 비활성화된 경우에는 Greengrass 코어 디바이스에서 실행 중인 모든 프로세스가 스트림 관리자의 스트림과 연동할 수 있습니다. 비즈니스 사례에 필요한 경우에만 인증을 비활성화해야 합니다.
STREAM_MANAGER_AUTHENTICATE_CLIENT 파라미터를 사용하여 클라이언트 인증 모드를 설정합니다. 이 파라미터는 스트림 관리자 구성 요소를 코어 디바이스에 배포할 때 구성할 수 있습니다.
활성화됨 | Disabled(비활성) | |
---|---|---|
파라미터값 |
|
|
허용된 클라이언트 |
코어 디바이스의 Greengrass 구성 요소 |
코어 디바이스의 Greengrass 구성 요소 Greengrass 코어 장치에서 실행 중인 기타 프로세스 |