다음을 통해 공유


디바이스 인프라 및 연결

이 개요에서는 일반적인 디바이스가 Azure IoT 솔루션의 클라우드에 연결되는 방법에 대한 주요 개념을 소개합니다. 또한 이 문서에서는 게이트웨이와 브리지 같은 선택적 인프라 요소도 소개합니다. 각 섹션에는 자세한 내용과 참고 자료를 제공하는 콘텐츠의 링크가 포함되어 있습니다.

IoT Central 애플리케이션은 IoT Hub 및 DPS(Device Provisioning Service) 서비스를 내부적으로 사용합니다. 따라서 이 문서의 개념은 IoT Central을 사용하여 IoT 시나리오를 탐색하든, IoT Hub와 DPS를 사용하여 솔루션을 빌드하든 관계없이 적용됩니다.

다음 다이어그램은 일반적인 IoT 솔루션의 구성 요소를 개략적으로 보여 줍니다. 이 문서에서는 다이어그램에 표시된 게이트웨이와 브리지를 포함해 디바이스와 IoT 클라우드 서비스 간의 연결에 중점을 둡니다.

디바이스 연결 영역을 강조 표시하여 개략적인 IoT 솔루션 아키텍처를 보여 주는 다이어그램

기본 형식

Azure IoT 디바이스는 다음과 같은 기본 형식을 사용하여 클라우드 서비스와 데이터를 교환합니다. 디바이스에서는 다음을 사용합니다.

  • 시계열 원격 분석을 클라우드로 보내는 '디바이스-클라우드 메시지'. 디바이스에 연결된 센서에서 수집된 온도 데이터를 예로 들 수 있습니다.
  • 상태 데이터를 클라우드와 공유하고 동기화하는 '디바이스 쌍'. 예를 들어 디바이스는 디바이스 쌍을 사용하여 제어하는 밸브의 현재 상태를 클라우드에 보고하고 클라우드에서 원하는 대상 온도를 받을 수 있습니다.
  • 디지털 세계의 디바이스를 나타내는 '디지털 트윈'. 예를 들어 디지털 트윈은 디바이스의 물리적 위치, 해당 기능 및 다른 디바이스와의 관계를 나타낼 수 있습니다.
  • 캡처된 이미지와 비디오 같은 미디어 파일에 대한 '파일 업로드'. 간헐적으로 연결된 디바이스에서 원격 분석 일괄 처리를 보낼 수 있습니다. 디바이스는 업로드를 압축하여 대역폭을 절약할 수 있습니다.
  • 클라우드에서 명령을 수신하는 '직접 메서드'. 직접 메서드는 매개 변수가 있을 수 있고 응답을 반환할 수 있습니다. 예를 들어 클라우드는 직접 메서드를 호출하여 디바이스를 다시 부팅해 달라고 요청할 수 있습니다.
  • 클라우드에서 단방향 알림을 수신하는 '클라우드-디바이스 메시지'. 업데이트를 다운로드할 준비가 되었다는 알림을 예로 들 수 있습니다.

자세한 내용은 디바이스-클라우드 통신 지침클라우드-디바이스 통신 지침을 참조하세요.

디바이스 연결 클라우드 엔드포인트

Azure IoT Hub는 디바이스가 클라우드와 데이터를 교환할 수 있도록 하는 디바이스별 엔드포인트 컬렉션을 공개합니다. 이 엔드포인트에는 다음이 필요합니다.

  • 디바이스-클라우드 메시지 보내기. 디바이스는 이 엔드포인트를 사용하여 디바이스-클라우드 메시지를 보냅니다.
  • 디바이스 쌍 속성 검색 및 업데이트. 디바이스에서 이 엔드포인트를 사용하여 디바이스 쌍 속성에 액세스합니다.
  • 직접 메서드 요청 수신. 디바이스에서 이 엔드포인트를 사용하여 직접 메서드 요청을 수신합니다.

