기기 연결 AWS IoT - AWS IoT Core

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

기기 연결 AWS IoT

장치는 다른 서비스에 AWS IoT 연결되고 이를 통해 다른 서비스에 연결됩니다 AWS IoT Core. 를 통해 AWS IoT Core장치는 사용자 계정과 관련된 장치 엔드포인트를 사용하여 메시지를 보내고 받습니다. AWS IoT 디바이스 SDK는 MQTT 및 WSS 프로토콜을 사용하여 디바이스 통신을 지원합니다. 디바이스가 사용할 수 있는 프로토콜에 대한 자세한 내용은 디바이스 통신 프로토콜 단원을 참조하세요.

메시지 브로커

AWS IoT 메시지 브로커를 통해 장치 통신을 관리합니다. 디바이스 및 클라이언트는 메시지 브로커에 메시지를 게시하고 메시지 브로커가 게시하는 메시지를 구독합니다. 메시지는 애플리케이션이 정의한 주제로 식별됩니다. 메시지 브로커는 디바이스 또는 클라이언트에서 게시한 메시지를 수신하면 해당 메시지를 메시지 주제를 구독한 디바이스 및 클라이언트에 다시 게시합니다. 또한 메시지 브로커는 메시지를 규칙 엔진으로 전달하며, AWS IoT 규칙 엔진은 메시지 내용에 따라 조치를 취할 수 있습니다.

AWS IoT 메시지 보안

AWS IoT 사용할 장치 연결 X.509 클라이언트 인증서 및 인증을 위한 V4 AWS 서명. 장치 통신은 TLS 버전 1.3으로 보호되며 AWS IoT 장치를 연결할 때 서버 이름 표시 (SNI) 확장자를 보내야 합니다. 자세한 내용은 의 전송 보안을 참조하십시오. AWS IoT

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-type endpointType

이 명령은 account-specific-prefix.iot.aws-region.amazonaws.com 형식으로 iot-endpoint를 반환합니다.

모든 고객에게는 iot:Data-ATSiot:Data 엔드포인트가 있습니다. 각 엔드포인트는 X.509 인증서를 사용하여 클라이언트를 인증합니다. Symantec 인증 기관에 대해 만연해 있는 불신과 관련된 문제를 피하려면 iot:Data-ATS 엔드포인트 유형을 사용하는 것이 좋습니다. 이전 버전과의 호환성을 위해 VeriSign 인증서를 사용하는 이전 iot:Data 엔드포인트에서 데이터를 검색하는 디바이스용 엔드포인트를 제공합니다. 자세한 내용은 서버 인증을 참조하세요.

AWS IoT 디바이스용 엔드포인트

엔드포인트 용도

endpointType

설명

AWS IoT Core - 데이터 영역 작업

iot:Data-ATS

메시지 브로커, 디바이스 섀도우 및 AWS IoT의 규칙 엔진 구성 요소와 데이터를 주고받는 데 사용됩니다.

iot:Data-ATS은(는) ATS 서명 데이터 엔드포인트를 반환합니다.

AWS IoT Core - 데이터 영역 작업(레거시)

iot:Data

iot:Data이전 버전과의 호환성을 위해 제공된 VeriSign 서명된 데이터 엔드포인트를 반환합니다. MQTT 5는 Symantec(iot:Data) 엔드포인트에서 지원되지 않습니다.

AWS IoT Core 자격 증명 액세스

iot:CredentialProvider

다른 AWS 서비스와 직접 연결하기 위해 디바이스의 기본 제공 X.509 인증서를 임시 자격 증명과 교환하는 데 사용됩니다. 다른 AWS 서비스에 연결하는 방법에 대한 자세한 내용은 서비스에 대한 다이렉트 콜 승인을 참조하십시오. AWS

AWS IoT Device Management - 작업 데이터 작업

iot:Jobs

장치가 작업 장치 HTTPS API를 사용하여 AWS IoT 작업 서비스와 상호 작용할 수 있도록 하는 데 사용됩니다.

AWS IoT 디바이스 어드바이저 작업

iot:DeviceAdvisor

Device Advisor를 사용하여 디바이스를 테스트하는 데 사용되는 테스트 엔드포인트 유형입니다. 자세한 정보는 Device Advisor을 참조하세요.

AWS IoT Core 데이터 베타 (미리 보기)

iot:Data-Beta

베타 릴리스용으로 예약된 엔드포인트 유형입니다. 현재 사용에 대한 자세한 내용은 구성 가능한 엔드포인트 섹션을 참조하세요.

example.com과 같은 자체 FQDN (정규화된 도메인 이름) 과 관련 서버 인증서를 사용하여 장치를 연결하는 데 사용할 수도 있습니다. AWS IoT 구성 가능한 엔드포인트

AWS IoT 디바이스 SDK

AWS IoT 디바이스 SDK는 IoT 디바이스를 연결하는 데 도움이 AWS IoT Core 되며 WSS 프로토콜을 통한 MQTT 및 MQTT를 지원합니다.

