IoT Hub 엔드포인트

참고

클라우드-디바이스 메시지, 디바이스 트윈스, 디바이스 관리 등 이 문서에 언급된 일부 기능은 IoT Hub의 표준 계층에서만 사용할 수 있습니다. 기본 및 표준/무료 IoT Hub 계층에 대한 자세한 내용은 솔루션에 적합한 IoT Hub 계층 선택을 참조하세요.

IoT Hub 이름

Azure Portal 엔드포인트를 호스트하는 IoT Hub의 호스트 이름은 IoT Hub의 개요 작업 창에서 찾을 수 있습니다. 기본적으로 IoT Hub의 DNS 이름은 다음 예제와 같습니다.

{your iot hub name}.azure-devices.net

기본 제공 IoT Hub 엔드포인트 목록

Azure IoT Hub는 다중 테넌트 서비스이며 다양한 행위자에게 기능을 노출합니다. 아래 다이어그램에서는 IoT Hub가 노출하는 다양한 엔드포인트를 보여줍니다.

빌드 IoT Hub 엔드포인트 목록을 보여 주는 다이어그램

다음 목록에서는 엔드포인트를 설명합니다.

  • 리소스 공급자. IoT Hub 리소스 공급자는 Azure Resource Manager 인터페이스를 노출합니다. 이 인터페이스를 통해 Azure 구독 소유자는 IoT Hub를 생성 및 삭제하고 IoT Hub 속성을 업데이트할 수 있습니다. IoT Hub 속성은 디바이스 수준 액세스 제어와는 달리 허브 수준 공유 액세스 정책과 클라우드-디바이스 및 디바이스-클라우드 메시징에 대한 기능 옵션을 제어합니다. 또한 IoT Hub 리소스 공급자는 사용자가 디바이스 ID를 내보낼 수 있도록 합니다.

  • 디바이스 ID 관리. 각 IoT Hub는 HTTPS REST 엔드포인트 집합을 노출하여 디바이스 ID를 관리합니다(만들기, 검색, 업데이트 및 삭제). 디바이스 ID는 디바이스 인증 및 액세스 제어에 사용됩니다.

  • 디바이스 쌍 관리. 각 IoT Hub에서 디바이스 쌍(태그 및 속성 업데이트)을 쿼리하고 업데이트하기 위해 서비스 지향 HTTPS REST 엔드포인트 집합을 공개합니다.

  • 작업 관리. 각 IoT Hub에서 작업을 쿼리하고 업데이트하기 위해 서비스 지향 HTTPS REST 엔드포인트 집합을 공개합니다.

  • 디바이스 엔드포인트. IoT Hub는 ID 레지스트리의 각 디바이스에 대해 엔드포인트 집합을 노출합니다. 달리 명시된 경우를 제외하고, 엔드포인트는 MQTT v3.1.1, HTTPS 1.1, AMQP 1.0 프로토콜을 사용하여 노출됩니다. AMQP 및 MQTT는 포트 443에서 WebSockets을 통해 사용할 수도 있습니다.

    • 디바이스-클라우드 메시지 보내기. 디바이스는 이 엔드포인트를 사용하여 디바이스-클라우드 메시지를 보냅니다.

    • 클라우드-디바이스 메시지 받기. 디바이스는 이 엔드포인트를 사용하여 대상인 클라우드-디바이스 메시지를 받습니다.

    • 파일 업로드를 시작합니다. 디바이스는 이 엔드포인트를 사용하여 파일을 업로드하기 위해 IoT Hub에서 Azure Storage SAS URI를 받습니다.

    • 디바이스 쌍 속성 검색 및 업데이트. 디바이스에서 이 엔드포인트를 사용하여 디바이스 쌍 속성에 액세스합니다. HTTPS는 지원되지 않습니다.

    • 직접 메서드 요청 수신. 디바이스는 이 엔드포인트를 사용하여 직접 메서드 요청을 수신 대기합니다. HTTPS는 지원되지 않습니다.

    중요

    X.509 CA(인증 기관) 인증을 사용하는 디바이스에 대한 다음 기능은 아직 일반적으로 사용할 수 없으며 미리 보기 모드를 사용하도록 설정해야 합니다.

    • HTTPS, WebSocket을 통한 MQTT 및 WebSocket 프로토콜을 통한 AMQP.
    • 파일 업로드(모든 프로토콜).

    이러한 기능은 일반적으로 X.509 지문 인증을 사용하는 디바이스에서 사용할 수 있습니다. IoT Hub를 사용하는 X.509 인증에 대해 자세히 알아보려면 지원되는 X.509 인증서를 참조하세요.

  • 서비스 엔드포인트. 각 IoT 허브는 솔루션 백 엔드에서 디바이스와 통신하기 위해 사용할 수 있는 엔드포인트 집합을 공개합니다. 한 가지 예외를 제외하고 엔드포인트는 AMQP 및 WebSocket을 통한 AMQP 프로토콜을 사용하여 노출됩니다. 직접 메서드 호출 엔드포인트는 HTTPS 프로토콜을 통해 노출됩니다.

    • 디바이스-클라우드 메시지 받기. 이 엔드포인트는 Azure Event Hubs와 호환됩니다. 백 엔드 서비스는 이 엔드포인트를 사용하여 디바이스에서 보낸 모든 디바이스-클라우드 메시지를 읽을 수 있습니다. 이 기본 제공 엔드포인트 외에도 IoT Hub에 사용자 지정 엔드포인트를 만들 수 있습니다.

    • 클라우드-디바이스 메시지를 보내고 배달 승인 받기. 이러한 엔드포인트를 사용하면 솔루션 백 엔드에서 신뢰할 수 있는 클라우드-디바이스 메시지를 전송하고 해당 전달 또는 만료 승인을 수신할 수 있습니다.

    • 파일 알림을 받습니다. 이 메시징 엔드포인트를 사용하면 디바이스가 성공적으로 파일을 업로드하는 경우 알림을 받을 수 있습니다.

    • 직접 메서드 호출. 이 엔드포인트를 사용하면 백 엔드 서비스가 디바이스에서 직접 메서드를 호출할 수 있습니다.

