배포 알림 받기 - AWS IoT Greengrass

AWS IoT Greengrass Version 1 2023년 6월 30일에 수명 연장 단계에 들어갔습니다. AWS IoT Greengrass V1 관리형 정책에 대한 자세한 정보는 섹션을 참조하세요. 이 날짜 이후에는 기능, 개선 사항, 버그 수정 또는 보안 패치를 제공하는 업데이트가 AWS IoT Greengrass V1 릴리스되지 않습니다. 에서 실행되는 기기는 AWS IoT Greengrass V1 중단되지 않으며 계속 작동하고 클라우드에 연결됩니다. 새로운 기능이 크게 추가되고 추가 플랫폼에 대한 지원이 추가되는 으로 마이그레이션하는 AWS IoT Greengrass Version 2 것이 좋습니다.

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

배포 알림 받기

Amazon EventBridge 이벤트 규칙을 사용하여 Greengrass 그룹 배포의 상태 변경에 대한 알림을 받을 수 있습니다. EventBridge는 AWS 리소스의 변경 사항을 설명하는 시스템 이벤트의 스트림을 거의 실시간으로 제공합니다. AWS IoT Greengrass는 이러한 이벤트를 EventBridge에 한 번 이상 전송합니다. 즉, AWS IoT Greengrass는 전달을 보장하기 위해 특정 이벤트의 사본을 여러 개 전송할 수 있습니다. 또한 이벤트 리스너는 이벤트가 발생한 순서대로 이벤트를 수신하지 못할 수 있습니다.

참고

Amazon EventBridge는 애플리케이션을 Greengrass 코어 디바이스 및 배포 알림과 같이 다양한 소스의 데이터와 연결하는 데 사용할 수 있는 이벤트 버스 서비스입니다. 자세한 내용은 Amazon EventBridge 사용 설명서Amazon EventBridge란? 섹션을 참조하세요.

AWS IoT Greengrass는 그룹 배포 상태가 변경될 때 이벤트를 발생시킵니다. 모든 상태 전환 또는 지정한 상태로의 전환에 대해 실행하는 EventBridge 규칙을 생성할 수 있습니다. 배포가 규칙을 트리거하는 상태로 전환되면 EventBridge는 규칙에 정의된 대상 작업을 간접 호출합니다. 이렇게 하면 알림을 전송하고, 이벤트 정보를 캡처하고, 적절한 조치를 취하거나, 상태 변경에 대응하는 기타 이벤트를 시작할 수 있습니다. 예를 들면, 다음 사용 사례에 대한 규칙을 생성할 수 있습니다.

  • 자산 다운로드 및 담당자 알림 전송과 같은 배포 후 작업을 트리거합니다.

  • 배포 성공 또는 실패 시 알림 보내기

  • 배포 이벤트에 대한 사용자 지정 지표 게시

AWS IoT Greengrass는 배포가 다음 상태 Building, InProgress, SuccessFailure로 전환될 때 이벤트를 발생시킵니다.

참고

대량 배포 작업 상태를 모니터링하는 기능은 현재 지원되지 않습니다. 하지만 AWS IoT Greengrass는 대량 배포에 포함된 개별 그룹 배포의 상태 변경 이벤트를 발생시킵니다.

그룹 배포 상태 변경 이벤트

배포 상태 변경에 대한 이벤트에서 사용하는 형식은 다음과 같습니다.

{ "version":"0", "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8", "detail-type":"Greengrass Deployment Status Change", "source":"aws.greengrass", "account":"123456789012", "time":"2018-03-22T00:38:11Z", "region":"us-west-2", "resources":[], "detail":{ "group-id": "284dcd4e-24bc-4c8c-a770-EXAMPLEf03b8", "deployment-id": "4f38f1a7-3dd0-42a1-af48-EXAMPLE09681", "deployment-type": "NewDeployment|Redeployment|ResetDeployment|ForceResetDeployment", "status": "Building|InProgress|Success|Failure" } }