모든 IoT 허브에는 디바이스를 허브에 연결하는 데 사용되는 고유한 호스트 이름이 있습니다. 호스트 이름은 iothubname.azure-devices.net 형식입니다. 디바이스 SDK 중 하나를 사용하는 경우 SDK가 더 높은 수준의 추상화 기능을 제공하므로 개별 엔드포인트의 전체 이름을 알 필요가 없습니다. 그러나 디바이스가 연결하는 IoT 허브의 호스트 이름은 알아야 합니다.

디바이스는 다음의 방법으로 IoT 허브에 안전하게 연결할 수 있습니다.

  • 직접적으로, 이 경우 호스트 이름이 포함된 연결 문자열을 디바이스에 제공해야 합니다.
  • DPS를 사용해 간접적으로, 이 경우 디바이스는 잘 알려진 DPS 엔드포인트에 연결하여 할당된 IoT 허브에 대한 연결 문자열을 검색합니다.

DPS를 사용할 때의 장점은 IoT 허브와 관련된 연결 문자열을 사용하여 모든 디바이스를 구성할 필요가 없다는 것입니다. 대신 연결 세부 정보를 검색하는 잘 알려진 공용 DPS 엔드포인트에 연결하도록 디바이스를 구성합니다. 자세히 알아보려면 Device Provisioning Service를 참조하세요.

엔드포인트에 자동으로 다시 연결을 구현하는 방법에 대해 자세히 알아보려면 복원력 있는 애플리케이션을 만들기 위한 디바이스 다시 연결 관리를 참조하세요.

디바이스 연결 문자열

디바이스 연결 문자열은 IoT 허브에 안전하게 연결하는 데 필요한 정보를 디바이스에 제공합니다. 연결 문자열에 포함되는 정보는 다음과 같습니다.

  • IoT 허브의 호스트 이름
  • IoT Hub에 등록된 디바이스 ID입니다.
  • 디바이스가 IoT 허브에 안전하게 연결하는 데 필요한 보안 정보

인증

Azure IoT 디바이스는 TLS를 사용해 연결 중인 IoT 허브 또는 DPS 엔드포인트의 신뢰성을 확인합니다. 디바이스 SDK에는 현재 IoT 허브에 안전하게 연결하는 데 필요한 DigiCert Global Root G2 TLS 인증서가 포함됩니다. 자세히 알아보려면 IoT Hub의 TLS(전송 계층 보안) 지원Azure IoT Hub DPS(Device Provisioning Service)의 TLS 지원을 참조하세요.

Azure IoT 디바이스는 SAS(공유 액세스 서명) 토큰 또는 X.509 인증서를 사용하여 IoT 허브에 스스로 인증할 수 있습니다. X.509 인증서는 프로덕션 환경에서 사용하는 것이 좋습니다. 디바이스 인증에 대해 자세히 알아보려면 다음을 참조하세요.

디바이스와 IoT 허브 간에 교환되는 모든 데이터는 암호화됩니다.

IoT 솔루션의 보안에 대해 자세히 알아보려면 IoT 솔루션용 보안 아키텍처를 참조하세요.

프로토콜

IoT 디바이스는 IoT Hub 또는 DPS 엔드포인트에 연결할 때 여러 네트워크 프로토콜 중 하나를 사용할 수 있습니다.

참고 항목

IoT Hub에서는 MQTT에 대한 기능 지원이 제한됩니다. 솔루션에 MQTT v3.1.1 또는 v5 지원이 필요한 경우 Azure Event Grid MQTT 지원을 참조하세요. 자세한 내용은 IoT Hub 및 Event Grid에서 MQTT 지원 비교를 참조하세요.

디바이스가 클라우드에 연결할 프로토콜을 선택하는 방법에 대해 자세히 알아보려면 다음을 참조하세요.

산업용 IoT 시나리오에서는 OPC UA(개방형 플랫폼 통신 통합 아키텍처) 산업 표준 개방형 인터페이스를 사용하는 경우가 많습니다. Azure 클라우드에 대한 연결을 사용하도록 설정하려면 Azure IoT Operations를 사용하세요. 자세히 알아보려면 Azure IoT Operations란?을 참조하세요.

연결 패턴

