V1 애플리케이션을 테스트하기 위한 새 V2 코어 디바이스 설정 - AWS IoT Greengrass

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

V1 애플리케이션을 테스트하기 위한 새 V2 코어 디바이스 설정

AWS IoT Greengrass V1 애플리케이션에 대한 구성 AWS요소 및 함수를 배포하고 AWS Lambda 테스트할 새 AWS IoT Greengrass V2 코어 디바이스를 설정합니다. 또한 이 V2 코어 디바이스를 사용하여 코어 디바이스에서 네이티브 프로세스를 실행하는 추가 사용자 지정 Greengrass 구성 요소를 개발하고 테스트할 수 있습니다. V2 코어 디바이스에서 애플리케이션을 테스트한 후 기존 V1 코어 디바이스를 V2로 업그레이드하고 V1 기능을 제공하는 V2 구성 요소를 배포할 수 있습니다.

1단계: 새 디바이스 AWS IoT Greengrass V2 에 설치

새 디바이스에 AWS IoT Greengrass 코어 소프트웨어 v2.x를 설치합니다. 시작하기 자습서에 따라 디바이스를 설정하고 구성 요소를 개발하고 배포하는 방법을 알아볼 수 있습니다. 이 자습서에서는 자동 프로비저닝을 사용하여 디바이스를 빠르게 설정합니다. AWS IoT Greengrass Core 소프트웨어 v2.x를 설치할 때 디바이스에서 직접 구성 요소를 개발, 테스트 및 디버깅할 수 있도록 Greengrass CLI를 배포할 --deploy-dev-tools 인수를 지정합니다. 프록시 뒤에 AWS IoT Greengrass 코어 소프트웨어를 설치하거나 하드웨어 보안 모듈(HSM)을 사용하는 방법을 포함하여 다른 설치 옵션에 대한 자세한 내용은 섹션을 참조하세요AWS IoT Greengrass 코어 소프트웨어 설치.

(선택 사항) Amazon CloudWatch Logs에 로깅 활성화

V2 코어 디바이스가 Amazon CloudWatch Logs에 로그를 업로드할 수 있도록 하려면 AWS제공된 로그 관리자 구성 요소를 배포할 수 있습니다. CloudWatch 로그를 사용하여 구성 요소 로그를 볼 수 있으므로 코어 디바이스의 파일 시스템에 액세스하지 않고도 디버깅하고 문제를 해결할 수 있습니다. 자세한 내용은 AWS IoT Greengrass 로그 모니터링 단원을 참조하십시오.

2단계: AWS IoT Greengrass V1 애플리케이션 마이그레이션을 위한 AWS IoT Greengrass V2 구성 요소 생성 및 배포

에서 대부분의 AWS IoT Greengrass V1 애플리케이션을 실행할 수 있습니다 AWS IoT Greengrass V2. Lambda 함수를에서 실행되는 구성 요소로 가져올 수 있으며 AWS IoT Greengrass 커넥터 AWS IoT Greengrass V2와 동일한 기능을 제공하는 AWS에서 제공하는 구성 요소를 사용할 수 있습니다.

또한 사용자 지정 구성 요소를 개발하여 Greengrass 코어 디바이스에서 실행할 기능이나 런타임을 빌드할 수도 있습니다. 로컬에서 구성 요소를 개발하고 테스트하는 방법에 대한 자세한 내용은 AWS IoT Greengrass 구성 요소 생성 섹션을 참조하세요.

V1 Lambda 함수 가져오기

Lambda 함수를 AWS IoT Greengrass V2 구성 요소로 가져올 수 있습니다. 다음 접근 방식 중에서 선택합니다.

  • V1 Lambda 함수를 Greengrass 구성 요소로 직접 가져옵니다.

  • AWS IoT Device SDK v2에서 Greengrass 라이브러리를 사용하도록 Lambda 함수를 업데이트한 다음 Lambda 함수를 Greengrass 구성 요소로 가져옵니다.

  • Lambda 이외의 코드와 AWS IoT Device SDK v2를 사용하여 Lambda 함수와 동일한 기능을 구현하는 사용자 지정 구성 요소를 생성합니다.

