Azure IoT 참조 아키텍처

Azure 기능
Azure IoT Hub
Azure Stream Analytics
Azure Digital Twins

이 문서에서 설명하는 대로 Azure PaaS(platform-as-a-service) 구성 요소를 어셈블하여 사용자 지정 IoT 솔루션을 만들 수 있습니다. 이 문서와 이 다이어그램에서는 IoT 솔루션이 일반적으로 사용하는 Azure 구성 요소 및 서비스에 대해 설명하지만 이러한 구성 요소를 모두 사용하는 단일 솔루션은 다루지 않습니다.

아키텍처

Azure PaaS 구성 요소를 사용하는 IoT 애플리케이션의 아키텍처를 보여 주는 다이어그램

이 아키텍처의 Visio 파일을 다운로드합니다.

워크플로

Azure IoT 솔루션에는 다음이 포함됩니다.

  • 사물, 일반적으로 데이터를 생성하는 디바이스 입니다.
  • 데이터에 대해 구성하는 인사이트입니다.
  • 인사이트를 기반으로 수행하는 작업입니다.

예를 들어 모터는 온도 데이터를 보냅니다. 이 데이터를 사용하여 모터가 예상대로 수행되었는지 여부를 평가합니다. 모터의 성능에 대한 인사이트를 사용하여 유지 관리 일정의 우선 순위를 지정합니다.

디바이스

Azure IoT는 Azure RTOS 및 Azure Sphere를 실행하는 마이크로 컨트롤러부터 MX Chip 및 Raspberry Pi와 같은 개발자 보드에 이르기까지 다양한 디바이스를 지원합니다. Azure IoT는 사용자 지정 코드를 실행할 수 있는 스마트 서버 게이트웨이도 지원합니다. 디바이스는 Azure IoT Edge와 같은 서비스를 통해 일부 로컬 처리를 수행하거나 IoT 솔루션에서 데이터를 보내고 받을 수 있도록 Azure에 직접 연결할 수 있습니다.

디바이스가 클라우드에 연결된 경우 데이터 수집을 지원하는 여러 서비스가 있습니다. Azure IoT Hub는 디바이스를 안전하게 연결하고 관리할 수 있는 클라우드 게이트웨이 서비스입니다. Azure IoT Hub DPS(Device Provisioning Service)를 사용하면 많은 수의 디바이스를 안전하고 확장 가능한 방식으로 등록하는 데 도움이 되는 무인 Just-In-Time 프로비저닝이 가능합니다. Azure Digital Twins는 실제 시스템의 가상 모델을 가능하게 합니다.

자세한 정보

디바이스가 클라우드에 연결되면 데이터를 처리하고 탐색하여 환경에 대한 사용자 지정 인사이트를 얻을 수 있습니다. 높은 수준에서 데이터를 처리하는 세 가지 방법(실행 부하 과다 경로, 웜 경로, 콜드 경로)이 있습니다. 이러한 경로는 대기 시간 및 데이터 액세스에 대한 요구 사항이 다릅니다.

  • 실행 부하 과다 경로는 데이터가 도착하는 대로 거의 실시간으로 분석합니다. 실행 부하 과다 경로 원격 분석은 매우 짧은 대기 시간으로 처리되어야 합니다. 실행 부하 과다 경로는 일반적으로 스트림 처리 엔진을 사용합니다. Azure Stream Analytics 또는 HDInsight와 같은 서비스를 사용하는 것이 좋습니다. 출력은 경고를 트리거하거나, 분석 도구를 사용하여 쿼리될 수 있는 구조화된 형식으로 작성될 수 있습니다.
  • 웜 경로는 더 자세한 처리를 위해 더 긴 지연을 수용할 수 있는 데이터를 분석합니다. 대량의 데이터를 저장하고 분석하는 데는 Azure Data Explorer를 사용하는 것이 좋습니다.
  • 콜드 경로는 긴 간격(매시간 또는 매일)으로 일괄 처리를 수행합니다. 콜드 경로는 일반적으로 Azure Data Lake Storage에 저장할 수 있는 대량의 데이터에 대해 작동합니다. 결과가 핫 또는 웜 경로만큼 시기 적절할 필요는 없습니다. Azure Machine Learning 또는 Azure Databricks를 사용하여 콜드 데이터를 분석하는 것이 좋습니다.