IoT 디바이스가 클라우드에 연결하는 데 사용하는 광범위한 연결 패턴 범주가 두 가지 있습니다.

영구 연결

솔루션에 '명령 및 제어' 기능이 필요한 경우 영구 연결해야 합니다. 명령 및 제어 시나리오에서 IoT 솔루션은 디바이스에 명령을 보내 거의 실시간으로 동작을 제어합니다. 영구 연결은 클라우드에 대한 네트워크 연결을 유지하고 중단이 발생할 때마다 다시 연결합니다. IoT 허브에 디바이스를 영구 연결하는 경우 MQTT 또는 AMQP 프로토콜을 사용합니다. IoT 디바이스 SDK에서는 MQTT 및 AMQP 프로토콜을 모두 사용하여 IoT 허브에 영구적으로 연결할 수 있습니다.

임시 연결

임시 연결은 디바이스가 IoT 허브에 원격 분석을 보낼 수 있도록 하는 간단한 연결입니다. 디바이스가 원격 분석을 보내면 연결이 끊깁니다. 전송할 원격 분석이 더 있는 경우 디바이스가 다시 연결됩니다. 임시 연결은 명령 및 제어 시나리오에 적합하지 않습니다. 디바이스 클라이언트는 원격 분석을 보내기만 하면 HTTP API를 사용할 수 있습니다.

현장 게이트웨이

필드 게이트웨이(에지 게이트웨이라고도 함)는 일반적으로 온-프레미스에 배포되며 IoT 디바이스에 가깝습니다. 필드 게이트웨이는 IoT 디바이스를 대신하여 클라우드와의 통신을 처리합니다. 필드 게이트웨이에서는 다음을 수행할 수 있습니다.

  • 프로토콜을 변환합니다. 예를 들어 Bluetooth 지원 디바이스를 사용하도록 설정하여 클라우드에 연결할 수 있습니다.
  • 오프라인 및 연결이 끊긴 시나리오를 관리합니다. 예를 들어 클라우드 엔드포인트에서 연결할 수 없는 경우 원격 분석을 버퍼링합니다.
  • 원격 분석을 클라우드로 보내기 전에 필터링, 압축 또는 집계할 수 있습니다.
  • 에지에서 논리를 실행하여 클라우드의 디바이스 대신 논리를 실행하는 것과 관련된 대기 시간을 제거합니다. 온도 급증을 탐지하고 이에 대응하여 밸브를 여는 경우를 예로 들 수 있습니다.

Azure IoT Edge를 사용하여 온-프레미스 환경에 필드 게이트웨이를 배포할 수 있습니다. IoT Edge는 필드 게이트웨이를 대규모로 배포, 관리할 수 있는 기능 집합을 제공합니다. 또한 IoT Edge는 일반적인 게이트웨이 시나리오를 구현하는 데 사용할 수 있는 모듈 집합을 제공합니다. 자세히 알아보려면 Azure Sentinel이란?을 참조하세요.

IoT Edge 디바이스는 IoT 허브에 영구적인 연결 상태를 유지할 수 있습니다. 게이트웨이는 디바이스 원격 분석을 IoT Hub로 전달합니다. 이 옵션은 IoT Edge 디바이스에 연결된 다운스트림 디바이스의 명령 및 제어를 구현합니다.

브리지

디바이스 브리지를 사용하면 타사 클라우드에 연결된 디바이스를 IoT 솔루션에 연결할 수 있습니다. 타사 클라우드에는 Sigfox, Particle Device CloudThe Things Network가 포함됩니다.

오픈 소스 IoT Central Device Bridge는 원격 분석을 IoT Central 애플리케이션에 전달하는 변환기 역할을 합니다. 자세히 알아보려면 Azure IoT Central 디바이스 브리지를 참조하세요. IoT 허브에 디바이스를 연결하기 위한 타사 브리지 솔루션으로는 Tartabit IoT Bridge 등이 있습니다.

다음 단계

지금까지 Azure IoT 솔루션에서 디바이스 연결 개요를 살펴보았습니다. 제안된 몇 가지 후속 단계는 다음과 같습니다.