관리형 통합 알림 - 에 대한 관리형 통합 AWS IoT Device Management

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

관리형 통합 알림

관리형 통합 알림은 디바이스에서 업데이트 및 주요 인사이트를 제공합니다. 알림에는 커넥터 이벤트, 디바이스 명령, 수명 주기 이벤트, OTA(Over-the-Air) 업데이트 및 오류 보고서가 포함됩니다. 이러한 인사이트는 자동화된 워크플로를 생성하거나, 즉각적인 조치를 취하거나, 문제 해결을 위해 이벤트 데이터를 저장할 수 있는 실행 가능한 정보를 제공합니다.

현재 Amazon Kinesis 데이터 스트림만 관리형 통합 알림의 대상으로 지원됩니다. 알림을 설정하기 전에 먼저 Amazon Kinesis 데이터 스트림을 설정하고 데이터 스트림에 대한 관리형 통합 액세스를 허용해야 합니다.

알림을 위한 Amazon Kinesis 설정

관리형 통합 알림을 위해 Amazon Kinesis를 설정하려면 다음 단계를 따르세요.

1단계: Amazon Kinesis 데이터 스트림 생성

Amazon Kinesis Data Stream은 대량의 데이터를 실시간으로 수집하고, 데이터를 내구성 있게 저장하고, 애플리케이션에서 데이터를 사용할 수 있도록 할 수 있습니다.

Amazon Kinesis 데이터 스트림을 생성하려면

2단계: 권한 정책 생성

관리형 통합이 Kinesis 데이터 스트림에 액세스할 수 있도록 허용하는 권한 정책을 생성합니다.

권한 정책 생성을 생성하려는 경우

IAM 대시보드를 열고 역할을 클릭합니다.

IAM 대시보드로 이동하려면
  • IAM 대시보드를 열고 역할을 클릭합니다.

    자세한 내용은 AWS Identity and Access Management 사용 설명서의 IAM 역할 생성을 참조하세요.

4단계: 사용자 지정 신뢰 정책 사용

사용자 지정 신뢰 정책을 사용하여 관리형 통합에 Kinesis 데이터 스트림에 대한 액세스 권한을 부여할 수 있습니다.

사용자 지정 신뢰 정책을 사용하려면
  • 새 역할을 생성하고 사용자 지정 신뢰 정책을 선택합니다. 다음을 클릭합니다.

    다음 정책은 관리형 통합이 역할을 수임하도록 허용하며, Condition 문은 혼동된 대리자 문제를 방지하는 데 도움이 됩니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iotmanagedintegrations.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:*" } } } ] }

5단계: 권한 정책 적용

2단계에서 생성한 권한 정책을 역할에 추가합니다.

권한 정책을 추가하려면
  • 권한 추가 페이지에서 2단계에서 생성한 권한 정책을 검색하고 추가합니다. 다음을 클릭합니다.

6단계: 역할 이름 입력

  • 역할 이름을 입력하고 역할 생성을 클릭합니다.

관리형 통합 알림 설정

관리형 통합 알림을 설정하려면 다음 단계를 따르세요.

1단계: 사용자에게 CreateDestination API를 호출할 수 있는 권한 부여

  • 사용자에게 CreateDestination API를 호출할 수 있는 권한 부여

    다음 정책은 사용자가 CreateDestination API를 호출하기 위한 요구 사항을 정의합니다.

    관리형 통합에 대한 패스롤 권한을 얻으려면 사용 설명서의 AWS 서비스에 역할을 전달할 수 있는 AWS Identity and Access Management 사용자 권한 부여를 참조하세요.

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"iam:PassRole", "Resource":"arn:aws:iam::accountID:role/ROLE_CREATED_IN_PREVIOUS_STEP", "Condition":{ "StringEquals":{ "iam:PassedToService":"iotmanagedintegrations.amazonaws.com" } } }, { "Effect":"Allow", "Action":"iotmanagedintegrations:CreateDestination", "Resource":"*" } ] }

2단계: CreateDestination API 호출

  • CreateDestination API 호출

    Amazon Kinesis 데이터 스트림 및 스트림 액세스 역할을 생성한 후 CreateDestination API를 호출하여 알림이 라우팅될 알림 대상을 생성합니다. DeliveryDestinationArn 파라미터의 경우 새 Amazon Kinesis 데이터 스트림arn의를 사용합니다.

    { "DeliveryDestinationArn": "Your Kinesis arn" "DeliveryDestinationType": "KINESIS" "Name": "DestinationName" "ClientToken": "string" "RoleArn": "arn:aws:iam::accountID:role/ROLE_CREATED_IN_PREVIOUS_STEP" }
    참고

    ClientToken는 멱등성 토큰입니다. 처음에 동일한 클라이언트 토큰 및 파라미터를 사용하여 성공적으로 완료된 요청을 재시도하면 추가 작업을 수행하지 않고 재시도에 성공합니다.