동작

데이터에 대해 수집된 인사이트를 사용하여 환경을 관리하고 제어할 수 있습니다. 비즈니스 통합 작업에는 다음이 포함될 수 있습니다.

  • 정보 메시지 저장
  • 경보 발생
  • 이메일 또는 SMS 메시지 보내기
  • CRM(고객 관계 관리) 및 ERP(엔터프라이즈 리소스 계획)와 같은 비즈니스 애플리케이션과 통합

다음과 같은 서비스를 관리 및 비즈니스 통합에 사용할 수 있습니다.

  • Power BI는 데이터에 연결하고, 모델링하고, 시각화합니다. Power BI를 사용하면 데이터에 대해 협업하고 AI를 사용하여 데이터 기반 의사 결정을 내릴 수 있습니다.
  • Azure Maps는 지리 공간 API, SDK 및 서비스(예: 검색, 지도, 라우팅, 추적 및 트래픽)를 사용하여 위치 인식 웹 및 모바일 애플리케이션을 만듭니다.
  • Azure Cognitive Search는 다양한 유형의 콘텐츠에 대한 검색 서비스를 제공합니다. Cognitive Search에는 인덱싱, AI 보강 및 쿼리 기능이 포함됩니다.
  • Azure API Management는 모든 API를 관리할 수 있는 단일 위치를 제공합니다.
  • Azure App Service는 조직과 함께 스케일링되는 웹 애플리케이션을 배포합니다.
  • Azure Mobile Apps는 iOS, Android, Windows 또는 Mac용 플랫폼 간 및 네이티브 앱을 빌드합니다.
  • Dynamics 365는 CRM과 ERP를 클라우드에 결합합니다.
  • Microsoft Power Automate(Microsoft Flow)는 애플리케이션 및 기타 SaaS 서비스 전반에서 워크플로를 자동화하기 위한 SaaS 제품입니다.
  • Azure Logic Apps는 앱, 데이터, 서비스 및 시스템을 통합하는 워크플로를 만들고 자동화합니다.

Azure는 전체 IoT 솔루션을 모니터링하고 보안을 유지하는 데 도움이 되는 여러 서비스도 제공합니다. 진단 서비스에는 Azure Monitor가 포함됩니다. Microsoft Entra ID 및 IoT용 Microsoft Defender와 같은 보안 서비스는 보안 설정 및 위협 탐지 및 대응을 제어, 보기 및 관리하는 데 도움이 됩니다.

구성 요소

고려 사항

이러한 고려 사항은 워크로드의 품질을 향상시키는 데 사용할 수 있는 일단의 지침 원칙인 Azure Well-Architected Framework의 핵심 요소를 구현합니다. 자세한 내용은 Microsoft Azure Well-Architected Framework를 참조하세요.

관리 효율

Azure Digital Twins를 사용하여 연결된 환경을 제어하고 모니터링할 수 있습니다. 디지털 트윈은 비즈니스 시스템 및 IoT 디바이스의 데이터로 구동되는 실제 환경의 가상 모델입니다. 기업과 조직은 디지털 트윈을 사용하여 인사이트와 작업을 사용하도록 설정합니다. 개발자와 설계자는 디지털 트윈 솔루션을 사용하여 다음과 같은 지능형의 연결된 환경을 구현합니다.

  • 제조업을 위한 예측 유지 관리
  • 공급망 가시성
  • 실시간 재고를 위한 스마트 선반
  • 연결된 홈 및 스마트 빌딩

안정성

안정성은 애플리케이션이 고객에 대한 약속을 충족할 수 있도록 합니다. 자세한 내용은 안정성 핵심 요소 개요를 참조하세요.

복원 IoT 솔루션 고려 사항의 핵심 영역은 비즈니스 연속성 및 재해 복구입니다. HA(고가용성) 및 DR(재해 복구)을 위한 설계를 통해 솔루션에 필요한 가동 시간 목표를 정의하고 달성할 수 있습니다.

