AWS IoT에 디바이스 연결
디바이스는 AWS IoT Core를 통해 AWS IoT 및 다른 서비스에 연결합니다. 디바이스는 AWS IoT Core를 통해 계정 고유의 디바이스 엔드포인트를 사용하여 메시지를 전송하고 수신합니다. AWS IoT Device SDK는 MQTT 및 WSS 프로토콜을 사용하여 디바이스 통신을 지원합니다. 디바이스가 사용할 수 있는 프로토콜에 대한 자세한 내용은 디바이스 통신 프로토콜 단원을 참조하세요.
메시지 브로커
AWS IoT는 메시지 브로커를 통해 디바이스 통신을 관리합니다. 디바이스 및 클라이언트는 메시지 브로커에 메시지를 게시하고 메시지 브로커가 게시하는 메시지를 구독합니다. 메시지는 애플리케이션이 정의한 주제로 식별됩니다. 메시지 브로커는 디바이스 또는 클라이언트에서 게시한 메시지를 수신하면 해당 메시지를 메시지 주제를 구독한 디바이스 및 클라이언트에 다시 게시합니다. 또한 메시지 브로커는 또한 메시지를 AWS IoT 규칙 엔진으로 전달하며, 이 엔진은 메시지 내용에 따라 작동할 수 있습니다.
AWS IoT 메시지 보안
AWS IoT로의 디바이스 연결은 인증을 위해 X.509 클라이언트 인증서 및 AWS V4 서명을 사용합니다. 디바이스 통신은 TLS 버전 1.3로 보호되며 AWS IoT는 디바이스가 연결될 때 디바이스에서 서버 이름 표시(SNI) 확장
AWS IoT 디바이스 데이터 및 서비스 엔드포인트
중요
엔드포인트를 디바이스에 캐시하거나 저장할 수 있습니다. 즉, 새 디바이스가 연결될 때마다 DescribeEndpoint API를 쿼리할 필요가 없습니다. AWS IoT Core에서 계정에 엔드포인트를 생성한 후에는 엔드포인트가 변경되지 않습니다.
각 계정에는 계정에 고유한 여러 디바이스 엔드포인트가 있으며 특정 IoT 기능을 지원합니다. AWS IoT 디바이스 데이터 엔드포인트는 IoT 디바이스 통신 요구에 맞게 설계된 게시/구독 프로토콜을 지원합니다. 그러나 애플리케이션에 이러한 엔드포인트가 제공하는 특수 기능이 필요한 경우 앱 및 서비스 등의 다른 클라이언트도 이 인터페이스를 사용할 수 있습니다. AWS IoT 디바이스 서비스 엔드포인트는 보안 및 관리 서비스에 대한 디바이스 중심 액세스를 지원합니다.
계정의 디바이스 데이터 엔드포인트를 알아보려면 AWS IoT Core 콘솔의 설정
디바이스 데이터 엔드포인트를 포함하여 특정 용도에 대한 계정의 디바이스 엔드포인트를 알아보려면, 여기에 나타난 describe-endpoint CLI 명령 또는 DescribeEndpoint REST API를 사용하고 다음 표의 파라미터 값을 제공합니다.endpointType
aws iot describe-endpoint --endpoint-typeendpointType
이 명령은 형식으로 account-specific-prefix.iot.aws-region.amazonaws.com.rproxy.govskope.caiot-endpoint를 반환합니다.
모든 고객에게는 iot:Data-ATS 및 iot:Data 엔드포인트가 있습니다. 각 엔드포인트는 X.509 인증서를 사용하여 클라이언트를 인증합니다. Symantec 인증 기관에 대해 만연해 있는 불신과 관련된 문제를 피하려면 iot:Data-ATS 엔드포인트 유형을 사용하는 것이 좋습니다. 이전 버전과의 호환성을 위해 VeriSign 인증서를 사용하는 이전 엔드포인트에서 데이터를 검색하는 디바이스용 iot:Data 엔드포인트를 제공합니다. 자세한 내용은 서버 인증을 참조하세요.
|
엔드포인트 용도 |
|
설명 |
|---|---|---|
|
AWS IoT Core - 데이터 영역 작업 |
|
메시지 브로커, 디바이스 섀도우 및 AWS IoT의 규칙 엔진 구성 요소와 데이터를 주고받는 데 사용됩니다.
|
| AWS IoT Core - 데이터 영역 작업(레거시) |
|
iot:Data는 이전 버전과의 호환성을 위해 제공된 VeriSign 서명 데이터 엔드포인트를 반환합니다. MQTT 5는 Symantec(iot:Data) 엔드포인트에서 지원되지 않습니다. |
|
AWS IoT Core 자격 증명 액세스 |
|
다른 AWS 서비스와 직접 연결하기 위해 디바이스의 기본 제공 X.509 인증서를 임시 자격 증명과 교환하는 데 사용됩니다. 다른 AWS 서비스에 연결하는 방법에 대한 자세한 내용은 AWS 서비스에 대한 직접 호출 권한 부여를 참조하세요. |
|
AWS IoT Device Management - 작업 데이터 작업 |
|
작업 디바이스 HTTPS API를 사용하여 디바이스가 AWS IoT 작업 서비스와 상호작용하도록 하는데 사용됩니다.
|
|
AWS IoT Device Advisor 작업 |
|
Device Advisor를 사용하여 디바이스를 테스트하는 데 사용되는 테스트 엔드포인트 유형입니다. 자세한 내용은 Device Advisor 섹션을 참조하세요. |
|
AWS IoT Core 데이터 베타(미리 보기) |
|
베타 릴리스용으로 예약된 엔드포인트 유형입니다. 현재 사용에 대한 자세한 내용은 도메인 구성 섹션을 참조하세요. |
또한 example.com과 같은 고유한 정규화된 도메인 이름(FQDN)과 연결된 서버 인증서를 사용하여 도메인 구성로 디바이스를 AWS IoT에 연결할 수 있습니다.
AWS IoT Device SDK
AWS IoT Device SDK는 IoT 디바이스를 AWS IoT Core에 연결하는 데 사용할 수 있고 MQTT 및 MQTT over WSS 프로토콜을 지원합니다.
AWS IoT Device SDK는 IoT 디바이스의 특수 통신 요구 사항을 지원하지만 AWS SDK가 지원하는 모든 서비스를 지원하지 않는다는 점에서 AWS IoT Device SDK는 AWS SDK와 다릅니다. AWS IoT Device SDK는 AWS 서비스를 모두 지원하는 AWS SDK와 호환됩니다. 그러나 다른 인증 방법을 사용하고 다른 엔드포인트에 연결하므로 IoT 디바이스에서 AWS SDK를 사용하는 것이 비실용적일 수 있습니다.
모바일 디바이스
AWS Mobile SDK는 MQTT 디바이스 통신, 일부 AWS IoT 서비스 API 및 다른 AWS 서비스의 API를 모두 지원합니다. 지원되는 모바일 디바이스에서 개발하는 경우 IoT 솔루션 개발에 가장 적합한 옵션인지 확인하기 위해 SDK를 검토하세요.