AWS IoT Greengrass구성 요소 개발 - AWS IoT Greengrass

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

AWS IoT Greengrass구성 요소 개발

Greengrass 코어 디바이스에서 구성 요소를 개발하고 테스트할 수 있습니다. 따라서 AWS IoT Greengrass 소프트웨어를 사용하지 않고도 소프트웨어를 만들고 반복할 수 있습니다. AWS 클라우드 구성 요소 버전을 완성하면 클라우드에 업로드하여 팀과 함께 구성 요소를 플릿 AWS IoT Greengrass 내 다른 장치에 배포할 수 있습니다. 구성 요소를 배포하는 방법에 대한 자세한 내용은 을 참조하십시오디바이스에 AWS IoT Greengrass 구성 요소 배포.

모든 구성 요소는 레시피와 아티팩트로 구성됩니다.

  • 레시피

    모든 구성 요소에는 메타데이터를 정의하는 레시피 파일이 포함되어 있습니다. 레시피는 또한 구성 요소의 구성 매개 변수, 구성 요소 종속성, 수명 주기 및 플랫폼 호환성을 지정합니다. 구성 요소 수명 주기는 구성 요소를 설치, 실행 및 종료하는 명령을 정의합니다. 자세한 설명은 AWS IoT Greengrass 컴포넌트 레시피 참조 섹션을 참조하세요.

    레시피는 JSON 또는 YAML 형식으로 정의할 수 있습니다.

  • 아티팩트

    구성 요소에는 구성 요소 바이너리인 아티팩트가 여러 개 있을 수 있습니다. 아티팩트에는 스크립트, 컴파일된 코드, 정적 리소스 및 구성 요소가 사용하는 기타 모든 파일이 포함될 수 있습니다. 구성 요소는 구성 요소 종속성의 아티팩트를 사용할 수도 있습니다.

AWS IoT Greengrass애플리케이션에서 사용하고 디바이스에 배포할 수 있는 사전 빌드된 구성 요소를 제공합니다. 예를 들어 스트림 관리자 구성 요소를 사용하여 다양한 AWS 서비스에 데이터를 업로드하거나 지표 구성 요소를 사용하여 Amazon에 사용자 지정 CloudWatch 지표를 게시할 수 CloudWatch 있습니다. 자세한 설명은 AWS-제공된 구성 요소 섹션을 참조하세요.

AWS IoT GreengrassGreengrass 소프트웨어 카탈로그라고 하는 Greengrass 구성 요소의 색인을 큐레이션합니다. 이 카탈로그는 Greengrass 커뮤니티에서 개발한 Greengrass 구성 요소를 추적합니다. 이 카탈로그에서 구성 요소를 다운로드, 수정 및 배포하여 Greengrass 애플리케이션을 생성할 수 있습니다. 자세한 설명은 커뮤니티 구성 요소 섹션을 참조하세요.

AWS IoT GreengrassCore 소프트웨어는 구성 요소를 시스템 사용자 및 그룹 (예: 코어 장치에 구성한 ggc_userggc_group) 으로 실행합니다. 즉, 구성 요소에는 해당 시스템 사용자의 권한이 있습니다. 홈 디렉터리가 없는 시스템 사용자를 사용하는 경우 구성 요소는 실행 명령이나 홈 디렉터리를 사용하는 코드를 사용할 수 없습니다. 즉, 예를 들어 pip install some-library --user 명령을 사용하여 Python 패키지를 설치할 수 없습니다. 시작하기 튜토리얼을 따라 코어 기기를 설정했다면 시스템 사용자에게 홈 디렉터리가 없는 것입니다. 구성 요소를 실행하는 사용자 및 그룹을 구성하는 방법에 대한 자세한 내용은 을 참조하십시오구성 요소를 실행하는 사용자를 구성하십시오..

참고

AWS IoT Greengrass구성 요소에 시맨틱 버전을 사용합니다. 시맨틱 버전은 메이저.마이너.패치 번호 시스템을 따릅니다. 예를 들어 버전은 구성 1.0.0 요소의 첫 번째 주요 릴리스를 나타냅니다. 자세한 내용은 시맨틱 버전 사양을 참조하십시오.

구성 요소 수명 주기

