ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [AWS] IoT Greengrass V2 Workshop 1
    클라우드/AWS 2023. 12. 5. 22:38

    https://catalog.us-east-1.prod.workshops.aws/workshops/5ecc2416-f956-4273-b729-d0d30556013f/en-US/chapter1-introduction/30-workshop-environment

     

    AWS IoT Greengrass V2 - Workshop (New)

    AWS IoT Greengrass v2 is an Internet of Things (IoT) open source edge runtime and cloud service that helps you build, deploy, and manage device software. You can learn basic knowledge to use AWS IoT Greengrass V2 through this workshop.

    catalog.us-east-1.prod.workshops.aws

     

    Greengrass 란?

    • 디바이스 소프트웨어를 구축, 배포 및 관리하는데 도움이되는 IoT 오픈 소스 엣지 런타임 및 클라우드 서비스 
    • AWS IoT Greengrass를 사용하면 로컬 처리, 메시징, 데이터 관리, ML 추론을 지원하는 지능형 장치 소프트웨어를 빠르고 쉽게 구축할 수 있음
    • 디바이스가 생성하는 데이터에 따라 로컬로 작동, 기계 학습 모델 기반 예측 실행, 데이터 필터링 및 집계, 필요한 정보만 클라우드로 전송하도록 프로그래밍 가능
    • 쉽게 말해서, 데이터를 생성하는 장소에 가까운 지역에서 데이터를 처리하고 분석하는 Edge 컴퓨팅을 위한 플랫폼임!
    • 클라우드랑 edge 디바이스 간에 상호작용하도록 설계되어 있어서 데이터를 신속하게 처리하고 클라우드로 전송하는 것

     

    Components

    • ML 추론, 로컬 처리, 메시징 및 데이터 관리와 같은 복잡한 워크플로를 쉽게 생성할 수 있는 빌딩 블록
    • Stream Manager: 로컬 및 클라우드 대상으로의 데이터 내보내기 지원
    • Greengrass Core device
      • Greengrass core software를 실행하는 디바이스
      • Core device는 AWS IoT 사물, 여러 Core device를 IoT 사물 그룹에 추가해 Greengrass Core device 그룹 생성
    • Greengrass Component
      • Greengrass Core device에 배포되고 실행되는 소프트웨어 모듈
      • Recipe: component 세부 정보, 구성 및 매개 변수를 정의하여 소프트웨어 묘듈을 설명하는 JSON/YAML 파일
      • Artifact: 디바이스에서 실행될 소프트웨어를 정의하는 소스 코드, 바이너리 또는 스크립트
      • Dependency: 종속 구성 요소의 자동 업데이트 또는 다시 시작을 강제할 수 있는 구성 요소 간의 관계

     

    Deployment

    • 단일 Greengrass Core device 또는 Greengrass Core device group이 될 수 있는 destination target device(엣지)에 구성 요소를 보내고 원하는 component 구성을 적용하는 프로세스
    • 업데이트된 모든 component를 대상에 자동으로 적용하고 종속성으로 정의 된 다른 모든 구성 요소들을 포함
    • deployment의 component 또는 component 구성에 대한 모든 업데이트가 자동으로 모든 destination targets 으로 전송됨

    쉽게 말하면, component는 Edge 디바이스에서 실행되는 소프트웨어 모듈이나 코드 조각임!

    이 component 들이 greengrass 디바이스에서 로컬로 실행되고, 클라우드와의 통신이나 데이터 처리 작업 수행함...

    componen는 람다함수, ML 모델, Docker 컨테이너의 형태임, 물론 component끼리도 통신할수 있음

     

     


     

    • AWS IoT Greengrass Core software V2 배포 및 설정
    • 에지에서 IPC(프로세스 간 통신)을 위한 사용자 지정 구성 요소 만들기
      • Publisher component 개발 및 배포
      • Subscriber component 개발 및 배포
    • Lambda를 사용해 사용자 지정 component를 생성하여 IPC에서 AWS IoT Core로 엣지 데이터 가져오기
    • AWS IoT Greengrass V2에서 MQTT 브리지 설정

    Cloud9 인스턴스 구성

    : Greengrass edge runtime을 실행하기 위한 환경

     

    - workshop에 나와있는 것처럼 임시 자격증명 비활성화 / aws configure / 환경 변수 설정 차례로 하기

     

    Greengrass 설정

    - AWS IoT core의 초기 설정 수행하고, v2 설치프로그램으로 cloud9(에지 게이트웨이 에뮬레이션) 에 v2를 설치해보자

    - 설치 프로그램은 사물, 정책, 디바이스 인증서를 프로비저닝함

    - iot core에서 greengrass 코어 디바이스 설정 및 iot core 연결 완료

    - java 설치

     

    이렇게, 코어 디바이스를 설정하면서 보이는 명령어들을 cloud9에 복붙함

     

     

     

    Component 만들기

    - component의 단위로 모듈식 소프트웨어를 임의로 개발하고 배포할 수 있음

    - 디바이스에 샘플 애플리케이션을 만들고 이를 구성 요소로 배포할 예정

     

    <Actifacts>

    mkdir -p ~/environment/GreengrassCore/artifacts/com.example.HelloWorld/1.0.0 && touch ~/environment/GreengrassCore/artifacts/com.example.HelloWorld/1.0.0/hello_world.py

     

    - 위 명령어를 실행하면 아티팩트 폴더랑 빈 스크립트 파일이 생성됨

    - 아티팩트는 디바이스에서 실행될 소프트웨어를 정의하는 코드를 뜻함

    - 아티팩트 경로는 항상 artifacts/componentName/componentVersion/. 형식임

     

     

    <Recipe>

    mkdir -p ~/environment/GreengrassCore/recipes && touch ~/environment/GreengrassCore/recipes/com.example.HelloWorld-1.0.0.json

     

    - 위 명령어를 실행하면 아티팩트 폴더랑 빈 스크립트 파일이 생성됨

    - 레시피는 component 세부 정보, 구성 및 매개 변수를 정의하여 소프트웨어 묘듈을 설명하는 JSON/YAML 파일

     

    component 실행 및 테스트

    sudo tail -F /greengrass/v2/logs/greengrass.log

     

    Component를 Greengrass 코어 디바이스에 배포

    sudo /greengrass/v2/bin/greengrass-cli deployment create \
      --recipeDir ~/environment/GreengrassCore/recipes \
      --artifactDir ~/environment/GreengrassCore/artifacts \
      --merge "com.example.HelloWorld=1.0.0"

     

    배포하고, 배포 성공 확인 로그를 통해 확인해보자

     

     

     

     

     

    https://realyun99.tistory.com/192

     

    [AWS] AWS IoT Greengrass V2 실습

    (참고: https://catalog.us-east-1.prod.workshops.aws/workshops/5ecc2416-f956-4273-b729-d0d30556013f/en-US) Greengrass 란? 디바이스 소프트웨어를 구축, 배포 및 관리하는데 도움이되는 IoT 오픈 소스 엣지 런타임 및 클라우

    realyun99.tistory.com

     

Designed by Tistory.