3단계: CreateNotificationConfiguration API 호출

  • CreateNotificationConfiguration API 호출

    마지막으로 CreateNotificationConfiguration API를 사용하여 선택한 이벤트 유형을 Kinesis 데이터 스트림으로 표시되는 대상으로 라우팅하는 알림 구성을 생성합니다. DestinationName 파라미터에서 CreateDestination API를 처음 호출할 때와 동일한 대상 이름을 사용합니다.

    { "EventType": "DEVICE_EVENT" "DestinationName" // This name has to be identical to the name in createDestination API "ClientToken": "string" }

관리형 통합으로 모니터링되는 이벤트 유형

다음은 관리형 통합 알림으로 모니터링되는 이벤트 유형입니다.

  • DEVICE_COMMAND

    • SendManagedThingCommand API 명령의 상태입니다. 유효한 값은 succeeded 또는 failed입니다.

      { "version":"0", "messageId":"6a7e8feb-b491-4cf7-a9f1-bf3703467718", "messageType":"DEVICE_COMMAND", "source":"aws.iotmanagedintegrations", "customerAccountId":"123456789012", "timestamp":"2017-12-22T18:43:48Z", "region":"ca-central-1", "resources":[ "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/6a7e8feb-b491-4cf7-a9f1-bf3703467718" ], "payload":{ "traceId":"1234567890abcdef0", "receivedAt":"2017-12-22T18:43:48Z", "executedAt":"2017-12-22T18:43:48Z", "result":"failed" } }
  • DEVICE_COMMAND_REQUEST

    • Web Real-Time Communication(WebRTC)의 명령 요청입니다.

      WebRTC 표준은 두 피어 간의 통신을 허용합니다. 이러한 피어는 실시간 비디오, 오디오 및 임의 데이터를 전송할 수 있습니다. 관리형 통합은 WebRTC를 지원하여 고객 모바일 애플리케이션과 최종 사용자의 디바이스 간에 이러한 유형의 스트리밍을 활성화합니다. WebRTC 표준에 대한 자세한 내용은 WebRTC를 참조하세요.

      { "version":"0", "messageId":"6a7e8feb-b491-4cf7-a9f1-bf3703467718", "messageType":"DEVICE_COMMAND_REQUEST", "source":"aws.iotmanagedintegrations", "customerAccountId":"123456789012", "timestamp":"2017-12-22T18:43:48Z", "region":"ca-central-1", "resources":[ "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/6a7e8feb-b491-4cf7-a9f1-bf3703467718" ], "payload":{ "endpoints":[{ "endpointId":"1", "capabilities":[{ "id":"aws.DoorLock", "name":"Door Lock", "version":"1.0" }] }] } }
  • DEVICE_DISCOVERY_STATUS

    • 디바이스의 검색 상태입니다.

      { "version":"0", "messageId":"6a7e8feb-b491-4cf7-a9f1-bf3703467718", "messageType":"DEVICE_DISCOVERY_STATUS", "source":"aws.iotmanagedintegrations", "customerAccountId":"123456789012", "timestamp":"2017-12-22T18:43:48Z", "region":"ca-central-1", "resources":[ "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/6a7e8feb-b491-4cf7-a9f1-bf3703467718" ], "payload":{ "deviceCount": 1, "deviceDiscoveryId": "123", "status": "SUCCEEDED" } }
  • DEVICE_EVENT

    • 디바이스 이벤트 발생에 대한 알림입니다.

      { "version":"1.0", "messageId":"2ed545027bd347a2b855d28f94559940", "messageType":"DEVICE_EVENT", "source":"aws.iotmanagedintegrations", "customerAccountId":"123456789012", "timestamp":"1731630247280", "resources":[ "/quit/1b15b39992f9460ba82c6c04595d1f4f" ], "payload":{ "endpoints":[{ "endpointId":"1", "capabilities":[{ "id":"aws.DoorLock", "name":"Door Lock", "version":"1.0", "properties":[{ "name":"ActuatorEnabled", "value":"true" }] }] }] } }
  • DEVICE_LIFE_CYCLE

    • 디바이스 수명 주기의 상태입니다.

      { "version": "1.0.0", "messageId": "8d1e311a473f44f89d821531a0907b05", "messageType": "DEVICE_LIFE_CYCLE", "source": "aws.iotmanagedintegrations", "customerAccountId": "123456789012", "timestamp": "2024-11-14T19:55:57.568284645Z", "region": "ca-central-1", "resources": [ "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/d5c280b423a042f3933eed09cf408657" ], "payload": { "deviceDetails": { "id": "d5c280b423a042f3933eed09cf408657", "arn": "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/d5c280b423a042f3933eed09cf408657", "createdAt": "2024-11-14T19:55:57.515841147Z", "updatedAt": "2024-11-14T19:55:57.515841559Z" }, "status": "UNCLAIMED" } }
  • DEVICE_OTA

    • 디바이스 OTA 알림입니다.

  • DEVICE_STATE

    • 디바이스 상태가 업데이트되었을 때의 알림입니다.

      { "messageType": "DEVICE_STATE", "source": "aws.iotmanagedintegrations", "customerAccountId": "123456789012", "timestamp": "1731623291671", "resources": [ "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/61889008880012345678" ], "payload": { "addedStates": { "endpoints": [{ "endpointId": "nonEndpointId", "capabilities": [{ "id": "aws.OnOff", "name": "On/Off", "version": "1.0", "properties": [{ "name": "OnOff", "value": { "propertyValue": "\"onoff\"", "lastChangedAt": "2024-06-11T01:38:09.000414Z" } } ]} ]} ]} } }