구성 요소 수명 주기는 AWS IoT Greengrass Core 소프트웨어가 구성 요소를 설치하고 실행하는 데 사용하는 단계를 정의합니다. 각 단계는 구성 요소의 작동 방식을 지정하는 스크립트 및 기타 정보를 정의합니다. 예를 들어, 구성 요소를 설치하면 AWS IoT Greengrass Core 소프트웨어가 해당 구성 요소의 Install 수명 주기 스크립트를 실행합니다. 코어 장치의 구성 요소에는 다음과 같은 수명 주기 상태가 있습니다.

  • NEW— 구성 요소의 레시피와 아티팩트가 코어 장치에 로드되지만 구성 요소는 설치되지 않습니다. 구성 요소가 이 상태가 되면 해당 설치 스크립트가 실행됩니다.

  • INSTALLED— 구성 요소가 코어 디바이스에 설치됩니다. 구성 요소는 설치 스크립트를 실행한 후 이 상태가 됩니다.

  • STARTING— 구성 요소가 코어 디바이스에서 시작됩니다. 구성 요소는 시작 스크립트를 실행할 때 이 상태가 됩니다. 시작에 성공하면 구성 요소가 RUNNING 상태로 전환됩니다.

  • RUNNING— 구성 요소가 코어 디바이스에서 실행 중입니다. 구성 요소는 실행 스크립트를 실행하거나 시작 스크립트의 백그라운드 프로세스가 활성 상태일 때 이 상태가 됩니다.

  • FINISHED— 구성 요소가 성공적으로 실행되어 실행을 완료했습니다.

  • STOPPING— 구성 요소가 중지되고 있습니다. 구성 요소는 종료 스크립트를 실행할 때 이 상태가 됩니다.

  • ERRORED— 구성 요소에 오류가 발생했습니다. 구성 요소가 이 상태가 되면 해당 복구 스크립트가 실행됩니다. 그런 다음 구성 요소가 다시 시작되어 정상 사용 상태로 돌아가려고 시도합니다. 구성 요소가 성공적으로 실행되지 않은 ERRORED 상태로 세 번 전환되면 구성 요소는 다음과 같이 됩니다BROKEN.

  • BROKEN— 구성 요소에 오류가 여러 번 발생하여 복구할 수 없습니다. 구성 요소를 다시 배포하여 문제를 해결해야 합니다.

구성 요소 유형

구성 요소 유형은 AWS IoT Greengrass Core 소프트웨어가 구성 요소를 실행하는 방법을 지정합니다. 구성 요소에는 다음과 같은 유형이 있을 수 있습니다.

  • () aws.greengrass.nucleus

    Greengrass 핵은 Core 소프트웨어의 최소 기능을 제공하는 구성 요소입니다. AWS IoT Greengrass 자세한 설명은 그린그래스 핵 섹션을 참조하세요.

  • 플러그인 () aws.greengrass.plugin

    Greengrass 핵은 핵과 동일한 자바 가상 머신 (JVM) 에서 플러그인 컴포넌트를 실행합니다. 코어 기기에서 플러그인 구성 요소의 버전을 변경하면 NUCLEUS가 다시 시작됩니다. 플러그인 구성 요소를 설치하고 실행하려면 Greengrass nucleus가 시스템 서비스로 실행되도록 구성해야 합니다. 자세한 설명은 Greengrass 핵을 시스템 서비스로 구성 섹션을 참조하세요.

    에서 제공하는 AWS 여러 구성 요소는 Greengrass 핵과 직접 인터페이스할 수 있는 플러그인 구성 요소입니다. 플러그인 구성 요소는 Greengrass 핵과 동일한 로그 파일을 사용합니다. 자세한 설명은 모니터 AWS IoT Greengrass 로그 섹션을 참조하세요.

  • 일반 () aws.greengrass.generic

    Greengrass nucleus는 구성 요소가 수명 주기를 정의하는 경우 일반 구성 요소의 수명 주기 스크립트를 실행합니다.

    이 유형은 사용자 지정 구성 요소의 기본 유형입니다.

  • aws.greengrass.lambda람다 ()

    Greengrass 핵은 Lambda 런처 구성 요소를 사용하여 Lambda 함수 구성 요소를 실행합니다.

    Lambda 함수에서 구성 요소를 생성할 때 구성 요소는 다음과 같은 유형을 갖습니다. 자세한 설명은 AWS Lambda함수 실행 섹션을 참조하세요.

참고

레시피에 구성 요소 유형을 지정하지 않는 것이 좋습니다. AWS IoT Greengrass구성 요소를 만들 때 자동으로 유형을 설정합니다.