다양한 Azure 서비스는 비즈니스 목표에 가장 적합한 가동 시간 목표를 달성하는 데 도움이 되는 중복성 및 장애 조치(failover)에 대한 다양한 옵션을 제공합니다. 이러한 HA/DR 대안을 IoT 솔루션에 통합할 때는 다음의 장단점을 신중하게 평가해야 합니다.

  • 필요한 복원력 수준
  • 구현 및 유지 관리 복잡성
  • COGS(판매 제품 원가) 영향

각 Azure IoT 서비스에 대한 설명서에서 서비스별 성능 정보를 찾을 수 있습니다.

보안

우수한 보안은 중요한 데이터 및 시스템에 대한 고의적인 공격과 악용을 방어합니다. 자세한 내용은 보안 요소의 개요를 참조하세요. 이 섹션에는 보안 솔루션을 빌드하기 위한 고려 사항이 포함되어 있습니다.

제로 트러스트 보안 모델

제로 트러스트는 위반이 발생한다고 가정하고 모든 액세스 시도를 개방형 네트워크에서 발생하는 것처럼 처리하는 보안 모델입니다. 제로 트러스트는 사용자가 ID 보안 및 액세스 제한과 같은 기본 사항을 구현했다고 가정합니다.

기본 보안 구현에는 사용자를 명시적으로 확인하고, 디바이스에 대한 가시성을 확보하고, 실시간 위험 탐지를 사용하여 동적 액세스 결정을 내릴 수 있는 기능이 포함됩니다. 기본 사항을 수행하면 IoT 솔루션에 대한 다음 제로 트러스트 요구 사항으로 포커스를 이동할 수 있습니다.

  • 강력한 ID를 사용하여 디바이스를 인증합니다.
  • 최소 권한 액세스를 사용하여 폭발 반경을 완화합니다.
  • 디바이스 상태를 모니터링하여 액세스를 제어하거나 수정을 위해 디바이스에 플래그를 지정합니다.
  • 디바이스를 정상 상태로 유지하기 위해 업데이트를 수행합니다.
  • 모니터링하여 새로운 위협을 감지하고 대응합니다.

신뢰할 수 있는 보안 통신

디바이스 간에 보내고 받은 모든 정보는 신뢰할 수 있어야 합니다. 디바이스가 다음 암호화 기능을 지원하지 않으면 로컬 네트워크로 제한되어야 하고 모든 인터네트워크 통신은 필드 게이트웨이를 통해야 합니다.

  • 일반적으로 안전하고, 공개적으로 분석되고, 광범위하게 구현된 대칭 키 암호화 알고리즘을 사용하는 데이터 암호화 및 디지털 서명.
  • TCP 또는 기타 스트림 기반 통신 경로의 경우 TLS 1.2에 대한 지원 또는 데이터그램 기반 통신 경로의 경우 DTLS 1.2에 대한 지원. X.509 인증서 처리 지원은 선택 사항입니다. X.509 인증서 처리는 AES 및 SHA-2 알고리즘에 대한 지원으로 구현할 수 있는 TLS용 사전 공유 키 모드로 교체할 수 있습니다. 사전 공유 키 모드는 보다 컴퓨팅 효율적이고 유선 효율적입니다.
  • 업데이트 가능한 키 저장소 및 디바이스별 키 각 디바이스에는 시스템에 식별하는 고유한 키 자료 또는 토큰이 있어야 합니다. 디바이스는 해당 디바이스에서 키를 안전하게 저장해야 합니다(예: 보안 키 저장소 사용). 디바이스는 키 또는 토큰을 정기적으로 업데이트하거나 시스템 위반과 같은 응급 상황에서 업데이트할 수 있어야 합니다.
  • 디바이스의 펌웨어 및 애플리케이션 소프트웨어는 발견된 보안 취약성의 복구를 사용하도록 설정하기 위한 업데이트에 허용되어야 합니다.

디바이스는 대부분 이러한 요구 사항을 지원하기에는 너무 제한되어 있습니다. 이 경우 필드 게이트웨이를 사용해야 합니다. 디바이스는 로컬 영역 네트워크를 통해 필드 게이트웨이에 안전하게 연결되고, 게이트웨이를 사용하면 클라우드에 대한 보안 통신을 사용할 수 있습니다.