Lambda 함수가 스트림 관리자 또는 로컬 보안 암호와 같은 기능을 사용하는 경우 이러한 기능을 패키징하는 AWS제공된 구성 요소에 대한 종속성을 정의해야 합니다. Lambda 함수 구성 요소를 배포하는 경우 배포는 종속성으로 정의한 각 기능의 구성 요소도 포함합니다. 배포에서 코어 디바이스에 배포할 보안 암호와 같은 파라미터를 구성할 수 있습니다. 모든 V1 기능에 V2의 Lambda 함수에 대한 구성 요소 종속성이 필요한 것은 아닙니다. 다음 목록은 V2 Lambda 함수 구성 요소에서 V1 기능을 사용하는 방법을 설명합니다.

  • 다른 AWS 서비스 액세스

    Lambda 함수가 AWS 자격 증명을 사용하여 다른 AWS 서비스에 요청하는 경우 코어 디바이스의 토큰 교환 역할은 코어 디바이스가 Lambda 함수가 사용하는 AWS 작업을 수행하도록 허용해야 합니다. 자세한 내용은 코어 디바이스에 AWS 서비스와 상호 작용 권한 부여 단원을 참조하십시오.

  • 스트림 관리자

    Lambda 함수가 스트림 관리자를 사용하는 경우 함수를 가져올 때 aws.greengrass.StreamManager를 구성 요소 종속성으로 지정합니다. 스트림 관리자 구성 요소를 배포하는 경우 대상 코어 디바이스에 설정할 스트림 관리자 파라미터를 지정합니다. 코어 디바이스의 토큰 교환 역할은 코어 디바이스가 스트림 관리자와 함께 사용하는 AWS 클라우드 대상에 액세스하도록 허용해야 합니다. 자세한 내용은 스트림 관리자 단원을 참조하십시오.

  • 로컬 보안 암호

    Lambda 함수가 로컬 보안 암호를 사용하는 경우 함수를 가져올 때 aws.greengrass.SecretManager를 구성 요소 종속성으로 지정합니다. 보안 암호 관리자 구성 요소를 배포하는 경우 대상 코어 디바이스에 배포할 보안 암호 리소스를 지정합니다. 코어 디바이스의 토큰 교환 역할은 코어 디바이스가 배포할 보안 암호 리소스를 검색하도록 허용해야 합니다. 자세한 내용은 보안 암호 관리자 단원을 참조하십시오.

    Lambda 함수 구성 요소를 배포할 때 AWS IoT Device SDK V2에서 GetSecretValue IPC 작업을 사용할 수 있는 권한을 부여하는 IPC 권한 부여 정책을 갖도록 구성합니다.

  • 로컬 섀도

    Lambda 함수가 로컬 섀도우와 상호 작용하는 경우 Lambda 함수 코드를 업데이트하여 AWS IoT Device SDK V2를 사용해야 합니다. 함수를 가져오는 경우 aws.greengrass.ShadowManager를 구성 요소 종속성으로 지정해야 합니다. 자세한 내용은 디바이스 섀도우와 연동 단원을 참조하십시오.

    Lambda 함수 구성 요소를 배포할 때 AWS IoT Device SDK V2에서 섀도우 IPC 작업을 사용할 수 있는 권한을 부여하는 IPC 권한 부여 정책을 갖도록 구성합니다.

  • 구독

    • Lambda 함수가 클라우드 소스의 메시지를 구독하는 경우 함수를 가져올 때 해당 구독을 이벤트 소스로 지정합니다.

    • Lambda 함수가 다른 Lambda 함수의 메시지를 구독하거나 Lambda 함수가 메시지를 AWS IoT Core 또는 다른 Lambda 함수에 게시하는 경우 Lambda 함수를 배포할 때 레거시 구독 라우터 구성 요소를 구성하고 배포합니다. 레거시 구독 라우터 구성 요소를 배포하는 경우 Lambda 함수가 사용하는 구독을 지정합니다.

      참고

      레거시 구독 라우터 구성 요소는 Lambda 함수가 AWS IoT Greengrass 코어의 publish() 함수를 사용하는 경우에만 필요합니다SDK. Lambda 함수 코드를 업데이트하여 AWS IoT Device SDK V2의 프로세스 간 통신(IPC) 인터페이스를 사용하는 경우 레거시 구독 라우터 구성 요소를 배포할 필요가 없습니다. 자세한 내용은 다음 프로세스 간 통신 서비스를 참조하세요.

    • Lambda 함수가 로컬 연결 디바이스의 메시지를 구독하는 경우 함수를 가져올 때 해당 구독을 이벤트 소스로 지정합니다. 또한 연결된 디바이스의 메시지를 이벤트 소스로 지정한 로컬 게시/구독 주제로 릴레이하도록 MQTT 브리지 구성 요소를 구성하고 배포해야 합니다.

    • Lambda 함수가 로컬 연결 디바이스에 메시지를 게시하는 경우 Lambda 함수 코드를 업데이트하여 AWS IoT Device SDK V2를 사용하여 로컬 게시/구독 메시지를 게시해야 합니다. 또한 MQTT 브리지 구성 요소를 구성하고 배포하여 로컬 게시/구독 메시지 브로커의 메시지를 연결된 디바이스로 릴레이해야 합니다.

  • 로컬 볼륨 및 디바이스

    컨테이너화된 Lambda 함수가 로컬 볼륨 또는 디바이스에 액세스하는 경우 Lambda 함수를 가져올 때 해당 볼륨과 디바이스를 지정합니다. 이 기능에는 구성 요소 종속성이 필요하지 않습니다.

자세한 내용은 AWS Lambda 함수 실행 단원을 참조하십시오.

V1 커넥터 사용

일부 AWS IoT Greengrass 커넥터와 동일한 기능을 제공하는 구성 AWS요소를 배포할 수 있습니다. 배포를 생성하는 경우 커넥터의 파라미터를 구성할 수 있습니다.

