Azure IoT 참조 아키텍처

Blob Storage
Functions
IoT Hub
IoT Device Provisioning Service
Logic Apps
Stream Analytics

이 문서에서는 Azure PaaS (platform as a service) 구성 요소를 사용 하는 IoT 응용 프로그램에 권장 되는 아키텍처를 설명 합니다. 다음 다이어그램은 IoT 솔루션을 설계 하는 데 사용할 수 있는 다양 한 Azure 구성 요소를 반영 합니다. 다이어그램에는가 표시 되 고,이 문서에서는 일반적으로 사용 되는 대부분의 서비스를 강조 표시 하지만 모든 솔루션이 필요 하지는 않습니다. Azure IoT 시작 하거나 첫 번째 개념 증명 솔루션을 빌드하는 경우에는 다음에서 시작 하세요.

아키텍처 다이어그램

이 참조 아키텍처는 Azure PaaS(Platform-as-a-service) 구성 요소를 사용합니다. Microsoft는 apaas (application platform as a service) IoT 솔루션 플랫폼인 Azure IoT Central을 시작 하는 것을 권장 합니다. 이 참조 아키텍처에 설명 된 것과 동일한 PaaS 서비스를 조합 하 고, 크기를 조정 하 고, 관리 하 여 IoT 솔루션 어셈블리 및 작업을 단순화 하 고 가속화 하도록 설계 되었습니다. 결과는 기본 제공 되 고 UX 및 API 노출 영역을 완벽 하 게 사용할 준비가 되었습니다. 대규모 장치를 연결 하 고 관리 하 고 작동 하는 데 필요한 기능을 제공 합니다. 솔루션 요구 사항에 따라 aPaaS (IoT Central)를 PaaS 솔루션 방법과 비교 하는 방법에 대해 자세히 알아보세요 .

Azure IoT 솔루션에는 데이터를 생성 하는 사물 (일반적으로 장치), 데이터에 대 한 정보를 생성 하 는 정보 및 정보에 따라 수행 하는 작업이 포함 됩니다. 온도 데이터를 전송 하는 모터를 생각해 보세요. 이 데이터는 모터가 예상 대로 수행 되는지 여부를 평가 하는 데 사용 됩니다. 해당 성능에 대 한 정보는 모터에 대 한 유지 관리 일정의 우선 순위를 지정 하는 데 사용 됩니다.

디바이스

Azure IoT은 Azure rtos를 실행 하는 마이크로 개발자와 MX 칩 및 Raspberry Pi와 같은 개발자 보드까지 Azure Sphere 많은 범위의 장치를 지원 합니다. Azure IoT은 사용자 지정 코드를 실행할 수 있는 스마트 서버 게이트웨이도 지원 합니다. 장치는 Azure IoT Edge 와 같은 서비스를 통해 일부 로컬 처리를 수행 하거나, IoT 솔루션에서 데이터를 보내고 받을 수 있도록 Azure에 직접 연결할 수 있습니다.

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

자세한 정보

장치가 클라우드에 연결 되 면 해당 데이터를 처리 하 고 탐색 하 여 환경에 대 한 사용자 지정 정보를 얻을 수 있습니다. 높은 수준에서 데이터 실행 — 부하 과다 경로, 웜 경로 및 콜드 경로를 처리 하는 세 가지 방법이 있습니다. 이러한 차이점은 대기 시간 및 데이터 액세스에 대 한 요구 사항과 동일 해야 합니다.

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

동작

데이터에 대해 수집 된 정보를 사용 하 여 환경을 관리 하 고 제어할 수 있습니다. 비즈니스 통합 작업에는 정보 메시지 저장, 경보 발생, 전자 메일 또는 SMS 메시지 보내기, CRM 및 ERP와 같은 비즈니스 응용 프로그램과의 통합 등이 포함 될 수 있습니다. 관리 및 비즈니스 통합에 사용할 수 있는 서비스는 다음과 같습니다.

  • Power BI 는 데이터에 연결 하 고, 모델링 하 고, 시각화 합니다. Power BI를 사용 하면 데이터에 대해 공동 작업을 수행 하 고 인공 지능을 사용 하 여 데이터 기반 결정을 내릴 수 있습니다.
  • Azure Maps 를 사용 하면 지리 공간적 서비스 (검색, 맵, 라우팅, 추적 및 트래픽), api 및 sdk를 사용 하 여 위치 인식 웹 및 모바일 응용 프로그램을 만들 수 있습니다.
  • Azure Cognitive Search 는 다양 한 형식의 콘텐츠를 검색 하는 검색 서비스를 제공 합니다. 여기에는 인덱싱, AI 보강 및 쿼리 기능이 포함 됩니다.
  • Azure API Management 는 모든 api를 관리할 수 있는 단일 장소를 제공 합니다.
  • Azure Web Apps 를 사용 하면 조직에서 확장 하는 웹 응용 프로그램을 배포할 수 있습니다.
  • Mobile Apps 를 사용 하 여 iOs, Android, Windows 또는 Mac 용 플랫폼 간 및 네이티브 앱을 빌드할 수 있습니다.
  • Dynamics 365 은 클라우드에서 CRM (고객 관계 관리) 및 ERP (엔터프라이즈 리소스 계획)를 결합 합니다.
  • Microsoft Flow 는 응용 프로그램 및 기타 saas 서비스에서 워크플로를 자동화 하기 위한 SaaS 제품입니다.
  • Azure Logic Apps 는 앱, 데이터, 서비스 및 시스템을 통합 하는 워크플로를 만들고 자동화 하는 데 사용 되는 클라우드 기반 PaaS 제품입니다.