물리적 변조 방지

디바이스 디자인이 전체 시스템의 보안, 무결성 및 신뢰성을 보장할 수 있도록 실제 조작 시도로부터 방어하는 기능을 통합하는 것이 좋습니다.

다음은 그 예입니다.

  • TPM(신뢰할 수 있는 플랫폼 모듈) 통합과 같은 암호화 키 자료를 안전하게 저장하고 사용할 수 있는 마이크로 컨트롤러/마이크로 프로세서 또는 보조 하드웨어를 선택합니다.
  • 보안 부트 로더 및 보안 소프트웨어 로딩을 TPM에 고정합니다.
  • 센서를 사용하여 침입 시도를 탐지하고 디바이스의 경고 및 잠재적인 "디지털 자체 소멸"을 사용하여 디바이스 환경을 조작하려고 합니다.

비용 최적화

비용 최적화는 불필요한 비용을 줄이고 운영 효율성을 높이는 방법을 찾는 것입니다. 자세한 내용은 비용 최적화 핵심 요소 개요를 참조하세요.

일반적으로 Azure 가격 계산기를 사용하여 비용을 예측합니다. 기타 고려 사항은 Microsoft Azure Well-Architected Framework의 비용 섹션에 설명되어 있습니다.

성능 효율성

성능 효율성은 사용자가 배치된 요구 사항을 효율적인 방식으로 충족하기 위해 워크로드의 크기를 조정할 수 있는 기능입니다. 자세한 내용은 성능 효율성 핵심 요소 개요를 참조하세요.

글로벌 규모로 배포할 솔루션을 빌드합니다. 최적의 확장성을 위해 독립적으로 스케일링할 수 있는 개별 서비스로 IoT 애플리케이션을 빌드합니다. 이 섹션에는 여러 Azure 서비스에 대한 확장성 고려 사항을 설명합니다.

IoT Hub

각 IoT 허브는 특정 가격 책정 및 규모 계층에서 특정한 단위 수로 프로비전됩니다. 단위의 계층 및 수는 디바이스에서 허브에 보낼 수 있는 메시지의 최대 일일 할당량을 결정합니다. 자세한 내용은 IoT Hub 할당량 및 제한을 참조하세요. 기존 작업을 중단하지 않고 허브를 강화할 수 있습니다.

IoT Hub의 경우 다음 크기 조정 요소를 고려하세요.

  • IoT Hub에 대한 메시지의 최대 일일 할당량
  • IoT Hub 인스턴스에서 연결된 디바이스의 할당량
  • 수집 처리량: IoT Hub에서 메시지를 신속하게 수집할 수 있는 정도
  • 프로세싱 처리량: 들어오는 메시지를 신속하게 처리할 수 있는 정도

IoT Hub는 디바이스 ID에 따라 디바이스 메시지를 자동으로 분할합니다. 특정 디바이스의 모든 메시지는 항상 동일한 파티션에 도착하지만 단일 파티션에는 여러 디바이스의 메시지가 포함됩니다. 따라서 병렬 처리의 단위는 파티션 ID입니다.

Azure 기능

Azure FunctionsAzure Event Hubs 엔드포인트로부터 읽을 때 이벤트 허브 파티션당 최대 함수 인스턴스 수가 있습니다. 최대 처리 속도는 하나의 함수 인스턴스가 단일 파티션의 이벤트를 빠르게 처리할 수 있는 정도로 결정됩니다. 함수는 일괄 처리로 메시지를 처리해야 합니다.

Stream Analytics

Stream Analytics 작업은 입력에서 쿼리, 출력에 이르기까지 Stream Analytics 파이프라인의 모든 지점에서 병렬 상태인 경우 가장 잘 스케일링됩니다. 완전 병렬 작업을 사용하면 Stream Analytics가 여러 컴퓨팅 노드에 작업을 분할할 수 있습니다. 자세한 내용은 Azure Stream Analytics에서 쿼리 병렬 처리 활용을 참조하세요.

참가자

Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.

보안 주체 작성자:

다른 기여자:

비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인하세요.

다음 단계