Docker 컨테이너 실행

AWS IoT Greengrass V2 는 V1 Docker 애플리케이션 배포 커넥터를 직접 대체하는 구성 요소를 제공하지 않습니다. 그러나 Docker 애플리케이션 관리자 구성 요소를 사용하여 Docker 이미지를 다운로드한 다음 다운로드한 이미지에서 Docker 컨테이너를 실행하는 사용자 지정 구성 요소를 생성할 수 있습니다. 자세한 내용은 Docker 컨테이너 실행Docker 애플리케이션 관리자 단원을 참조하세요.

기계 학습 추론 실행

AWS IoT Greengrass V2 는 Amazon SageMaker AI Edge Manager 에이전트를 설치하고 Greengrass 코어 디바이스에서 SageMaker AI Neo 컴파일 모델을 모델 구성 요소로 사용할 수 있는 Amazon SageMaker AI Edge Manager 구성 요소를 제공합니다.는 디바이스에 Deep Learning RuntimeTensorFlow Lite를 설치하는 구성 요소 AWS IoT Greengrass V2 도 제공합니다. 해당 DLR 및 TensorFlow Lite 모델 및 추론 구성 요소를 사용하여 샘플 이미지 분류 및 객체 감지 추론을 수행할 수 있습니다. MXNet 및와 같은 다른 기계 학습 프레임워크를 사용하려면 이러한 프레임워크를 사용하는 사용자 지정 구성 요소를 직접 개발할 TensorFlow수 있습니다.

V1 Greengrass 디바이스 연결

의 연결된 디바이스 AWS IoT Greengrass V1 를의 클라이언트 디바이스라고 합니다 AWS IoT Greengrass V2. 클라이언트 디바이스 AWS IoT Greengrass V2 지원은 이전 버전과 호환 AWS IoT Greengrass V1되므로 애플리케이션 코드를 변경하지 않고도 V1 클라이언트 디바이스를 V2 코어 디바이스에 연결할 수 있습니다. 클라이언트 디바이스가 V2 코어 디바이스에 연결할 수 있도록 하려면 클라이언트 디바이스 지원을 지원하는 Greengrass 구성 요소를 배포하고 클라이언트 디바이스를 코어 디바이스에 연결합니다. 클라이언트 디바이스, AWS IoT Core 클라우드 서비스 및 Greengrass 구성 요소(Lambda 함수 포함) 간에 메시지를 릴레이하려면 MQTT 브리지 구성 요소를 배포하고 구성합니다. IP 감지기 구성 요소를 배포하여 연결 정보를 자동으로 감지하거나 엔드포인트를 수동으로 관리할 수 있습니다. 자세한 내용은 로컬 IoT 디바이스와 상호 작용 단원을 참조하십시오.

로컬 섀도 서비스 활성화

에서 AWS IoT Greengrass V2로컬 섀도우 서비스는 AWS제공된 섀도우 관리자 구성 요소에 의해 구현됩니다. 에는 명명된 섀도우에 대한 지원 AWS IoT Greengrass V2 도 포함됩니다. 구성 요소가 로컬 섀도우와 상호 작용하고 섀도우 상태를에 동기화하도록 하려면 섀도우 관리자 구성 요소를 AWS IoT Core구성 및 배포하고 구성 요소 코드에서 섀도우 IPC 작업을 사용합니다. 자세한 내용은 디바이스 섀도우와 연동 단원을 참조하십시오.

와 통합 AWS IoT SiteWise

V1 코어 디바이스를 AWS IoT SiteWise 게이트웨이로 사용하는 경우 지침에 따라 새 V2 코어 디바이스를 AWS IoT SiteWise 게이트웨이로 설정합니다. AWS IoT SiteWise 는 AWS IoT SiteWise 구성 요소를 배포하는 설치 스크립트를 제공합니다.

3단계: AWS IoT Greengrass V2 애플리케이션 테스트

새로운 V2 코어 디바이스에 V2 구성 요소를 생성하고 배포한 후에는 애플리케이션이 기대치를 충족하는지 확인합니다. 디바이스의 로그를 확인하여 구성 요소의 표준 출력(stdout) 및 표준 오류(stderr) 메시지를 볼 수 있습니다. 자세한 내용은 AWS IoT Greengrass 로그 모니터링 단원을 참조하십시오.

코어 디바이스에 GreengrassCLI를 배포한 경우 이를 사용하여 구성 요소 및 구성을 디버깅할 수 있습니다. 자세한 내용은 Greengrass CLI 명령 단원을 참조하십시오.

애플리케이션이 V2 코어 디바이스에서 작동하는지 확인한 후에는 애플리케이션의 Greengrass 구성 요소를 다른 코어 디바이스에 배포할 수 있습니다. 네이티브 프로세스 또는 Docker 컨테이너를 실행하는 사용자 지정 구성 요소를 개발한 경우 먼저 해당 구성 요소를 서비스에 게시하여 다른 코어 디바이스에 배포해야 합니다. AWS IoT Greengrass