또한 Azure에서 제공 하는 여러 서비스를 통해 전체 IoT 솔루션을 모니터링 하 고 안전 하 게 유지할 수 있습니다. 진단 서비스에는 Azure Monitor 포함 됩니다. IoT 용 Azure Defender Azure Active Directory 와 같은 보안 서비스는 보안 설정, 위협 검색 및 응답을 제어 하 고, 보고, 관리 하는 데 도움이 됩니다.

Digital Twins

고객은 연결 된 환경을 제어 하 고 모니터링 하기 위한 메커니즘으로 디지털 쌍을 탐색 합니다. 디지털 쌍은 비즈니스 시스템 및 IoT 장치의 데이터를 기반으로 하는 실제 환경에 대 한 가상 모델입니다. 비즈니스 또는 조직에 대 한 정보 및 작업을 활성화 하는 데 사용 됩니다. 개발자와 설계자는 다음과 같은 인텔리전트 및 연결 된 환경을 가능 하 게 하는 솔루션으로 디지털 쌍을 찾고 있습니다.

  • 제조업을 위한 예측 유지 관리
  • 공급망 표시 유형
  • 실시간 인벤토리에 대 한 스마트 선반
  • 연결 된 홈 및 스마트 빌딩

대규모로 배포

솔루션을 빌드하여 글로벌 규모로 배포할 수 있습니다. 최적의 확장성을 위해 독립적으로 크기를 조정할 수 있는 불연속 서비스로 IoT 응용 프로그램을 빌드합니다. 이 섹션에서는 다양 한 Azure 서비스에 대 한 확장성 고려 사항을 설명 합니다.

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

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

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

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

Stream Analytics. Stream Analytics 파이프라인의 모든 지점에서 병렬인 경우 출력을 쿼리하는 입력 중 Stream Analytics 작업의 규모가 가장 적합합니다. 완전 병렬 작업을 사용하면 Stream Analytics가 여러 컴퓨팅 노드에 작업을 분할할 수 있습니다. 자세한 내용은 Azure Stream Analytics에서 쿼리 병렬 처리 활용을 참조하세요.

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

보안

이 섹션에는 보안 솔루션을 빌드하기 위한 고려 사항이 포함 되어 있습니다.

0 신뢰 보안 모델

제로 트러스트는 위반이 발생 하는 것으로 가정 하 고 열린 네트워크에서 발생 하는 것 처럼 모든 액세스 시도를 처리 하는 보안 모델입니다. 제로 트러스트는 id 보안 및 액세스 제한 등의 기본 사항을 구현 했다고 가정 합니다. 여기에는 명시적으로 사용자를 확인 하 고, 장치에 대 한 가시성을 제공 하며, 실시간 위험 감지를 사용 하 여 동적 액세스 결정을 내릴 수 있는 기능이 포함 됩니다. 기본 사항을 충족 하 고 나면 IoT 솔루션에 대 한 다음 제로 신뢰 요구 사항으로 포커스를 이동할 수 있습니다.

  • 강력한 id를 사용 하 여 장치를 인증 합니다.
  • 과도 한 액세스를 사용 하 여 폭발 된 radius를 완화 합니다.
  • 장치 상태를 게이트 액세스로 모니터링 하거나 업데이트를 위해 장치에 플래그를 지정 합니다.
  • 업데이트를 수행 하 여 장치를 정상 상태로 유지 합니다.
  • 모니터링하여 새로운 위협을 감지하고 대응합니다.

자세한 내용은 사물 인터넷 제로 트러스트 사이버 보안 백서 를 읽어보십시오.

신뢰할 수 있는 보안 통신

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

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

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

물리적 변조 방지

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

다음은 그 예입니다.

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

추가 보안 고려 사항은 IoT(사물 인터넷) 보안 아키텍처를 참조하세요.

안정성 및 성능

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

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

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

Azure 비즈니스 연속성 기술 지침문서에서는   비즈니스 연속성 및 재해 복구에 대해 생각하는 데 도움이 되는 일반적인 프레임워크를 설명합니다.  Azure 애플리케이션에 대한 재해 복구 및 고가용성   문서는 HA(고가용성) 및 DR(재해 복구)을 달성하기 위한 Azure 애플리케이션 전략에 대한 아키텍처 디자인 지침을 제공합니다.

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

비용 고려 사항

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

다음 단계

솔루션 아키텍처의 개별 부분에 대한 자세한 내용은 다음 항목을 참조하세요.