Azure IoT Hub SDK 문서에서는 이러한 엔드포인트에 액세스하는 다양한 방법을 설명합니다.

모든 IoT Hub 엔드포인트는 TLS 프로토콜을 사용하고 어떤 엔드포인트도 암호화되지/보안되지 않은 채널에 공개되지 않습니다.

사용자 지정 엔드포인트

Azure 구독의 기존 Azure 서비스를 IoT 허브에 연결하여 메시지 라우팅을 위한 엔드포인트 역할을 할 수 있습니다. 이러한 엔드포인트는 서비스 엔드포인트 역할을 하며 메시지 경로에 대한 싱크로 사용됩니다. 디바이스는 이러한 엔드포인트에 직접 쓸 수 없습니다. 메시지 라우팅에 대한 자세한 내용은 IoT Hub 메시지 라우팅을 사용하여 디바이스-클라우드 메시지를 다른 엔드포인트로 보내기를 참조하세요.

IoT Hub는 현재 다음 Azure 서비스를 사용자 지정 엔드포인트로 지원합니다.

  • 스토리지 컨테이너
  • Event Hubs
  • Service Bus 큐
  • Service Bus 토픽
  • Cosmos DB(미리 보기)

추가할 수 있는 엔드포인트의 수에 대한 제한은 할당량 및 제한을 참조하세요.

엔드포인트 상태

REST API Endpoint Health 가져오기를 사용 하 여 Endpoint의 Health 상태 를 가져올 수 있습니다. 엔드포인트가 이러한 상태 중 하나에 있을 때 대기 시간이 더 길어질 것으로 예상되므로, 라우팅 메시지 대기 시간과 관련된 IoT Hub 라우팅 메트릭을 사용하여 오류를 식별하고 디버깅하는 것이 좋습니다. IoT Hub 사용에 대한 자세한 내용은 IoT Hub 모니터링을 참조하세요.

상태 설명
healthy 엔드포인트가 예상대로 메시지를 수락하고 있습니다.
비정상 엔드포인트가 메시지를 수락하지 않고 있으며 IoT Hub가 이 엔드포인트에 메시지를 보내려고 재시도하고 있습니다.
알 수 없음 IoT Hub가 이 엔드포인트에 메시지를 전달하려고 시도하지 않았습니다.
성능 저하됨 엔드포인트가 예상보다 느리게 메시지를 수락하거나 비정상 상태에서 복구되고 있습니다.
데드 IoT Hub는 이 엔드포인트에 메시지를 더 이상 전달하지 않습니다. 이 엔드포인트로 메시지를 보내려는 재시도가 실패했습니다.

현장 게이트웨이

IoT 솔루션에서 필드 게이트웨이는 디바이스와 IoT Hub 엔드포인트 사이에 위치하며 일반적으로 디바이스 가까이에 위치합니다. 디바이스는 해당 디바이스에서 지원되는 프로토콜을 사용하여 필드 게이트웨이와 직접 통신합니다. 필드 게이트웨이는 IoT Hub에서 지원하는 프로토콜을 사용하여 IoT Hub 엔드포인트에 연결됩니다. 필드 게이트웨이는 전용 하드웨어 디바이스이거나 사용자 지정 게이트웨이 소프트웨어를 실행하는 저전력 컴퓨터일 수 있습니다.

Azure IoT Edge를 사용하여 필드 게이트웨이를 구현할 수 있습니다. IoT Edge는 여러 디바이스에서 동일한 IoT Hub 연결로의 통신 다중 송신과 같은 기능을 제공합니다.

다음 단계

이 IoT Hub 개발자 가이드의 다른 참조 자료: