IoT(사물 인터넷)는 물리적 디바이스를 연결하여 인터넷을 통해 데이터를 교환합니다. 전 세계적으로 100억 개 이상의 연결된 디바이스를 통해 센서 및 소프트웨어가 포함된 모든 디바이스가 이 네트워크에 가입할 수 있습니다.
Azure IoT Hub는 클라우드 기반 IoT 솔루션에서 중앙 메시지 허브 역할을 하는 관리되는 서비스입니다. 이를 통해 IoT 애플리케이션과 연결된 디바이스 간에 대규모로 안정적이고 안전한 통신을 수행할 수 있습니다. 거의 모든 디바이스를 IoT 허브에 연결할 수 있습니다.
디바이스-클라우드 메시지, 디바이스에서 파일 업로드, 디바이스를 제어하는 요청-회신 방법 등 여러 메시징 패턴이 지원됩니다. IoT Hub는 디바이스 만들기, 디바이스 연결, 디바이스 오류를 추적하는 데 도움이 되도록 모니터링도 지원합니다.
IoT Hub는 수백만 개의 동시 연결 디바이스와 초당 수백만 개의 이벤트까지 확장하여 IoT 작업을 지원합니다.
IoT 디바이스 이해
IoT 디바이스는 다음과 같은 여러 가지 방법으로 브라우저 및 모바일 앱과 같은 다른 클라이언트와 다릅니다.
- 센서 또는 액추에이터와 같은 인간 연산자가 없는 내장 시스템인 경우가 많습니다.
- 물리적 액세스 비용이 많이 들고, 어렵거나, 불가능한 원격 위치에 배포할 수 있습니다. 예를 들어 풍력 발전 단지 또는 석유 굴착 장치의 센서입니다.
- 인터넷에서 직접 연결하지 않고 솔루션 백 엔드를 통해서만 연결할 수 있습니다. 예를 들어 방화벽 뒤 또는 개인 네트워크에 있는 디바이스입니다.
- 배터리 구동 자산 추적기와 같은 제한된 전원 및 처리 리소스가 있을 수 있습니다.
- 셀룰러 네트워크를 통해 연결된 디바이스와 같이 간헐적이거나 느리거나 비용이 많이 드는 네트워크 연결이 있을 수 있습니다.
- MQTT 또는 AMQP와 같은 독점, 사용자 지정 또는 산업별 애플리케이션 프로토콜을 사용해야 할 수 있습니다.
디바이스 연결 및 인증
모든 IoT Hub에는 IoT Hub에 연결이 허용된 디바이스 및 모듈에 대한 정보를 저장하는 ID 레지스트리가 있습니다. 디바이스 또는 모듈을 IoT Hub에 연결할 수 있으려면 IoT Hub의 ID 레지스트리에 해당 디바이스 또는 모듈에 대한 항목이 있어야 합니다. 디바이스 또는 모듈은 ID 레지스트리에 저장된 자격 증명에 따라 IoT Hub로 인증합니다.
IoT Hub는 디바이스와 IoT Hub 간의 두 가지 인증 방법을 지원합니다. SAS 토큰 기반 인증 또는 X.509 인증서 인증을 사용할 수 있습니다.
- SAS 토큰은 대칭 키를 사용하여 IoT Hub에 대한 각 디바이스 호출을 인증합니다. 이 메서드는 간단하게 구현할 수 있으며 대칭 키를 안전하게 저장할 수 있는 디바이스에 적합합니다.
- X.509 인증서는 TLS(전송 계층 보안) 연결 중에 디바이스를 인증합니다. 이 방법은 더 안전하고 확장 가능하며, 더 높은 수준의 보안이 필요하고 인증서를 관리할 수 있는 디바이스에 대해 이 방법을 선택합니다.
IoT Hub Device Provisioning Service를 사용하여 한 번에 많은 디바이스를 설정하고 프로비전할 수 있습니다.
자세한 내용은 디바이스 관리 및 제어를 참조하세요.
디바이스 통신 패턴
IoT 디바이스와 IoT Hub 간 인터넷 연결은 TLS(전송 계층 보안) 표준을 사용하여 보안이 유지됩니다. Azure IoT는 이전 버전과의 호환성을 위해 TLS 1.2, 1.1 및 1.0을 지원합니다. IoT Hub에서 TLS 지원을 확인하여 가장 보안을 제공하는 TLS 1.2를 사용하도록 허브를 구성하는 방법을 확인합니다.
IoT Hub를 사용하면 디바이스 앱에서 솔루션 백 엔드로, 백 엔드에서 디바이스 앱으로 정보를 보낼 수 있습니다. IoT Hub는 신뢰할 수 있는 메시징을 제공하며 네트워크 중단이 있는 경우에도 메시지가 배달되도록 합니다. 자세한 내용은 디바이스-클라우드 통신 및 클라우드-디바이스 통신을 참조하세요.
디바이스 통신의 예는 다음과 같습니다.
- 냉동 트럭은 5분마다 IoT Hub로 온도를 전송합니다.
- 문제 진단에 도움이 되도록 데이터를 보내는 빈도를 변경하기 위해 디바이스에 명령을 보내는 백 엔드 서비스입니다.
- 온도가 특정 값을 초과할 때 경고를 보내는 화학 공장의 배치 원자로를 모니터링하는 디바이스입니다.
디바이스에서 원격 분석 데이터를 전송하기
IoT Hub는 디바이스에서 원격 분석을 수신하고 적절한 백 엔드 서비스로 라우팅할 수 있습니다. 디바이스에서 수신된 원격 분석의 예로 속도 또는 온도와 같은 센서 데이터, 누락된 이벤트와 같은 오류 메시지 또는 디바이스 정상 상태를 나타내는 정보 메시지가 포함될 수 있습니다. IoT 디바이스는 인사이트를 얻기 위해 애플리케이션에 이벤트를 보냅니다. 애플리케이션에 다른 엔드포인트에서 처리나 스토리지에 대한 특정 이벤트 하위 집합이 필요할 수 있습니다.
자세한 내용은 디바이스 인프라 및 연결을 참조하세요.
디바이스 속성 추가
속성을 IoT Hub에서 읽거나 설정하고 작업이 완료되면 알림을 보내는 데 사용할 수 있습니다. 디바이스에서 특정 속성의 예는 온도입니다. 온도는 디바이스에서 업데이트하거나 디바이스에 연결된 온도 센서에서 읽을 수 있는 쓰기 가능한 속성일 수 있습니다.
디바이스 쌍이나 플러그 앤 플레이를 사용하여 IoT Hub에서 속성을 사용할 수 있습니다.
디바이스에 명령 실행
IoT Hub는 사용자가 디바이스의 직접 메서드를 호출할 수 있게 하여 명령을 구현합니다. 명령의 예는 디바이스 재부팅입니다. 직접 메서드 는 사용자가 지정한 시간 초과 후 즉시 성공하거나 실패한다는 HTTP 호출과 유사한 디바이스와의 요청-회신 상호 작용을 나타냅니다. 이 방법은 즉각적인 조치 과정이 디바이스의 응답 여부에 따라 달라지는 시나리오에서 유용합니다.
디바이스 데이터 처리
디바이스는 IoT Hub로 데이터를 전송합니다. 이 허브는 IoT 애플리케이션과 관리하는 디바이스 간의 양방향 통신을 위한 중앙 메시지 허브 역할을 합니다. 데이터가 IoT Hub에 도달하면 추가 분석 및 작업을 위해 처리하고 다른 서비스로 라우팅할 수 있습니다.
IoT Hub는 다른 Azure 서비스를 사용하여 디바이스 데이터의 값을 잠금 해제하는 기능을 제공하므로 사후 관리가 아닌 예측 문제 해결로 전환할 수 있습니다. 다른 Azure 서비스와 IoT Hub를 연결하면 기계 학습, 분석 및 AI를 수행하여 실시간 데이터에서 작업을 수행하고, 처리를 최적화하며, 심층 인사이트를 얻을 수 있습니다.
참고 항목
Azure IoT Hub가 서비스 인스턴스를 배포하는 지리적 위치 외부에 고객 데이터를 저장하거나 처리하지 않습니다. 자세한 내용은 Azure의 지역 간 복제를 참조하세요.
기본 제공 엔드포인트는 기본적으로 디바이스에서 데이터를 수집합니다.
기본 제공 엔드포인트는 기본적으로 디바이스에서 데이터를 수집합니다. 데이터는 전용 IoT 디바이스 엔드포인트에 대한 요청-응답 패턴을 사용하여 수집되고, 최대 7일 동안 보존되며, 디바이스에서 작업을 수행하는 데 사용됩니다. 디바이스 엔드포인트에서 수락하는 데이터는 다음과 같습니다.
- 디바이스-클라우드 메시지를 보냅니다.
- 클라우드-디바이스 메시지를 받습니다.
- 파일 업로드를 시작합니다.
- 디바이스 쌍 속성 검색 및 업데이트.
- 직접 메서드 요청 수신.
IoT Hub 엔드포인트에 대한 자세한 내용은 IoT Hub 엔드포인트를 참조하세요.
메시지 라우팅은 다른 엔드포인트로 데이터를 보냅니다.
추가 처리를 위해 데이터를 다른 서비스로 라우팅할 수도 있습니다. IoT 솔루션이 스케일 아웃되면 디바이스 수, 이벤트 볼륨, 이벤트 다양성 및 다른 서비스도 달라집니다. 이 패턴을 제공하려면 유연하고 확장 가능하고 일관되며 안정적인 이벤트 라우팅 방법이 필요합니다. 메시지 라우팅의 다양한 용도를 보여 주는 자습서는 자습서: IoT Hub 메시지 라우팅을 사용하여 Azure Storage에 디바이스 데이터 보내기를 참조하세요.
IoT Hub는 스토리지 컨테이너, Event Hubs, Service Bus 큐, Service Bus 항목 및 Cosmos DB를 포함한 Azure 서비스에 대한 사용자 지정 엔드포인트 설정을 지원합니다. 엔드포인트가 설정되면 IoT 데이터를 이러한 엔드포인트로 라우팅하여 다운스트림 데이터 작업을 수행할 수 있습니다.
또한 IoT Hub는 여러 구독자에게 데이터를 팬아웃할 수 있는 Event Grid와 통합됩니다. Event Grid는 다양한 Azure 서비스와 애플리케이션에서 이벤트를 쉽게 관리할 수 있게 해주는 완전 관리형 이벤트 서비스입니다. Event Grid는 이벤트 기반 애플리케이션 및 서버리스 아키텍처 빌드를 간소화합니다. 자세한 내용은 IoT Hub의 메시지 라우팅 및 Event Grid 비교를 참조하세요.
다른 Azure 서비스와 통합
IoT Hub를 다른 Azure 서비스와 통합하여 완전한 엔드투엔드 솔루션을 빌드할 수 있습니다. 예를 들어 이에 해당하는 서비스는 다음과 같습니다.
- 비즈니스가 중요한 이벤트에 신속하게 대응할 수 있도록 하는 Azure Event Grid입니다.
- Azure Logic Apps를 사용하여 비즈니스 프로세스를 자동화합니다.
- Azure Machine Learning을 사용하여 컴퓨터 학습 및 AI 모델을 솔루션에 추가합니다.
- Azure Stream Analytics를 사용하여 디바이스에서 스트림하는 데이터에 대해 실시간 분석 계산을 실행합니다.
다음 단계
엔드투엔드 IoT 솔루션을 사용해 보려면 다음 IoT Hub 빠른 시작을 확인해 보세요.
Azure IoT를 사용하여 IoT 솔루션을 빌드 및 배포하는 방법에 대해 자세히 알아보려면