하나 이상의 그룹에 적용할 규칙을 생성할 수 있습니다. 다음 배포 유형과 배포 상태 중 하나로 규칙을 필터링할 수 있습니다.

배포 유형
  • NewDeployment. 그룹 버전의 최초 배포.

  • ReDeployment. 그룹 버전의 재배포.

  • ResetDeployment. AWS 클라우드와 AWS IoT Greengrass 코어에 저장된 배포 정보를 삭제합니다. 자세한 내용은 배포 재설정 섹션을 참조하세요.

  • ForceResetDeployment. AWS 클라우드에 저장된 배포 정보를 삭제하며, 코어 대응을 대기하지 않고 성공을 보고합니다. 코어가 연결되었거나 다음에 연결할 때 코어에 저장된 배포 정보도 삭제합니다.

배포 상태
  • Building. AWS IoT Greengrass가 그룹 구성을 검증하고 배포 아티팩트를 빌드합니다.

  • InProgress. 배포가 AWS IoT Greengrass 코어에서 진행 중입니다.

  • Success. 배포가 성공했습니다.

  • Failure. 배포가 실패했습니다.

이벤트가 중복되거나 이벤트 순서가 잘못되었을 수 있습니다. 이벤트 순서를 정하려면 time 속성을 사용하세요.

참고

AWS IoT Greengrass에서는 resources 속성이 사용되지 않으므로 항상 비어 있습니다.

EventBridge 규칙 생성을 위한 사전 조건

AWS IoT Greengrass에 대한 EventBridge 규칙을 생성하기 전에 다음 수행해야 합니다.

  • Eventbridge의 이벤트, 규칙, 대상을 숙지해야 합니다.

  • EventBridge 규칙에 의해 간접 호출되는 대상을 생성하고 구성해야 합니다. 규칙은 다음을 비롯한 다양한 유형의 대상을 간접 호출할 수 있습니다.

    • Amazon Simple Notification Service (Amazon SNS)

    • AWS Lambda 함수

    • Amazon Kinesis Video Streams

    • Amazon Simple Queue Service(Amazon SQS) 대기열

자세한 내용은 Amazon EventBridge 사용 설명서Amazon EventBridge란?Amazon EventBridge 시작하기 섹션을 참조하세요.

배포 알림 구성(콘솔)