AWS IoT 장치 SDK는 IoT 장치의 특수 통신 요구 사항을 지원하지만 SDK에서 지원하는 모든 서비스를 지원하지는 않는다는 점에서 SDK와 다릅니다. AWS AWS IoT AWS AWS IoT 디바이스 SDK는 모든 AWS 서비스를 지원하는 AWS SDK와 호환되지만 서로 다른 인증 방법을 사용하고 서로 다른 엔드포인트에 연결되므로 IoT 디바이스에서 AWS SDK를 사용하는 것이 비실용적일 수 있습니다.

모바일 디바이스

MQTT 장치 통신, 일부 AWS IoT 서비스 API 및 기타 서비스의 API를 모두 AWS 모바일 SDK 지원합니다. AWS 지원되는 모바일 디바이스에서 개발하는 경우 IoT 솔루션 개발에 가장 적합한 옵션인지 확인하기 위해 SDK를 검토하세요.

C++

AWS IoT C++ 디바이스 SDK

개발자는 AWS IoT C++ 기기 SDK를 사용하여 서비스의 API를 사용하여 AWS 연결된 애플리케이션을 구축할 수 있습니다. AWS IoT Core 특히 이 SDK는 리소스의 제한을 받지 않으면서 메시지 대기열, 멀티-스레딩 지원, 최신 언어 같은 고급 기능이 필요한 디바이스를 위해 설계되었습니다. 자세한 내용은 다음을 참조하십시오.

Python

AWS IoT 파이썬용 디바이스 SDK

Python용 AWS IoT 장치 SDK를 사용하면 개발자가 장치를 사용하여 WebSocket 보안 (WSS) 프로토콜을 통해 MQTT 또는 MQTT를 통해 AWS IoT 플랫폼에 액세스하는 Python 스크립트를 작성할 수 있습니다. 디바이스를 서비스의 API에 연결함으로써 사용자는 메시지 브로커, 규칙, Device Shadow AWS IoT Core 서비스를 AWS IoT Core 제공하는 Device Shadow 서비스 및 Amazon Kinesis AWS Lambda, Amazon S3 등과 같은 다른 AWS 서비스를 사용하여 안전하게 작업할 수 있습니다.

JavaScript

AWS IoT 다음에 대한 디바이스 SDK JavaScript

용 AWS IoT 디바이스 SDK를 JavaScript 사용하면 개발자가 프로토콜을 통해 MQTT 또는 AWS IoT Core MQTT를 사용하는 API에 액세스하는 JavaScript 애플리케이션을 작성할 수 있습니다. WebSocket 이 패키지는 Node.js 환경 및 브라우저 애플리케이션에서 사용할 수 있습니다. 자세한 내용은 다음을 참조하십시오.

Java

AWS IoT 자바용 디바이스 SDK

Java용 AWS IoT 디바이스 SDK를 사용하면 자바 개발자가 프로토콜을 통해 MQTT 또는 AWS IoT Core MQTT를 통해 API에 액세스할 수 있습니다. WebSocket SDK는 디바이스 섀도우 서비스를 지원합니다. 섀도우는 GET, UPDATE, DELETE 등의 HTTP 메서드를 사용하여 액세스할 수 있습니다. 또한 이 SDK는 간소화된 섀도우 액세스 모델을 지원합니다. 이 모델에서는 개발자가 JSON 문서를 직렬화 또는 역직렬화할 필요 없이 getter 및 setter 메서드를 사용하여 데이터를 섀도우와 교환할 수 있습니다. 자세한 내용은 다음을 참조하십시오.

Embedded C

AWS IoT 임베디드 C용 디바이스 SDK

중요

이 SDK는 숙련된 임베디드 소프트웨어 개발자가 사용하기 위한 것입니다.

AWS IoT Device SDK for Embedded C (C-SDK) 는 MIT 오픈 소스 라이선스에 따른 C 소스 파일 모음으로, 임베디드 애플리케이션에서 IoT 장치를 AWS IoT Core에 안전하게 연결하는 데 사용할 수 있습니다. 여기에는 MQTT, JSON 파서, AWS IoT Device Shadow 라이브러리 등이 포함됩니다. 소스 형식으로 배포되며 애플리케이션 코드, 기타 라이브러리 및 선택적으로 RTOS(실시간 운영 체제)와 함께 고객 펌웨어에 구축됩니다.

AWS IoT Device SDK for Embedded C 는 일반적으로 최적화된 C 언어 런타임이 필요한 리소스 제약이 있는 장치를 대상으로 합니다. 모든 운영 체제에서 SDK를 사용하고, 모든 프로세서 유형(예: MCU 및 MPU)에서 호스팅할 수 있습니다. 기기에 충분한 메모리 및 처리 리소스가 있는 경우 다른 기기 및 모바일 SDK (예: C++용 AWS IoT AWS IoT 기기 SDK, Java 또는 Python) 중 하나를 사용하는 것이 좋습니다. JavaScript

자세한 내용은 다음을 참조하십시오.