기본적으로 IoT Hub 호스트 이름은 인터넷을 통해 공개적으로 라우팅 가능한 IP 주소를 사용하여 공용 엔드포인트에 매핑됩니다. 이 IoT Hub 퍼블릭 엔드포인트는 여러 고객이 공유하며, 광역 네트워크와 온-프레미스 네트워크에 있는 IoT 디바이스가 모두 여기에 액세스할 수 있습니다.
메모
IoT Hub TLS 1.3(미리 보기)을 지원하는 추가 엔드포인트를 소개합니다. 이러한 엔드포인트는 가산적이며 Private Link 사용하는 기존 엔드포인트를 대체하지 않습니다(<hub>.azure-devices.net). 기존 프라이빗 엔드포인트 구성은 변경 없이 계속 작동합니다.
이러한 엔드포인트에 대한 자세한 내용은 TLS 1.3 사용 엔드포인트를 참조하세요.
메시지 라우팅, 파일 업로드 및 대량 디바이스 가져오기/내보내기를 비롯한 일부 IoT Hub 기능은 퍼블릭 엔드포인트를 통해 IoT Hub에서 고객 소유 Azure 리소스로 연결해야 합니다. 이러한 연결 경로는 IoT Hub에서 고객 리소스로 송신 트래픽을 구성합니다.
다음을 비롯한 여러 가지 이유로 소유하고 운영하는 가상 네트워크를 통해 Azure 리소스(IoT Hub 포함)에 대한 연결을 제한할 수 있습니다.
공용 인터넷에 대한 연결 노출을 방지하여 IoT Hub에 대한 네트워크 격리를 도입합니다.
온-프레미스 네트워크 자산에서 프라이빗 연결 환경을 사용하도록 설정하여 데이터 및 트래픽이 Azure 백본 네트워크로 직접 전송되도록 합니다.
중요한 온-프레미스 네트워크에서 반출 공격을 방지합니다.
프라이빗 엔드포인트를 사용하여 설정된 Azure 전체 연결 패턴에 따라 수행합니다.
이 문서에서는 IoT Hub 수신 연결에 Azure Private Link를 사용하고 IoT Hub 다른 Azure 리소스로의 송신 연결에 신뢰할 수 있는 Microsoft 서비스 예외를 사용하여 이러한 목표를 달성하는 방법을 설명합니다.
Azure Private Link를 사용하여 IoT Hub로의 인그레스 연결
프라이빗 엔드포인트는 Azure 리소스에 연결할 수 있는 고객 소유 가상 네트워크 내에 할당된 개인 IP 주소입니다. Azure Private Link 사용하면 가상 네트워크 내의 서비스가 IoT Hub 공용 엔드포인트로 트래픽을 보내지 않고도 IoT Hub 연결할 수 있도록 IoT hub 대한 프라이빗 엔드포인트를 설정할 수 있습니다. 마찬가지로 온-프레미스 디바이스는 Azure VPN Gateway 또는 Azure ExpressRoute 피어링을 사용하여 가상 네트워크 및 IoT Hub(프라이빗 엔드포인트를 통해)에 대한 연결을 얻을 수 있습니다. 따라서 IoT Hub IP 필터 또는 공용 네트워크 액세스 토글을 사용하여 IoT hub 공용 엔드포인트에 대한 연결을 제한하거나 완전히 차단할 수 있습니다. 이 방법은 디바이스에 대한 프라이빗 엔드포인트를 사용하여 허브에 대한 연결을 유지합니다. 이 설정의 주요 초점은 온-프레미스 네트워크 내의 디바이스에 대한 것입니다. 이 설정은 광역 네트워크에 배포된 디바이스에는 권장되지 않습니다.
계속하기 전에 다음 필수 구성 요소가 충족되는지 확인합니다.
프라이빗 엔드포인트를 만들 서브넷을 사용하여 Azure 가상 네트워크를 만들었습니다 .
온-프레미스 네트워크에서 작동하는 디바이스의 경우 Azure 가상 네트워크에 Azure VPN Gateway 또는 Azure ExpressRoute 프라이빗 피어링을 설정합니다.
IoT Hub 인그레스에 대한 비공개 엔드포인트 설정
프라이빗 엔드포인트는 IoT Hub 디바이스 API(예: 디바이스-클라우드 메시지) 및 서비스 API(예: 디바이스 만들기 및 업데이트)에서 작동합니다.
Azure Portal에서 IoT Hub로 이동합니다.
왼쪽 창의 보안 설정에서 네트워킹>프라이빗 액세스를 선택한 다음 프라이빗 엔드포인트 만들기를 선택합니다.
구독, 리소스 그룹, 이름, 네트워크 인터페이스 이름 및 지역을 입력하여 새 프라이빗 엔드포인트를 만듭니다. 허브와 동일한 지역에 프라이빗 엔드포인트를 만듭니다.
Next: Resource를 선택하고 IoT Hub 리소스에 대한 구독을 입력합니다. 그런 다음, 리소스 종류에 대해 Microsoft.Devices/IotHubs 를 선택하고, IoT Hub 이름을 리소스로, iotHub 를 대상 하위 리소스로 선택합니다.
Next: Virtual Network 선택하고 virtual network 및 서브넷을 입력하여 프라이빗 엔드포인트를 만듭니다.
다음: DNS를 선택하고 원하는 경우 프라이빗 DNS 영역과 통합하는 옵션을 선택합니다.
다음: 태그를 선택하고 필요에 따라 리소스에 대한 태그를 입력합니다.
다음: 검토 + 만들기를 선택하여 프라이빗 링크 리소스에 대한 세부 정보를 검토한 다음 만들기를 선택하여 리소스를 만듭니다.
내장된 Event Hubs 호환 엔드포인트
프라이빗 엔드포인트를 통해 기본 제공 Event Hubs 호환 엔드포인트 에 액세스할 수도 있습니다. 프라이빗 링크를 구성하면 기본 제공 엔드포인트에 대한 다른 프라이빗 엔드포인트 연결 및 구성이 표시됩니다. FQDN에 servicebus.windows.net이 있습니다.
필요에 따라 IoT Hub IP 필터를 사용하여 기본 제공 엔드포인트에 대한 공용 액세스를 제어할 수 있습니다.
IoT Hub에 대한 공용 네트워크 액세스를 완전히 차단하려면 공용 네트워크 액세스를 해제 하거나 IP 필터를 사용하여 모든 IP를 차단하고 기본 제공 엔드포인트에 규칙을 적용하는 옵션을 선택합니다.
Private Link 가격 책정
가격 책정에 대한 자세한 내용은 Azure Private Link 가격 책정을 참조하세요.
IoT Hub에서 다른 Azure 리소스로의 송신 연결
IoT Hub는 해당 리소스의 퍼블릭 엔드포인트를 통해 메시지 라우팅, 파일 업로드 및 대량 디바이스 가져오기/내보내기를 위해 Azure Blob Storage, Event Hubs 및 Service Bus 리소스에 연결할 수 있습니다. 가상 네트워크에 리소스를 바인딩하면 기본적으로 리소스에 대한 연결이 차단됩니다. 따라서 이 구성은 IoT Hub가 리소스에 데이터를 보내지 못하게 합니다. 이 문제를 해결하려면 trusted Microsoft service 옵션을 통해 IoT Hub 리소스에서 스토리지 계정, 이벤트 허브 또는 Service Bus 리소스로의 연결을 사용하도록 설정합니다.
다른 서비스에서 IoT Hub를 신뢰할 수 있는 Microsoft 서비스로 찾을 수 있도록 하려면 허브에서 관리 ID를 사용해야 합니다. 관리 ID가 프로비전되면 허브의 관리 ID에 사용자 지정 엔드포인트에 액세스할 수 있는 권한을 부여합니다. 관리 ID에 대한 IoT Hub 지원에 제공된 절차에 따라 Azure RBAC(역할 기반 액세스 제어) 권한으로 관리 ID를 프로비전하고 사용자 지정 엔드포인트를 IoT Hub에 추가합니다. IoT Hub가 사용자 지정 엔드포인트에 액세스할 수 있도록 하려면 방화벽 구성이 있는 경우 신뢰할 수 있는 Microsoft 자사 예외를 켜야 합니다.
신뢰할 수 있는 Microsoft 서비스 옵션에 대한 가격 책정
신뢰할 수 있는 Microsoft 자사 서비스 예외 기능은 무료입니다. 프로비전된 스토리지 계정, 이벤트 허브 또는 서비스 버스 리소스에 대한 요금은 별도로 적용됩니다.
다음 단계
IoT Hub 기능에 대한 자세한 내용은 다음 리소스를 참조하세요.