다음 단계를 사용하여 그룹의 배포 상태가 변경될 때 Amazon SNS 주제를 게시하는 EventBridge 규칙을 생성합니다. 이렇게 하면 웹 서버, 이메일 주소 및 기타 주제 구독자가 이벤트에 대응할 수 있습니다. 자세한 내용은 Amazon EventBridge 사용자 안내서AWS 리소스에서 이벤트에 트리거하는 EventBridge 규칙 생성을 참조하세요.

  1. Amazon EventBridge 콘솔을 엽니다.

  2. 탐색 창에서 규칙을 선택합니다.

  3. 규칙 생성을 선택합니다.

  4. 규칙에 대해 이름과 설명을 입력합니다.

    규칙은 동일한 리전과 동일한 이벤트 버스의 다른 규칙과 동일한 이름을 가질 수 없습니다.

  5. 이벤트 버스에서 이 규칙과 연결할 이벤트 버스를 선택합니다. 이 규칙이 자신의 계정에서 발생하는 이벤트와 일치하도록 하려면 AWS 기본 이벤트 버스를 선택합니다. 계정의 AWS 서비스가 이벤트를 출력하면 항상 계정의 기본 이벤트 버스로 이동합니다.

  6. 규칙 유형(Rule type)에서 이벤트 패턴이 있는 규칙(Rule with an event pattern)을 생성합니다.

  7. 다음(Next)을 선택합니다.

  8. 이벤트 소스(Event source)에서 AWS 서비스(services)를 선택합니다.

  9. 이벤트 패턴의 경우, AWS 서비스를 선택합니다.

  10. AWS 서비스 이름에서 Greengrass를 선택합니다.

  11. 이벤트 유형에에서 Greengrass 배포 상태 변경을 선택합니다.

    참고

    CloudTrail을 통한 AWS API 호출 이벤트 유형은 AWS IoT Greengrass와 AWS CloudTrail의 통합을 기반으로 합니다. 이 옵션을 사용하여 AWS IoT Greengrass API에 대한 읽기 또는 쓰기 호출에 의해 개시되는 규칙을 만들 수 있습니다. 자세한 내용은 AWS CloudTrail을 사용하여 AWS IoT Greengrass API 직접 호출 로깅 섹션을 참조하세요.

  12. 알림을 트리거하는 배포 상태를 선택합니다.

    • 모든 상태 변경 이벤트에 대한 알림을 받으려면 모든 상태를 선택합니다.

    • 일부 상태 변경 이벤트에 대해서만 알림을 받으려면 특정 상태를 선택한 다음 대상 상태를 선택합니다.

  13. 알림을 트리거하는 배포 유형을 선택합니다.

    • 모든 배포 유형에 대한 알림을 받으려면 모든 상태를 선택합니다.

    • 일부 배포 유형에 대해서만 알림을 받으려면 특정 상태를 선택한 다음 대상 배포 유형을 선택합니다.

  14. 다음(Next)을 선택합니다.

  15. 대상 유형(Target types)에서 AWS서비스(service)를 선택합니다.

  16. 대상 선택에서 대상을 구성합니다. 이 예제에서는 Amazon SNS 주제를 사용하지만 알림을 보내도록 다른 대상 유형을 구성할 수 있습니다.

    1. 대상에서 SNS 주제를 선택합니다.

    2. 주제에서 대상 주제를 선택합니다.

    3. 다음(Next)을 선택합니다.

  17. 태그에서 규칙에 대한 태그를 정의하거나 필드를 비워 둡니다.

  18. 다음(Next)을 선택합니다.

  19. 규칙의 세부 정보를 검토하고 규칙 생성(Create rule)을 선택합니다.

배포 알림 구성(CLI)

다음 단계를 사용하여 그룹의 배포 상태가 변경될 때 Amazon SNS 주제를 게시하는 EventBridge 규칙을 생성합니다. 이렇게 하면 웹 서버, 이메일 주소 및 기타 주제 구독자가 이벤트에 대응할 수 있습니다.

  1. 규칙을 생성합니다.

    • group-id를 AWS IoT Greengrass 그룹의 ID로 바꿉니다.

    aws events put-rule \ --name TestRule \ --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail\": {\"group-id\": [\"group-id\"]}}"

    패턴에서 생략된 속성은 무시됩니다.

  2. 규칙 대상으로 주제를 추가합니다.

    • topic-arn을 Amazon SNS 주제의 ARN으로 바꿉니다.

    aws events put-targets \ --rule TestRule \ --targets "Id"="1","Arn"="topic-arn"
    참고

    Amazon EventBridge가 대상 주제를 호출하도록 허용하려면 주제에 리소스 기반 정책을 추가해야 합니다. 자세한 내용은 Amazon EventBridge 사용 설명서Amazon SNS 권한 섹션을 참조하세요.

자세한 내용은 Amazon EventBridge 사용 설명서에서 EventBridge의 이벤트 및 이벤트 패턴 섹션을 참조하세요.

배포 알림 구성(AWS CloudFormation)

AWS CloudFormation 템플릿을 사용하여 Greengrass 그룹 배포의 상태 변경에 대한 알림을 보내는 EventBridge 규칙을 만듭니다. 자세한 내용은 AWS CloudFormation 사용 설명서의 Amazon EventBridge 리소스 유형 참조를 참조하세요.

다음 사항도 참조하세요.