[AWS] API Gateway를 사용해 IoT Core 메시지 Publish 하기

1. 개요

AWS IoT Core는 MQTT와 HTTPS 방식을 지원한다.

IoT 디바이스에서 MQTT로 메세지를 보낼 수 있다면 좋겠지만, 만약 그럴 수 없는 경우 IoT Core가 제공하는 HTTP URL를 사용해 메세지를 POST할 수 있다.

단, HTTPS 통신은 Publish 만을 지원한다. Subscribe는 MQTT를 사용해야한다.

이 글에서는 디바이스가 이미 정의된 REST API URL을 통해 메세지를 전송하는데, 이를 API Gateway를 사용해 AWS IoT Core로 전송하는 방법을 설명한다.

image

2. 설정

1) API Gateway 설정

image

AWS API Gateway -> REST API 를 생성한다.

image

POST 메소드를 생성한다.

Integretion Type : AWS Service

AWS Region : ap-northeast-2

AWS Service : IoT Data

AWS Subdomain : 계정의 IoT Core Endpoint 앞부분 (xxxxx-ats)

HTTP method : POST

Path override : /topics/{메세지를 Publish 할 토픽}

Execution role : 해당 토픽에 Publish 할 수 있는 권한을 가진 역할

Content Handling : Passthrough

image

메소드 생성 후 API를 배포한다.

2) 테스트

image

Postman 에서 Body에 메세지를 넣고 POST 호출하면 “OK” 리스폰스를 받고,

IoT Core -> MQTT test client를 보면 메세지가 보내진 것을 확인할 수 있다.


[참고문서]

https://docs.aws.amazon.com/iot/latest/apireference/API_iotdata_Publish.html

https://docs.aws.amazon.com/solutions/latest/constructs/aws-apigateway-iot.html

카테고리:

업데이트:

댓글남기기