디바이스 통신 프로토콜 - AWS IoT Core

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

디바이스 통신 프로토콜

AWS IoT Core 는 MQTT 및 MQTT over WebSocket Secure(WSS) 프로토콜을 사용하여 메시지를 게시하고 구독하는 디바이스와 클라이언트, 그리고 HTTPS 프로토콜을 사용하여 메시지를 게시하는 디바이스와 클라이언트를 지원합니다. 모든 프로토콜은 IPv4 및 IPv6를 지원합니다. 이 단원에서는 디바이스와 클라이언트에 대한 다양한 연결 옵션에 대해 설명합니다.

TLS v1

AWS IoT Core 는 TLS 버전 1.2를 사용하여 모든 통신을 암호화합니다. 클라이언트는 SNI(서버 이름 표시) TLS 확장도 전송해야 합니다. SNI를 포함하지 않는 연결 시도는 거부됩니다. 자세한 내용은 AWS IoT의 전송 보안을 참조하십시오.

는 WSS를 통해 MQTT 및 MQTT를 AWS IoT 디바이스 SDKs 지원하며 클라이언트 연결의 보안 요구 사항을 지원합니다. 를 사용하여 클라이언트를 에 AWS IoT 디바이스 SDKs 연결하는 것이 좋습니다AWS IoT.

프로토콜, 포트 매핑 및 인증

디바이스 또는 클라이언트가 디바이스 엔드포인트를 사용하여 메시지 브로커에 연결하는 방법은 사용하는 프로토콜에 따라 다릅니다. 다음 표에는 AWS IoT 디바이스 엔드포인트가 지원하는 프로토콜과 이들이 사용하는 인증 방법 및 포트가 나열되어 있습니다.

프로토콜, 인증 및 포트 매핑
프로토콜 지원되는 작업 인증 포트 ALPN 프로토콜 이름

MQTT over WebSocket

게시, 구독 서명 버전 4 443

해당 사항 없음

MQTT over WebSocket

게시, 구독 사용자 지정 인증 443

해당 사항 없음

MQTT

게시, 구독

X.509 클라이언트 인증서

443

x-amzn-mqtt-ca

MQTT 게시, 구독 X.509 클라이언트 인증서 8883 해당 사항 없음

MQTT

게시, 구독

사용자 지정 인증

443

mqtt

HTTPS

게시만

서명 버전 4

443

해당 사항 없음

HTTPS

게시만

X.509 클라이언트 인증서

443

x-amzn-http-ca

HTTPS 게시만 X.509 클라이언트 인증서 8443 해당 사항 없음
HTTPS 게시만 사용자 지정 인증 443 해당 사항 없음
ALPN(Application Layer Protocol Negotiation)

포트 443에서 X.509 클라이언트 인증서 인증을 사용하여 연결하는 클라이언트는 ALPN(Application Layer Protocol Negotiation) TLS 확장을 구현하고 클라이언트가 메시지의 일부로 전송한 ALPN ProtocolNameList에 나열된 ALPN 프로토콜 이름을ClientHello 사용해야 합니다.

포트 443에서 IoT 엔드포인트는 ALPN x-amzn-http-ca HTTP를 지원하지만 IoT 엔드포인트는 지원하지 않습니다.

포트 8443 HTTPS 및 포트 443 MQTT와 ALPN x-amzn-mqtt-ca에서는 사용자 지정 인증을 사용할 수 없습니다.

클라이언트가 AWS 계정의 디바이스 엔드포인트에 연결됩니다. 계정의 디바이스 엔드포인트를 찾는 방법에 대한 AWS IoT 디바이스 데이터 및 서비스 엔드포인트 자세한 내용은 단원을 참조하십시오.

AWS IoT Core 연결

프로토콜

엔드포인트 또는 URL

MQTT

iot-endpoint

WSS를 통한 MQTT

wss://iot-endpoint/mqtt

HTTPS

https://iot-endpoint/topics

디바이스 통신을 위한 프로토콜 선택

디바이스 엔드포인트를 통한 대부분의 IoT 디바이스 통신의 경우 MQTT 또는 MQTT over WSS 프로토콜을 사용할 수 있지만 디바이스 엔드포인트는 HTTPS도 지원합니다. 다음 표에서는 에서 디바이스 통신에 두 가지 프로토콜을 AWS IoT Core 사용하는 방법을 비교합니다.

AWS IoT 디바이스 프로토콜 병렬

기능

MQTT

HTTPS

게시/구독 지원

게시 및 구독

게시만

SDK 지원

AWS 디바이스 SDKs MQTT 및 WSS 프로토콜 지원

SDK는 지원되지 않지만, 언어별 메서드를 사용하여 HTTPS 요청을 할 수 있습니다.

서비스 품질 지원

MQTT QoS 수준 0 및 1

QoS 지원 안 함

디바이스가 오프라인 상태일 때 누락된 메시지를 수신할 수 있음 아니요

clientId 필드 지원

아니요

디바이스 연결 해제 감지

아니요

보안 통신

예. 프로토콜, 포트 매핑 및 인증 단원을 참조하십시오.

예. 프로토콜, 포트 매핑 및 인증 단원을 참조하십시오.

연결 기간 최대 몇 주 최대 24시간

주제 정의

애플리케이션 정의

애플리케이션 정의

메시지 데이터 형식

애플리케이션 정의

애플리케이션 정의

프로토콜 오버헤드 하위 더 높음
전력 소비 하위 더 높음