Azure IoT Hub는 IoT 애플리케이션과 연결된 디바이스 간의 통신을 위한 중앙 메시지 허브 역할을 하는 관리되는 클라우드 기반 서비스입니다. 거의 모든 디바이스와 백 엔드 솔루션을 대규모로 IoT Hub에 안정적으로 연결할 수 있습니다.
이 문서에서는 설계자로서 IoT 솔루션을 만드는 데 사용할 수 있는 기술 및 서비스를 검토하고 워크 로드에 대한 Azure IoT 플랫폼 서비스로 IoT Hub 를 선택했다고 가정합니다. 이 문서의 지침은 Well-Architected Framework 핵심 요소의 원칙에 매핑되는 아키텍처 권장 사항을 제공합니다.
Technology scope
이 검토는 다음 Azure 리소스에 대한 상호 연결된 결정에 중점을 둡니다.
- Azure IoT Hub
- Azure IoT Hub DPS(Device Provisioning Service)
- IoT Hub용 Azure 디바이스 업데이트
- Azure IoT 엣지
- Azure Digital Twins (애저 디지털 트윈즈)
- Azure Sphere
- Microsoft Defender for IoT
Reliability
안정성 핵심 요소의 목적은 충분한 탄력성을 구축하고 오류에서 빠르게 복구하는 능력을 갖추어 계속적인 기능을 제공하는 것입니다.
안정성 디자인 원칙은 개별 구성 요소, 시스템 흐름 및 시스템 전체에 적용되는 고급 디자인 전략을 제공합니다.
워크로드 디자인 검사 목록
안정성에 대한 디자인 검토 검사 목록을 기반으로 디자인 전략을 시작합니다. IoT Hub의 성능을 염두에 두고 비즈니스 요구 사항과의 관련성을 확인합니다. 필요에 따라 더 많은 접근 방식을 포함하도록 전략을 확장합니다.
복원력을 위해 디바이스를 디자인합니다. 엔드 투 엔드 솔루션의 작동 시간 및 가용성 요구 사항을 충족하도록 디바이스를 디자인합니다. IoT 디바이스가 클라우드에 간헐적으로 연결하여 효율적으로 작동할 수 있는지 확인합니다.
비즈니스 요구 사항을 위한 디자인. 서비스 수준 계약을 충족하기 위해 아키텍처 수정을 도입할 때의 비용 영향을 고려합니다. 예를 들어 안정성과 고가용성을 높이기 위해 지역 간 중복 및 자동 크기 조정 시스템을 구현할 수 있습니다. 절충을 신중하게 고려하십시오.
안전하고 간단한 업데이트 절차를 구현합니다. 운영자가 엔터프라이즈 IoT 솔루션에서 디바이스를 관리하는 전략을 만듭니다. IoT 연산자는 간단하고 신뢰할 수 있는 업데이트 도구 및 사례가 필요합니다.
애플리케이션 상태를 관찰합니다. 관찰 가능성을 기반으로 SLA(서비스 수준 지표) 및 SLO(서비스 수준 목표)를 정의합니다. IoT Hub에 포함된 프로세스 외에도 감사, 모니터링 및 경고를 위한 프로세스를 추가합니다.
중요한 구성 요소에 대한 고가용성 및 재해 복구를 구현합니다. 지역 간 중복을 포함하여 중복성을 높이는 복원력 있는 하드웨어 및 소프트웨어 구성 요소를 계획합니다.
용량을 계획합니다. 서비스 할당량 및 제한을 계획하고 검색과 작업 간에 발생하는 대기 시간을 고려합니다. 중단 없는 데이터 흐름을 지원하기 위해 프로덕션 규모에서 벤치마크를 설정합니다.
Configuration recommendations
Recommendation | Benefit |
---|---|
일일 메시지 수 및 기타 제한과 같은 필요한 IoT Hub 용량을 계산합니다. 워크로드에 변동 용량 요구 사항이 있는 경우 수요에 따라 용량을 늘리고 줄일 수 있도록 자동 크기 조정 메커니즘을 구현합니다. 자세한 내용은 솔루션에 적합한 IoT Hub 계층 및 크기 선택을 참조하세요. | 동적 크기 조정은 리소스 사용량을 최적화하는 데 도움이 됩니다. 리소스를 과도하게 프로비전하지 않고도 솔루션의 응답성과 안정성을 유지할 수 있습니다. |
IoT Hub에 디바이스 다시 연결 전략을 추가하여 복원력 있는 애플리케이션을 디자인합니다. 자세한 내용은 디바이스 다시 연결 관리를 참조하세요. | IoT 디바이스는 간헐적이거나 불안정한 네트워크 연결을 사용하는 경우가 많습니다. 다시 연결 전략을 사용하면 사용자 개입 없이 워크로드를 복구할 수 있으므로 가용성이 향상됩니다. |
IoT Hub에서 다양한 고가용성 및 재해 복구 옵션 의 절충을 평가합니다. IoT 솔루션의 가동 시간 목표에 따라 비즈니스 목표에 가장 적합한 옵션을 결정합니다. Choose between Microsoft-initiated failover, manual failover, and cross-region high availability. | 장애 조치(failover) 전략은 워크로드가 백업 인스턴스로 빠르게 전환하여 사용자 및 비즈니스 작업에 미치는 영향을 최소화하는 데 도움이 됩니다. |
Use DPS to provision your devices and assign them to an IoT hub. | DPS는 사람의 개입 없이도 제로 터치 Just-In-Time 프로비저닝을 가능하게 하는 도우미 서비스입니다. DPS를 사용하면 매우 안전하고 확장 가능한 방식으로 수백만 개의 디바이스를 프로비전할 수 있습니다. |
IoT Hub용 디바이스 업데이트를 사용하여 IoT 디바이스에 대한 무선 업데이트를 관리합니다. 업데이트 전략에 점진적 출시, 복원력 있는 A/B 업데이트, 자세한 관리 및 보고 도구가 포함되어 있는지 확인합니다. | 이 방법을 사용하면 IoT 디바이스에 대한 안전하고 안전하며 안정적인 업데이트를 보장하여 가동 중지 시간을 줄이고 운영 효율성을 향상시킬 수 있습니다. 디바이스 규정 준수를 유지하고 업데이트 오류를 신속하게 식별하고 해결하여 전반적인 시스템 안정성을 향상시킵니다. |
지속적인 통합 및 CI/CD(지속적인 배포), 모니터링 및 자동화된 업데이트를 포함하여 IoT 솔루션을 관리하기 위한 DevOps 사례를 구현합니다. - DevOps를 사용하여 IoT Edge 애플리케이션을 빌드하고 릴리스합니다. - Azure Monitor를 사용하여 IoT Hub가 수집하는 데이터에서 경고를 모니터링하고 가져옵니다. - IoT Hub에서 자동 디바이스 관리를 사용하여 대규모 디바이스 관리를 자동화합니다. |
DevOps 사례는 IoT 솔루션의 안정성과 효율성을 향상시킵니다. 신속한 배포, 지속적인 모니터링 및 자동화된 업데이트를 사용하도록 설정합니다. 이러한 기능은 가동 중지 시간을 줄이고, 시스템 성능을 개선하며, 업데이트 및 변경 내용을 안전하고 일관되게 배포합니다. |
Security
보안 핵심 요소의 목적은 워크로드에 기밀성, 무결성 및 가용성 보장을 제공하는 것입니다.
보안 디자인 원칙은 IoT Hub의 기술 디자인에 접근 방식을 적용하여 이러한 목표를 달성하기 위한 높은 수준의 디자인 전략을 제공합니다.
워크로드 디자인 검사 목록
보안에 대한 디자인 검토 검사 목록을 기반으로 디자인 전략을 시작하고 취약성 및 컨트롤을 식별하여 보안 상태를 개선합니다. 필요에 따라 더 많은 접근 방식을 포함하도록 전략을 확장합니다.
강력한 ID를 사용하여 디바이스 및 사용자를 인증합니다. 보안을 강화하기 위한 사례를 구현합니다. 예를 들어 다음을 수행해야 합니다.
- 신뢰할 수 있는 ID에 대한 신뢰의 하드웨어 루트가 있습니다.
- Register devices.
- 재생 가능한 자격 증명을 발급합니다.
- 암호 없는 인증 또는 MFA(다단계 인증)를 사용합니다.
최소 권한 액세스 제어를 자동화하고 사용합니다. 손상된 디바이스 또는 ID 또는 승인되지 않은 워크로드의 영향을 제한합니다.
디바이스 상태를 평가합니다. 디바이스 상태를 평가하여 액세스를 제어하거나 수정할 디바이스를 식별합니다. 보안 구성을 확인하고, 취약성 및 안전하지 않은 암호를 평가하고, 위협 및 변칙을 모니터링하고, 지속적인 위험 프로필을 빌드합니다.
디바이스 업데이트를 구현합니다. 지속적인 업데이트를 구현하여 디바이스를 정상 상태로 유지합니다. 중앙 집중식 구성 및 규정 준수 관리 솔루션과 강력한 업데이트 메커니즘을 사용하여 디바이스가 up-to날짜 및 정상 상태인지 확인합니다.
시스템 보안을 모니터링하고 인시던트 대응을 계획합니다. 무단 또는 손상된 디바이스를 사전에 모니터링하고 새로운 위협에 대응합니다.
매우 안전한 연결을 보장합니다. IoT 디바이스와 IoT 클라우드 서비스 간에 전송되는 모든 데이터가 기밀이고 변조되지 않는지 확인합니다.
Configuration recommendations
Recommendation | Benefit |
---|---|
디바이스에 제로 트러스트 조건을 적용합니다. IoT Hub에 연결하는 디바이스는 다음을 수행해야 합니다. - 강력한 ID를 위한 하드웨어 보안 모듈 을 포함합니다. - Use renewable credentials. - 최소 권한 액세스 제어를 적용합니다. - 조건부 액세스를 위한 적절한 상태 신호를 내보낸다. - 손상된 경우 IoT Hub에서 디바이스를 해지하도록 운영자에게 경고합니다. 디바이스에는 다음이 포함되어야 합니다. - 보안 업데이트에 대한 에이전트를 업데이트합니다. - 클라우드 기반 구성 및 자동화된 보안 대응을 위한 디바이스 관리 기능입니다. - 물리적 공격 공간을 최소화하는 데 필요한 기능만 사용할 수 있습니다. - 표준 암호화 알고리즘을 통해 미사용 데이터 보호 |
IoT Hub에 연결하는 디바이스에 대한 제로 트러스트 조건은 보안 및 안정성을 향상시킵니다. 하드웨어 보안 모듈, 재생 가능 자격 증명 및 최소 권한 액세스 제어는 무단 액세스 및 손상된 디바이스를 최소화합니다. 조건부 액세스 및 업데이트 에이전트에 대한 상태 신호는 디바이스가 안전하고 규정을 준수하는지 확인하는 데 도움이 됩니다. 보안 에이전트와 함께 클라우드 기반 디바이스 관리 및 자동화된 보안 대응은 보안 태세를 강화합니다. 작은 물리적 공격 공간 및 미사용 데이터 보호는 중요한 정보를 보호하고 시스템 무결성을 유지하는 데 도움이 됩니다. |
X.509 인증서를 사용하여 IoT Hub에 디바이스를 인증합니다. 자세한 내용은 X.509 인증서로 ID 인증을 참조하세요. | 프로덕션 환경에서 X.509 기반 인증은 보안 토큰에 비해 더 큰 보안을 제공합니다. |
IoT 디바이스에 대한 계층 최소 권한 액세스 Use network segmentation to group IoT devices. 이 방법은 잠재적인 손상의 영향을 완화합니다. 예를 들어 프린터, VoIP 휴대폰 및 스마트 TV와 같은 디바이스에 대한 "IoT 네트워크"에 IoT 디바이스를 연결할 수 있습니다. 이 IoT 네트워크는 인력이 액세스하는 다른 조직 리소스와 별도로 유지합니다. 네트워크 마이크로 세분화를 사용하여 전용 운영 기술 환경을 회사 정보 기술 네트워크와 논리적으로 분리합니다. 이 분리를 만들려면 방화벽을 포함하는 경계 네트워크 아키텍처를 사용합니다. 성숙한 조직은 일반적으로 차세대 방화벽을 사용하여 Purdue 모델의 여러 계층에서 마이크로 분할 정책을 구현할 수도 있습니다. |
네트워크 분할은 손상의 영향을 완화할 수 있는 IoT 디바이스를 그룹화합니다. 네트워크 마이크로 세분화는 네트워크 계층에서 게이트웨이 뒤 또는 개별 네트워크 세그먼트에서 덜 지원되는 디바이스를 격리합니다. |
Microsoft Defender for IoT를 방어의 최전선으로 사용하여 Azure에서 리소스를 보호합니다. Defender for IoT는 IoT 디바이스에 대한 지속적인 자산 검색, 취약성 관리 및 위협 탐지를 제공하는 에이전트 없는 네트워크 계층 보안 플랫폼입니다. |
Defender for IoT는 무단 또는 손상된 디바이스를 신속하게 식별할 수 있도록 지속적인 모니터링 및 위협 탐지를 제공합니다. IoT 네트워크의 전반적인 보안 및 복원력을 향상시킵니다. |
Use IoT Hub with Azure Sphere as a guardian module to help secure other devices, including existing legacy systems that you can't rely on for trusted connectivity. Azure Sphere 보호 모듈은 이더넷, 직렬 또는 BLE(Bluetooth 저에너지)를 통해 애플리케이션 및 기존 디바이스와의 인터페이스를 사용하여 배포합니다. 디바이스에 직접 인터넷 연결이 반드시 있는 것은 아닙니다. |
Azure Sphere 보호 모듈은 해당 디바이스를 인터넷에 노출하지 않고 기존 디바이스에서 매우 안전한 연결을 구현하는 방법을 제공합니다. 이 보호에는 암호화된 데이터 전송, 매우 안전한 OS 및 애플리케이션 업데이트, 신뢰할 수 있는 호스트와의 통신만 보장하는 인증이 포함됩니다. |
IoT Edge 게이트웨이를 사용하여 덜 지원되는 디바이스에 강력한 ID 패턴을 적용합니다. IoT Edge는 IoT Hub에 대한 에지 런타임 연결을 제공하고 인증서를 강력한 디바이스 ID로 지원합니다. IoT Edge는 TPM(신뢰할 수 있는 플랫폼 모듈) 또는 하드웨어 보안 모듈에서 디바이스 제조 ID 및 기타 비밀에 대한 PKCS#11 표준을 지원합니다. |
IoT Edge 게이트웨이는 인증된 디바이스와 권한 있는 디바이스만 네트워크 내에서 통신할 수 있도록 강력한 ID 패턴을 적용하는 데 도움이 됩니다. 이 기능은 IoT 에코시스템의 보안 및 무결성을 향상시킵니다. |
Cost Optimization
비용 최적화는 비즈니스 요구 사항을 충족 하면서 지출 패턴을 감지하고, 중요한 영역에 대한 투자의 우선 순위를 지정하고, 조직의 예산을 충족하도록 다른 영역에서 최적화하는 데 중점을 둡니다.
비용 최적화 디자인 원칙은 이러한 목표를 달성하고 IoT Hub 및 해당 환경과 관련된 기술 설계에서 필요에 따라 장단위를 만들기 위한 높은 수준의 디자인 전략을 제공합니다.
워크로드 디자인 검사 목록
투자 비용 최적화 을 위한 디자인 검토 체크리스트를 기반으로 디자인 전략을 시작하세요. 워크로드가 워크로드에 할당된 예산에 맞게 조정되도록 디자인을 미세 조정합니다. 디자인은 적절한 Azure 기능을 사용하고, 투자를 모니터링하고, 시간이 지남에 따라 최적화할 기회를 찾아야 합니다.
비용 관리 분야를 개발합니다. TCO(총 소유 비용)를 이해하려면 계획의 기능 및 비기능 비용을 모두 고려합니다.
업계 표준 전략 및 접근 방식을 사용합니다. 제조와 같은 IoT 관련 산업 의 경우 산업 표준 전략 및 접근 방식을 사용하여 구조, IoT 시스템, 스마트 도시 또는 에너지 그리드를 빌드합니다. 이 방법은 비용을 최적화하는 데 도움이 됩니다.
IoT 솔루션을 보호하는 데 드는 비용을 이해합니다. IoT는 하드웨어에서 클라우드 서비스에 이르는 전체 프로세스를 다루므로 모든 단계에서 보안 관련 비용이 발생합니다. 예를 들어 MPU(마이크로프로세서 단위), 디바이스, 통신, 클라우드 기술 및 운영 기술에 대한 비용이 발생할 수 있습니다.
속도 최적화를 위한 디자인입니다. 비용을 최적화하기 위해 각 IoT 솔루션 전체 관심사 에 대한 구현 계획을 정의합니다.
시간이 지남에 따라 모니터링하고 최적화합니다. IoT Hub 비용을 지속적으로 모니터링하고 최적화합니다. 솔루션을 구현한 후 지속적인 비용 최적화 작업을 수행합니다.
현실적인 비용을 예측합니다. IoT 솔루션의 개발 및 운영 단계에 적합한 IoT Hub 계층 및 크기를 선택합니다.
일회성 비용 및 반복 비용을 평가합니다. 일회성 비용과 반복 비용의 비용 이점을 고려합니다. 예를 들어 해킹 기술은 지속적으로 발전하므로 Azure Sphere와 같은 신뢰할 수 있는 상용 운영 체제 및 모듈을 사용할 수 있습니다. 일회성 결제의 경우 이러한 서비스는 지속적인 월간 디바이스 보안 패치를 제공합니다.
리소스 사용량을 최적화합니다. Implement autoscaling mechanisms to adjust the IoT Hub capacity based on demand. 이 방법은 효율적인 리소스 사용 및 비용 제어를 보장하는 데 도움이 됩니다.
예약된 용량을 사용합니다. 메시지 페이로드의 크기 및 빈도를 평가하여 IoT Hub의 크기가 적절하게 조정되고 크기를 조정할 준비가 되었는지 확인합니다.
비용 경고 및 예산을 구현합니다. 지출을 효과적으로 추적하고 제어할 수 있도록 Microsoft Cost Management에서 비용 경고 및 예산을 설정합니다. Use cost management APIs for IoT Hub and DPS.
Configuration recommendations
Recommendation | Benefit |
---|---|
IoT Hub 할당량 및 제한 제한 및 솔루션이 프로덕션 환경에서 대규모로 실행될 때 TCO에 미치는 영향을 이해합니다. 비용 모델은 프로덕션 환경에서 대규모로 디바이스, 인프라, 운영 및 모니터링을 고려해야 합니다. |
각 서비스에는 자체 할당량 및 제한 제한 집합이 있습니다. 비용을 최적화하기 위해 IoT Hub에서 이러한 제한을 이해합니다. |
디바이스 에코시스템 및 관련된 다양한 역할(예: 하드웨어 제조업체, 앱 개발자 및 계획 운영자)을 이해합니다. 디바이스는 데스크톱 컴퓨터에 있는 것과 같이 작은 8비트 MCU에서 고급 x86 CPU까지 다양할 수 있습니다. 자세한 내용은 IoT 솔루션 내에서 디바이스 구성에 대한 모범 사례를 참조하세요. 선택하는 하드웨어는 많은 변수에 따라 달라집니다. 비용을 절감하기 위해 IoT 디바이스의 주요 하드웨어 차별화 요인 을 이해합니다. |
디바이스 범위와 주요 하드웨어 차별화 요인을 이해하면 리소스를 보다 효과적으로 할당할 수 있습니다. 이렇게 하면 올바른 작업에 적합한 디바이스를 사용할 수 있으므로 성능과 비용 효율성이 향상됩니다. |
IoT 플러그 앤 플레이를 사용하여 하드웨어 개발 및 온보딩 시간을 줄입니다. 디바이스가 IoT 플러그 앤 플레이 지원 애플리케이션에 기능을 보급하는 데 사용하는 모델인 DTDL(Digital Twin Definition Language) 산업 온톨로지 채택 | 솔루션 빌더는 IoT 플러그 앤 플레이를 사용하여 수동 구성 없이 IoT 디바이스를 IoT Hub와 통합할 수 있습니다. |
IoT Hub용 디바이스 업데이트를 사용하여 무선 업데이트를 제공하고 디바이스를 원격으로 관리합니다. | 디바이스의 펌웨어 또는 소프트웨어를 원격으로 업데이트하는 솔루션은 장기적인 수동 인건비를 줄이는 데 도움이 됩니다. |
Power Apps, Power Automate 및 Azure Logic Apps와 같은 Azure 서비스에 커넥터를 사용합니다. IoT Hub and Azure Event Grid together provide connectors to implement your requirements within Logic Apps and Power Automate. |
커넥터를 사용하면 IoT 디바이스와 다양한 Azure 서비스 간에 원활한 통합이 가능하므로 자동화된 워크플로와 향상된 데이터 처리 기능을 사용할 수 있습니다. |
Use device simulators and set up a load testing environment to test the solution at production scale and understand the solution cost. Azure IoT 디바이스 원격 분석 시뮬레이터와 같은 시뮬레이션 코드 샘플은 다양한 매개 변수를 사용하여 대규모로 비용을 테스트하고 예측하는 데 도움이 됩니다. |
디바이스 시뮬레이터는 시나리오에 대한 결과를 모델링, 테스트 및 시뮬레이션하기 위해 대규모로 비용을 절감할 수 있습니다. |
전송 크기 및 비용을 줄이려면 다음을 수행합니다. - IoT 디바이스에 적합한 프로토콜을 선택합니다. - 에지에서 원격 분석을 압축합니다. - Batch messages on the device. - 연결이 활성 상태로 유지되거나 디바이스가 절전 모드 해제될 때 다시 연결 중에서 선택합니다. - 비용이 중요한 경우 디바이스 쌍 기능을 사용하여 상태 정보를 비동기적으로 교환합니다. 배터리로 구동되는 IoT 디바이스의 경우 연결을 활성 상태로 유지하거나 디바이스가 절전 모드 해제될 때 다시 연결 중에서 선택할 수 있습니다. 연결 유지 메시지 또는 하트비트 메시지를 사용하여 디바이스 상태를 확인하지만 전송의 추가 네트워크 비용을 고려합니다. 다시 연결은 약 6KB의 데이터를 사용하여 TLS 연결을 설정하고, 디바이스를 인증하고, 디바이스 쌍을 검색합니다. 그러나 디바이스가 하루에 한두 번만 절전 모드를 해제하는 경우 배터리 용량을 절약합니다. |
시나리오에 가장 적합한 프로토콜을 사용하면 디바이스가 전송 계층에서 전송 크기 및 비용을 줄일 수 있습니다. |
Understand how to use hot, warm, and cold path analytics for IoT data, and apply the lambda architecture. Use the built-in message routing feature in IoT Hub. | IoT 솔루션은 대량의 데이터를 저장할 수 있습니다. 스토리지 비용은 전체 솔루션 비용의 상당 부분을 차지합니다. 비즈니스 시나리오에 따라 적절한 처리 및 스토리지 계획을 선택합니다. |
Operational Excellence
운영 우수성은 주로 개발 사례, 관찰 가능성 및 릴리스 관리를 절차에 중점을 둡니다.
운영 우수성 디자인 원칙은 워크로드의 운영 요구 사항에 대한 이러한 목표를 달성하기 위한 높은 수준의 디자인 전략을 제공합니다.
워크로드 디자인 검사 목록
IoT Hub와 관련된 준수성, 테스트 및 배포에 대한 프로세스를 정의하기 위한 운영 우수성에 대한 디자인 검토 검사 목록을 기반으로 디자인 전략을 시작합니다.
연속 작업 및 크기 조정을 수용합니다. IoT 솔루션이 다음을 수행할 수 있는지 확인합니다.
- 자동화된 디바이스 프로비저닝을 성공적으로 관리합니다.
- 다른 백 엔드 시스템과 통합합니다.
- 솔루션 개발자, 솔루션 관리자 및 운영자와 같은 다양한 역할을 지원합니다.
- 새로 배포된 IoT 디바이스 또는 더 높은 수집 처리량과 같은 주문형 변화에 맞게 효율적으로 조정하고 확장합니다.
빌드 및 릴리스 프로세스를 최적화합니다. 성공적인 엔터프라이즈 IoT 솔루션에는 디바이스 또는 디바이스 구성을 설정하고 업데이트하는 전략이 필요합니다. 디바이스의 구성에는 디바이스 속성, 연결 설정, 관계 및 펌웨어가 포함됩니다. IoT 운영자는 디바이스 수명 동안 언제든지 디바이스 또는 디바이스의 구성을 업데이트하기 위해 간단하고 신뢰할 수 있는 도구가 필요합니다.
운영 상태를 이해합니다. IoT 솔루션 로깅, 모니터링 및 경고 시스템을 사용하여 솔루션이 예상대로 작동하는지 확인하고 솔루션의 수명 주기 동안 문제를 해결하는 데 도움이 됩니다.
자동화 및 DevOps를 사용합니다. IoT 디바이스는 기본적으로 특수한 하드웨어 및 소프트웨어가 있는 작은 컴퓨터입니다. IoT 디바이스는 하드웨어에서 제약을 받는 경우가 많습니다. 예를 들어 메모리 또는 컴퓨팅 용량이 제한될 수 있습니다. Automation 및 DevOps는 운영 가동 중지 시간을 최소화하는 IoT 디바이스 및 게이트웨이에 OS 및 소프트웨어의 적절한 업로드 및 배포를 보장하는 데 도움이 됩니다. 자동화 및 DevOps를 사용하여 IoT 디바이스의 수명 주기를 모니터링하고 관리합니다.
Configuration recommendations
Recommendation | Benefit |
---|---|
IoT Hub 자동 디바이스 관리 또는 IoT Edge 자동 배포를 사용하여 기존 또는 새 디바이스 및 IoT Edge 디바이스 구성(예: 속성, 애플리케이션별 설정 또는 관계)에 대한 지속적인 업데이트를 구현합니다. 일회성 또는 되풀이 일정에 따라 기존 디바이스 또는 IoT Edge 디바이스 구성을 업데이트하려면 IoT Hub 예약 작업을 사용합니다. 기존 디바이스 또는 IoT Edge 디바이스 펌웨어, 애플리케이션 또는 패키지 업데이트를 무선으로 업데이트하려면 IoT Hub용 디바이스 업데이트를 사용합니다. IoT 디바이스에 대한 수동 업데이트 방법이 있습니다. 루트 인증서 변경 또는 연결 문제로 인해 로컬 컴퓨터에 물리적으로 연결하거나 BLE와 같은 로컬 연결 프로토콜을 사용하여 디바이스를 수동으로 업데이트해야 할 수 있습니다. |
IoT Hub 자동 디바이스 관리 및 IoT Edge 자동 배포는 플릿 또는 특정 디바이스 그룹에 대한 구성 배포를 자동화하는 매우 효율적이고 안전하며 신뢰할 수 있는 방법을 제공합니다. 디바이스에 지정된 구성이 있는지 확인하기 위해 서비스는 태그에 따라 신규 및 기존 대상 디바이스 및 해당 구성을 지속적으로 모니터링합니다. IoT Hub 예약 작업은 예약된 시간에 플릿 또는 특정 디바이스 그룹에 대한 구성을 업데이트하는 최적의 방법을 제공합니다. IoT Hub용 디바이스 업데이트는 플릿 또는 특정 디바이스 그룹을 효율적으로 업데이트합니다. |
예상 및 예기치 않은 용량 요구 사항을 효율적으로 처리하도록 IoT 클라우드 솔루션의 수집 및 기타 백 엔드 계층을 구성합니다. 솔루션이 연결된 제품에 연결된 경우 IoT Hub 및 연결된 백 엔드 계층 내에서 예상 부하의 변동을 처리할 수 있는지 확인합니다. | 판매 또는 프로모션과 같은 마케팅 이니셔티브와 휴일과 같은 계절적 이벤트는 부하가 최고조에 달할 수 있습니다. 솔루션이 최대를 처리하도록 크기를 조정할 수 있는지 확인하려면 예상 및 예기치 않은 이벤트에 대한 부하 변형을 테스트합니다. |
IoT Hub REST API에 노출된 REST API를 사용하여 중앙 집중식 관리 UI를 빌드하여 운영 팀이 디바이스 함대를 관리할 수 있도록 지원합니다. | 중앙 집중식 디바이스 관리 솔루션은 IoT 디바이스의 관리, 모니터링 및 운영을 간소화하여 IoT 솔루션 전체에서 효율적인 수명 주기 관리 및 일관된 구성을 보장합니다. 또한 통합 UI는 운영 팀이 디바이스 함대를 효과적으로 관리하여 운영 복잡성을 줄이고 전반적인 시스템 안정성을 향상시키는 데 도움이 됩니다. |
Microsoft Entra ID와 같은 중앙 집중식 ID 공급자를 사용하여 관리 ID를 만듭니다. 해당 역할의 적절한 사용자가 새 디바이스 만들기 및 프로비전, 필드의 하드웨어에 명령 보내기, 업데이트 배포 및 사용자 권한 수정과 같은 관리 또는 작업 작업을 수행할 수 있도록 허용합니다. | 인증을 위한 Microsoft Entra ID는 기존 보안 토큰에 비해 향상된 보안 및 사용 편의성을 제공합니다. Microsoft Entra ID에서 Azure RBAC(역할 기반 액세스 제어)를 사용하여 IoT Hub에 대한 액세스를 제어할 수 있습니다. |
IoT Hub 기반 솔루션에서 Microsoft Entra ID를 사용하여 디바이스 ID 만들기 또는 직접 메서드 호출과 같은 IoT Hub 서비스 API에 대한 요청을 인증할 수 있습니다. 솔루션 운영자 및 관리자를 위한 사용자 지정 관리 UI를 개발할 수 있습니다. 이 UI는 Microsoft Entra ID에 대해 사용자를 인증하고 대신 API 요청을 IoT 솔루션 백 엔드로 보냅니다. | 사용자 지정 관리 UI는 RBAC 및 기타 보안 조치를 통합하여 보안을 향상시킵니다. 또한 복잡한 작업을 간소화하는 직관적인 인터페이스를 제공하여 사용자 환경을 향상시킵니다. |
IoT Hub 로깅, 모니터링 및 경고 시스템을 사용하여 솔루션이 예상대로 작동하는지 확인하고 문제를 해결하고 완화하는 데 도움이 됩니다. IoT Hub에서 만드는 메트릭 및 로그에 대한 자세한 내용은 IoT Hub 모니터링 데이터 참조를 참조하세요. | 모니터링 및 로깅은 디바이스 또는 시스템에 오류가 발생하는지, 올바르게 구성되었는지, 정확한 데이터를 생성하고, 정의된 SLO를 충족하는지 확인하는 데 도움이 됩니다. |
CI/CD DevOps 원칙 및 프로세스를 사용하여 생산성을 높이고 원활한 빠른 개발 주기를 만듭니다. Azure Pipelines의 기본 제공 IoT Edge 작업을 사용하여 IoT Edge 애플리케이션에 DevOps를 채택합니다. 자세한 내용은 IoT Edge 디바이스에 대한 CI/CD를 참조하세요. | IoT Hub 및 IoT Edge의 DevOps 도구 및 프로세스는 에지 소프트웨어 수명 주기를 자동화하는 데 도움이 됩니다. |
IoT 디바이스를 다시 프로비전 및 프로비전 해제하는 프로세스를 정의합니다. 더 많은 정보를 원하시면 문의하십시오. IoT Hub 디바이스 다시 프로비전 개념을 참조하세요. IoT 디바이스 수명 주기에는 기존 디바이스를 다른 위치 또는 용도로 다시 프로비전하는 절차를 정의하고 필요한 경우 안전하게 프로비저닝을 해제하는 작업이 포함됩니다. | IoT 디바이스에 대한 다시 프로비전 및 프로비전 해제 프로세스는 수명 주기를 관리하는 데 도움이 됩니다. 이러한 프로세스는 IoT Hub 간에 디바이스 상태 정보 및 구성을 마이그레이션할 때 작업의 연속성을 유지하는 데 도움이 됩니다. 이 방법은 이동 후 디바이스가 계속 올바르게 작동하도록 하는 데 도움이 됩니다. |
고가용성을 보장하기 위해 IoT Hub의 장애 조치(failover) 및 장애 복구(failback )를 테스트합니다. Document recovery steps for Microsoft-initiated failover and manual failover. 오류 발생 시 애플리케이션을 보조 Azure 지역으로 복구하거나 장애 조치(failover)하는 데 필요한 단계를 코딩하고 자동화합니다. 이 방법을 사용하면 중단에 효과적으로 대응하고 영향을 최소화할 수 있습니다. 마찬가지로 문제가 해결된 후 애플리케이션을 주 지역으로 장애 복구하는 단계를 코딩하고 자동화합니다. |
장애 조치(failover) 및 장애 복구(failback) 프로시저 테스트를 통해 IoT 솔루션에서 오류를 처리하고 고가용성을 유지하여 오류의 영향을 최소화할 수 있습니다. Microsoft에서 시작한 장애 조치(failover) 및 수동 장애 조치(failover) 모두에 대한 문서화된 복구 단계는 장애 조치(failover) 시나리오를 처리하는 명확하고 구조화된 접근 방식을 제공하여 팀 구성원이 절차를 인식하고 효율적으로 구현할 수 있도록 합니다. |
Bicep 또는 ARM 템플릿(Azure Resource Manager 템플릿)과 같은 IaC(Infrastructure as Code) 언어를 사용하여 모든 IoT Hub, DPS 및 백 엔드 인프라 구성을 정의하고 저장합니다. 전체 인프라를 IaC로 정의하여 환경 간에 리소스를 일관되게 자동으로 배포할 수 있도록 합니다. ID 및 액세스 관리(IAM) 또는 Azure RBAC 또는 Azure Policy와 같은 거버넌스 도구를 사용하여 인프라에 대한 쓰기 액세스를 제어합니다. 구성 설정 또는 인프라 업데이트를 자동화된 파이프라인으로 제한합니다. 환경에서 발생하는 변경 내용과 시기를 확인할 수 있도록 이 방법을 사용합니다. |
IoT Hub 또는 DPS와 같은 IoT 솔루션 리소스를 프로비전하고 구성하는 반복 가능하고 예측 가능한 프로세스는 오류 및 가동 중지 시간을 줄이는 데 도움이 됩니다. Azure DevOps 또는 GitHub와 같은 DevOps 도구는 구성, IaC 및 펌웨어 버전을 추적하는 데 도움이 될 수 있습니다. 버전 추적을 사용하면 각 환경에서 펌웨어, 구성 및 IaC 버전을 식별할 수 있습니다. |
프로덕션 환경과 동일한 펌웨어, 구성 설정 및 IaC를 사용하는 테스트 환경을 만듭니다. 이러한 환경을 쉽게 만들려면 IaC를 사용하고 프로세스를 최대한 자동화합니다. | 테스트 및 프로덕션 환경이 일치하면 새로운 기능 및 핫 픽스의 개발 및 테스트를 간소화할 수 있습니다. |
Performance Efficiency
성능 효율성은 용량 을 관리하여 부하가 증가하는 경우에도 사용자 환경을 유지하는 것입니다. 이 전략에는 리소스 크기 조정, 잠재적인 병목 현상 식별 및 최적화, 최고 성능 최적화가 포함됩니다.
성능 효율성 디자인 원칙은 예상된 사용량에 대해 이러한 용량 목표를 달성하기 위한 높은 수준의 디자인 전략을 제공합니다.
워크로드 디자인 검사 목록
IoT Hub의 주요 성능 지표를 기반으로 기준을 정의하기 위한 성능 효율성에 대한 디자인 검토 검사 목록을 기반으로 디자인 전략을 시작합니다.
수평 크기 조정을 위한 디자인입니다. IoT 솔루션은 수백 개의 디바이스 또는 메시지로 시작하고 분당 수백만 개의 디바이스 및 메시지로 확장할 수 있습니다. IoT Hub 및 관련 클라우드 서비스는 증가된 부하를 쉽게 처리할 수 있지만 IoT 디바이스 및 게이트웨이는 복잡성을 더합니다. 솔루션을 완료하기 전에 IoT 디바이스를 디자인하고 배포할 수 있습니다. 산업용 IoT와 같은 산업에는 몇 년, 종종 수십 년 동안 지속되는 디바이스가 있습니다. 디바이스를 업데이트 용량으로 교체하면 상당한 비용이 발생할 수 있으므로 미리 계획해야 합니다.
성능을 조기에 테스트합니다. 조기에 테스트하고 자주 테스트하여 문제를 신속하게 식별합니다. 통신의 특성, 속도 및 안정성이 서로 다른 지리적으로 다른 위치에 있는 센서, 디바이스 및 게이트웨이와 같이 복잡성을 도입할 수 있는 변수를 이해합니다. 테스트에서 이러한 복잡성을 계획합니다. 네트워크 연결 끊김과 같은 오류 시나리오를 테스트합니다. IoT Hub 및 관련 클라우드 서비스의 모든 디바이스, 에지 및 클라우드 구성 요소에 대한 스트레스 및 부하 테스트를 수행합니다.
프로덕션 환경에서 성능을 지속적으로 모니터링합니다. 여러 지역에서 다양한 유형의 디바이스를 모니터링하려면 분산 모니터링 솔루션을 사용합니다. 모니터링하여 클라우드로 보내는 정보의 양과 메모리 및 성능 비용의 균형을 조정합니다. 진단 시나리오에 대한 전송을 조정하고 여러 수준 및 계층에서 모니터링합니다. 산업 또는 게이트웨이 사용 솔루션에 대한 게이트웨이 메트릭을 노출합니다.
Configuration recommendations
Recommendation | Benefit |
---|---|
하드웨어 기능을 최적화합니다. 하드웨어 업그레이드 및 교체는 비용과 시간을 증가시킬 수 있습니다. 필요한 용량 및 기능에 대한 IoT 디바이스 크기를 미리 조정합니다. To optimize existing hardware capabilities, use efficient languages and frameworks like Embedded C and Rust Embedded. 제한된 디바이스를 개발하거나 디바이스에서 대부분의 보안 및 통신 스택을 사용할 수 있는 경우 Azure IoT Embedded C SDK를 사용합니다. |
특정 하드웨어에서 실행되는 컴퓨팅 및 입력 출력 집약적 작업은 성능을 크게 향상시킬 수 있습니다. 예를 들어 로컬 GPU에서 실행되는 기계 학습 알고리즘은 중앙 프로세서에서 처리를 오프로드하여 더 빠르고 효율적인 계산을 만들 수 있습니다. 효율적인 언어와 프레임워크는 성능을 향상시키고 리소스 소비를 줄일 수 있습니다. C용 Azure IoT 디바이스 SDK는 클라우드 게이트웨이에 연결할 수 있도록 필요한 모든 구성 요소를 효율적으로 관리합니다. Azure IoT 디바이스 SDK는 기존 하드웨어 기능의 사용을 최적화하는 복원력 있는 연결에 필요한 메시지 변환, 오류 처리 및 재시도 메커니즘을 처리합니다. |
네트워크 처리량 또는 대기 시간과 같은 시스템 제약 조건에 따라 에지에서 일부 워크로드를 실행하는 것이 좋습니다. | 에지의 워크로드는 데이터를 생성된 위치에 가깝게 처리하므로 대기 시간을 줄이고 응답성을 향상시킵니다. 이 방법은 지속적인 클라우드 연결의 필요성을 최소화하여 간헐적 또는 제한된 네트워크 액세스가 있는 시나리오에 이점을 제공합니다. 또한 클라우드에서 처리를 오프로드하여 대역폭 사용량 및 관련 비용을 줄일 수 있습니다. |
지역 정전 후와 같이 모든 디바이스를 한 번에 연결하지 마세요. | 다시 시도할 때 지터를 도입하는 잘린 지수 백오프를 사용합니다. 이 방법은 시간이 지남에 따라 다시 연결 시도를 분산하여 네트워크 정체 및 서버 오버로드를 방지하는 데 도움이 됩니다. 보다 안정적이고 안정적인 재연결 프로세스를 만들어 다른 가동 중단 또는 성능 저하의 위험을 줄입니다. 제대로 관리되는 다시 연결 시도는 IoT Hub의 전반적인 상태 및 성능을 유지하는 데 도움이 될 수 있습니다. |
오프라인 시나리오를 최적화합니다. 디바이스에 클라우드 연결 없이 작동하고 연결 끊김 및 다시 부팅에서 복구할 수 있도록 로컬로 데이터를 저장할 수 있는 충분한 정보와 컨텍스트를 제공합니다.
디바이스 쌍 및 모듈 쌍을 사용하여 IoT Hub에 간헐적으로 연결된 디바이스에 대해 디바이스와 클라우드 간에 상태 정보를 비동기적으로 동기화합니다. 만료된 데이터가 자동으로 제거되도록 데이터에 TTL(Time to Live)을 설정합니다. 이렇게 하면 수동 개입의 필요성이 줄어듭니다. 에지 디바이스 스토리지가 용량에 도달하면 스토리지를 효율적으로 관리하는 데 도움이 되도록 첫 번째 마지막 아웃, 마지막 입력 첫 번째 아웃 또는 우선 순위 기반 전략과 같은 캐시 제거 전략을 사용합니다. 디바이스 런타임 또는 애플리케이션이 스토리지가 부족한 경우에도 계속 작동할 수 있도록 별도의 디스크 또는 디스크 컨트롤러를 사용하여 데이터를 저장하는 것이 좋습니다. |
연결되지 않은 경우 우선 순위에 따라 로그 및 캐시된 원격 분석을 포함하여 로컬로 데이터를 저장할 수 있는 디바이스는 연결 끊김 중에 기능을 유지하는 데 도움이 됩니다. 디바이스가 연결되지 않은 경우 덜 중요한 데이터를 삭제하여 디바이스가 다시 연결될 때 로컬 스토리지 요구 사항 및 동기화 시간을 줄입니다. 데이터를 저장할 별도의 디스크 또는 디스크 컨트롤러를 사용하면 스토리지 제한으로 중요한 작업이 중단되지 않도록 할 수 있습니다. |
메시징 효율성을 최적화합니다. IoT Hub는 4KB 메시지 크기에 따라 일일 할당량 메시지 수를 계산합니다. 더 작은 메시지를 보내면 일부 용량은 사용되지 않습니다. 사용량을 최적화하려면 4KB에 가까운 메시지 크기를 목표로 합니다. 총 메시지 수를 줄이려면 더 작은 디바이스-클라우드 메시지를 더 큰 메시지로 그룹화합니다. 그러나 메시지를 결합할 때 도입된 대기 시간을 알고 있어야 합니다. 애플리케이션 수준 일괄 처리를 구현하려면 다운스트림 디바이스에서 여러 작은 메시지를 결합하고 더 큰 메시지를 에지 게이트웨이로 보냅니다. 사용자가 지정한 제한 시간 후에 즉시 성공하거나 실패할 수 있는 요청-회신 상호 작용에 직접 메서드를 사용합니다. 디바이스가 응답했는지 여부에 따라 작업 과정이 다른 시나리오에 이 방법을 사용합니다. 디바이스 쌍을 사용하여 메타데이터 및 구성을 비롯한 디바이스 상태 정보를 확인합니다. IoT Hub는 연결하는 각 디바이스에 대해 디바이스 쌍을 유지 관리합니다. |
디바이스-클라우드 메시지의 수와 크기는 IoT 솔루션 성능 효율성을 위한 중요한 매개 변수입니다. IoT Hub는 솔루션 성능 및 비용에 영향을 주는 계층당 메시지 제한을 정의합니다. 일괄 처리는 메시지 오버헤드를 제한하고 로컬 에지 디스크 스토리지에 대한 쓰기를 줄이는 데 도움이 됩니다. |
메시징 할당량 및 제한을 이해합니다. IoT Hub 계층은 각 클라우드 게이트웨이 단위에 대한 제한을 설정합니다. 메시징 할당량은 계층에 대한 지속적인 처리량 및 지속적인 전송 속도를 정의합니다. IoT Hub는 짧은 기간 동안 이러한 할당량을 초과하는 부하를 처리하여 버스트 또는 부하 오버슈트를 탄력적으로 처리할 수 있습니다. 또 다른 중요한 제한은 시간별 또는 일일 서비스 부하 또는 제한입니다. 제한 제한은 오랜 기간 동안 과도한 부하로부터 IoT Hub를 보호합니다. |
메시징 할당량 및 제한을 이해하여 IoT 솔루션이 정의된 제한 내에서 작동하는지 확인합니다. 이 방법은 오버로드를 방지하고 성능을 유지합니다. 전체 시스템 안정성에 영향을 주지 않고 버스트 및 부하 오버슈트를 처리할 수 있도록 부하를 효과적으로 관리합니다. 이 방법은 안정적이고 효율적인 IoT 솔루션을 유지하는 데 도움이 되며 과도한 부하로 인해 잠재적인 서비스 중단을 방지합니다. |
메시지 처리를 최적화합니다. 클라우드로 데이터를 보내는 데 사용하는 형식을 최적화합니다. 데이터 형식을 최적화하고 대역폭 비용에 대비하여 클라우드 처리를 줄일 경우의 이점을 측정합니다.
IoT Hub 메시지 보강을 사용하여 디바이스 메시지에 컨텍스트를 추가하는 것이 좋습니다. 처리되지 않은 데이터를 저장하고 데이터를 획득하기 위해 복잡한 쿼리를 요구하는 대신 수집된 데이터가 도착할 때 시간이 중요한 이벤트 처리를 수행합니다. 시간이 중요한 이벤트 처리의 경우 늦은 데이터 도착 및 창의 영향을 고려합니다. 중요한 경보 처리 및 메시지 보강과 같은 사용 사례에 따라 접근 방식을 평가합니다. 솔루션 요구 사항에 따라 기본 또는 표준 IoT Hub 계층을 선택합니다. 기본 계층에서 지원하지 않는 기능을 이해합니다. Event Grid를 게시-구독 이벤트 라우팅에 사용하는 것이 좋습니다. 자세한 내용은 Event Grid를 사용하여 작업을 트리거하고 메시지라우팅 및 IoT Hub용 Event Grid를 비교하여 IoT Hub 이벤트에 대한 React를 참조하세요. |
스토리지 전에 자세한 정보를 사용하여 디바이스 또는 게이트웨이에서 메시지를 변환, 처리 또는 보강해야 할 수 있습니다. 이 단계는 시간이 오래 걸릴 수 있으므로 성능에 미치는 영향을 평가해야 합니다. 데이터 전송 최적화를 위한 압축 사용과 메시지 암호 해독 시 클라우드 처리 방지와 같은 일부 권장 사항이 충돌합니다. 이러한 권장 사항을 다른 아키텍처 핵심 요소 및 솔루션 요구 사항과 균형을 맞추고 평가합니다. |
IoT Edge 우선 순위 큐를 사용하여 IoT Hub로 보내는 중요한 데이터의 우선 순위를 지정합니다. IoT Edge는 연결이 없는 경우 메시지를 버퍼링합니다. 연결이 복원된 후 먼저 버퍼링된 모든 메시지를 우선 순위 순서로 보낸 다음 새 메시지를 보냅니다. IoT Hub 메시지 라우팅을 사용하여 사용 사례에 따라 다른 데이터 우선 순위에 대한 경로를 구분합니다. IoT Hub 메시지 라우팅은 대기 시간을 추가합니다. Save and send low-priority data at longer intervals, or use batch or file uploads. 업로드된 파일에 대한 맬웨어 검색은 대기 시간을 증가합니다. 시간 제약 조건에 따라 메시지를 구분합니다. 예를 들어 시간 제약 조건이 있을 때 직접 IoT Hub에 메시지를 보내고, 시간 제약 조건이 없는 경우 IoT Hub 또는 Azure Data Factory와 같은 일괄 처리 데이터 전송을 통해 파일 업로드를 사용합니다. 파일 업로드를 위해 IoT Edge 모듈의 Azure Blob Storage 를 사용할 수 있습니다. |
디바이스가 클라우드로 보내는 일부 데이터는 다른 데이터보다 더 중요할 수 있습니다. 우선 순위에 따라 데이터를 분류하고 처리하여 성능 효율성을 향상시킵니다. 예를 들어 자동 온도 조절기 센서는 온도, 습도 및 기타 원격 분석을 전송하지만 온도가 정의된 범위에서 벗어나면 경고를 보냅니다. 시스템은 경보 메시지를 높은 우선 순위로 분류하고 온도 원격 분석과 다르게 처리합니다. |
DPS를 사용하여 프로비전 중, IoT Hub 연결을 더 이상 사용할 수 없는 경우 또는 디바이스를 다시 부팅하는 동안 IoT Hub에 대한 연결을 설정합니다. 균등하게 가중치가 적용된 배포 정책을 사용하여 사용 사례에 따라 프로비전 가중치를 조정합니다. 이 방식은 리소스 할당을 최적화합니다. |
DPS는 디바이스가 안전하고 효율적으로 프로비전되도록 하는 데 도움이 됩니다. 일정 기간 또는 더 작은 일괄 처리로 디바이스를 프로비전하면 DPS 부하와 할당량의 균형을 유지하여 원활한 온보딩 프로세스를 보장합니다. 대기 시간에 따라 다른 지역의 IoT Hub에 디바이스를 할당하면 성능이 향상되고 연결 시간이 줄어듭니다. DPS 연결 문자열에 대한 캐싱 전략을 구현하면 다시 연결 작업이 줄어들어 전반적인 시스템 효율성이 향상됩니다. |
에지 및 클라우드 처리를 최적화합니다. 로컬 컴퓨팅을 사용하여 실시간 및 거의 실시간 워크로드를 실행하거나 디바이스 또는 에지에서 시간 제약 조건이 있는 작고 최적화된 짧은 대기 시간 처리를 실행합니다. 더 큰 워크로드 또는 추가 외부 데이터 또는 컴퓨팅 종속성이 필요한 워크로드의 경우 클라우드 리소스를 사용합니다. 예를 들어 에지에서 기계 학습 알고리즘을 실행하여 비디오 스트림의 사용자 수를 계산하고 개수가 포함된 이벤트를 클라우드로 보낼 수 있습니다. 이 방법은 빠른 로컬 처리 및 효율적인 클라우드 기반 추세 분석을 제공합니다. Azure Stream Analytics IoT Edge 모듈을 사용하여 에지에서 변칙 검색과 같은 분석 워크로드를 실행합니다. 이 방법은 검색된 변칙을 사용하여 이벤트를 클라우드로 보내기 전에 레이블을 지정하여 전반적인 시스템 효율성을 향상시키는 데 도움이 됩니다. 연결된 많은 다운스트림 디바이스를 포함하는 에지 워크로드의 오버헤드를 이해합니다. 간헐적인 클라우드 연결이 있는 경우 에지 노드는 모든 메시지를 전달하거나 처리하고 모든 데이터를 캐시해야 합니다. 솔루션의 성능 효과를 평가하려면 각 에지 노드에 대해 예상되는 최대 다운스트림 디바이스 및 메시지로 솔루션을 테스트합니다. 또한 메시지 변환 또는 보강이 에지, IoT Hub 또는 클라우드 이벤트 처리에 미칠 수 있는 성능 효과도 이해합니다. 시스템 효율성을 유지하기 위해 그에 따라 계획합니다. |
에지에서 실시간 및 거의 실시간 워크로드를 실행하면 대기 시간이 짧고 즉각적인 응답 시간이 제공되므로 시간이 중요한 애플리케이션에 매우 중요합니다. 예상되는 최대 다운스트림 디바이스 및 메시지로 테스트하면 에지 노드가 부하를 처리하고 성능을 유지할 수 있습니다. |
대용량 클라우드 데이터에 대한 성능 효율성을 최적화하려면 Azure Data Lake Storage 및 Azure Data Explorer와 같은 IoT Hub와 데이터 대상 간의 기본 제공 서비스 통합을 사용합니다. 이러한 서비스는 고성능 처리량에 최적화되어 있습니다. Event Hubs SDK를 사용하여 IoT Hub에서 사용자 지정 수집을 개발합니다. SDK에는 디바이스 및 호스트의 균형을 조정할 수 있는 이벤트 프로세서가 포함되어 있습니다. 동시 데이터 판독기 수 및 필요한 처리량에 적절한 수의 IoT Hub 파티션 및 소비자 그룹을 사용합니다. 데이터 수집 및 이벤트 처리에 필요한 스토리지를 보고 및 통합에 필요한 스토리지와 분리합니다. 필요한 처리량, 크기, 보존 기간, 데이터 볼륨, CRUD 요구 사항 및 지역 복제에 따라 요구 사항에 맞는 데이터 스토리지를 사용합니다. 스토리지 예제에는 Data Lake Storage, Azure Data Explorer, Azure SQL 및 Azure Cosmos DB가 있습니다. 자세한 내용은 애플리케이션에 대한 Azure 데이터 저장소 선택을 참조하세요. |
대용량 클라우드 데이터에 최적화된 성능 효율성은 IoT 솔루션이 대량의 데이터를 효율적으로 처리할 수 있도록 합니다. 기본 제공 서비스 통합 및 Event Hubs SDK는 데이터 수집 및 처리를 간소화하는 데 도움이 됩니다. 다양한 용도로 IoT Hub 파티션 및 소비자 그룹과 별도의 스토리지를 적절히 구성하면 데이터 관리를 개선하는 데 도움이 됩니다. 특정 요구 사항에 따라 적절한 데이터 스토리지는 IoT 솔루션의 성능, 확장성 및 안정성을 유지하는 데 도움이 됩니다. |
통합 처리에서 IoT 솔루션 수집 파이프라인을 분리합니다. 복잡한 쿼리 또는 로드가 IoT Hub의 데이터 수집 성능에 영향을 주지 않는지 확인합니다. 디바이스 쌍, 모듈 쌍, 작업 및 메시지 라우팅과 관련된 IoT Hub 정보에 액세스하려면 잘 정의되고 버전이 지정된 API를 사용합니다. 최종 사용자가 IoT Hub 스토리지에 대해 사용자 정의 쿼리를 만들지 못하도록 합니다. 통합 및 보고를 위해 별도의 데이터 저장소를 사용하는 것이 좋습니다. | IoT 솔루션 수집 파이프라인과 통합 처리를 분리하면 통합 계층에서 복잡한 쿼리 또는 로드가 데이터 수집 성능에 영향을 주지 않습니다. 이 방법은 IoT Hub의 효율성과 안정성을 유지합니다. |
Azure Monitor를 사용하여 IoT Hub 메트릭을 수집하고 중요한 메트릭에 대한 경고를 보냅니다. 초당 전송되는 디바이스-클라우드 메시지와 같은 확장 제한에 따라 Azure Monitor 경고를 설정합니다. 경고를 제한의 백분율(예: 75%)으로 설정하여 미리 알립니다. 제한 오류 수와 같은 로그 및 메트릭에 대한 Azure Monitor 경고를 설정합니다. IoT Hub 상태가 변경되면 알림을 트리거하도록 Azure Service Health 서비스 경고를 설정합니다. | 중요한 메트릭에 대한 IoT Hub 메트릭 및 경고는 IoT 솔루션의 사전 모니터링 및 관리를 보장합니다. 확장 제한 및 해당 제한의 백분율을 기반으로 하는 경고는 확장성 제한에 도달하기 전에 알림을 제공하여 적시에 조정할 수 있도록 합니다. 제한 오류와 같은 로그 및 메트릭에 대한 경고는 문제를 즉시 식별하고 해결하는 데 도움이 됩니다. IoT Hub 상태가 변경될 때 경고는 잠재적인 중단에 대한 인식을 제공하고 IoT 솔루션의 안정성과 성능을 유지하기 위해 필요한 조치를 취할 수 있도록 합니다. |
Azure policies
Azure는 IoT Hub 및 해당 종속성과 관련된 광범위한 기본 제공 정책 집합을 제공합니다. 이전 권장 사항 중 일부는 Azure Policy를 통해 감사할 수 있습니다. 예를 들어 다음을 확인할 수 있습니다.
- IoT Hub에는 서비스 API에 대해 비활성화된 로컬 인증 방법이 있습니다.
- 공용 인터넷을 통해 액세스할 수 없도록 IoT Hub 디바이스 프로비저닝 인스턴스에 대해 공용 네트워크 액세스를 사용할 수 없습니다.
- IoT Hub는 프라이빗 엔드포인트에서만 액세스할 수 있습니다.
- IoT Hub의 리소스 로그를 사용할 수 있습니다. 이러한 로그는 보안 인시던트 또는 네트워크 손상 후 조사하는 데 도움이 되는 활동 내역을 다시 만듭니다.
포괄적인 거버넌스를 위해 IoT 솔루션의 보안에 영향을 줄 수 있는 사물 인터넷 및 기타 정책에 대한 Azure Policy 기본 제공 정의를 검토합니다.
Azure Advisor 권장 사항
Azure Advisor는 모범 사례를 따라 Azure 배포를 최적화하는 데 도움이 되는 개인 설정된 클라우드 컨설턴트입니다. Advisor 권장 사항은 Well-Architected Framework 핵심 요소와 일치합니다.
For more information, see the recommendations in Azure Advisor.