Azure Event Grid란?

Azure Event Grid는 MQTT 및 HTTP 프로토콜을 사용하여 유연한 메시지 사용 패턴을 제공하는 확장성이 뛰어난 완전 관리형 Pub Sub 메시지 배포 서비스입니다. Azure Event Grid를 사용하면 디바이스 데이터로 데이터 파이프라인을 빌드하고, 애플리케이션을 통합하고, 이벤트 기반 서버리스 아키텍처를 빌드할 수 있습니다. Event Grid를 사용하면 클라이언트가 MQTT v3.1.1 및 v5.0 프로토콜을 통해 메시지를 게시하고 구독하여 IoT(사물 인터넷) 솔루션을 지원할 수 있습니다. HTTP를 통해 Event Grid를 사용하면 게시자 서비스가 구독자 애플리케이션에 대한 시스템 상태 변경(이벤트)을 알리는 이벤트 기반 솔루션을 빌드할 수 있습니다. 구독자에게 이벤트를 보내도록 Event Grid를 구성하거나(푸시 배달) 구독자가 Event Grid에 연결하여 이벤트를 읽을 수 있습니다(풀 배달). Event Grid는 CloudEvents 1.0 사양을 지원하여 시스템 간 상호 운용성을 제공합니다.

MQTT 및 HTTP 프로토콜을 사용하는 게시자 및 구독자를 보여 주는 Event Grid의 개략적인 다이어그램

Azure Event Grid는 지원하는 모든 지역의 가용성 영역에 배포된 일반 공급 서비스입니다. Event Grid에서 지원되는 지역 목록은 지역별 사용 가능한 제품을 참조하세요.

개요

Azure Event Grid 다양한 데이터 파이프라인 단계에서 다양한 통합 목표를 달성하는 데 사용됩니다.

MQTT 메시징. IoT 디바이스 및 애플리케이션은 MQTT를 통해 서로 통신할 수 있습니다. Event Grid를 사용하여 추가 데이터 분석, 시각화 또는 스토리지를 위해 MQTT 메시지를 Azure 서비스 또는 사용자 지정 엔드포인트로 라우팅할 수도 있습니다. Azure 서비스와의 통합을 통해 IoT 디바이스에서 데이터 수집으로 시작하는 데이터 파이프라인을 빌드할 수 있습니다.

푸시 및 풀 배달 모드를 사용하는 데이터 배포. 데이터 파이프라인의 어느 시점에서든 HTTP 애플리케이션은 푸시 또는 풀 API를 사용하여 메시지를 사용할 수 있습니다. 데이터 원본에는 MQTT 클라이언트의 데이터가 포함될 수 있지만 HTTP를 통해 이벤트를 보내는 다음 데이터 원본도 포함됩니다.

  • Azure 서비스
  • 사용자 지정 애플리케이션
  • 외부 파트너(SaaS) 시스템

푸시 배달을 사용하는 경우 Event Grid는 사용자 고유의 애플리케이션 웹후크 및 Azure 서비스를 포함하는 대상으로 데이터를 보낼 수 있습니다.

기능

Event Grid는 다양한 기능을 제공합니다. 다음과 같은 기능이 있습니다.

MQTT 메시징

  • MQTT v3.1.1 및 MQTT v5.0 지원 – 오픈 소스 MQTT 클라이언트 라이브러리를 사용하여 서비스와 통신합니다.
  • 와일드카드가 지원되는 사용자 지정 토픽 - 고유한 토픽 구조를 활용합니다.
  • 게시-구독 메시징 모델 - 일대다, 다대일 및 일대일 메시징 패턴을 사용하여 효율적으로 통신합니다.
  • 기본 제공 클라우드 통합 - 추가 처리를 위해 MQTT 메시지를 Azure 서비스 또는 사용자 지정 웹후크로 라우팅합니다.
  • 유연하고 세분화된 액세스 제어 모델 - 클라이언트 및 토픽을 그룹화하여 액세스 제어 관리를 간소화하고 세분화된 액세스 제어를 위해 토픽 템플릿에서 변수 지원을 사용합니다.
  • X.509 인증서 인증 - 인증을 위해 IoT 업계의 표준 메커니즘을 사용하여 디바이스를 인증합니다.
  • Microsoft Entra ID(이전의 Azure Active Directory) 인증 - 인증을 위해 Azure의 표준 메커니즘을 사용하여 애플리케이션을 인증합니다.
  • TLS 1.2 및 TLS 1.3 지원 - 강력한 암호화 프로토콜을 사용하여 클라이언트 통신을 보호합니다.
  • 다중 세션 지원 - 애플리케이션을 여러 활성 세션에 연결하여 안정성과 확장성을 보장합니다.
  • WebSocket을 통한 MQTT - 방화벽이 제한된 환경에서 클라이언트에 대한 연결을 사용하도록 설정합니다.

이벤트 메시징(HTTP)

  • 유연한 이벤트 소비 모델 - HTTP를 사용하는 경우 풀 또는 푸시 배달 모드를 사용하여 이벤트를 사용합니다.
  • 시스템 이벤트 – 기본 제공 Azure 서비스 이벤트를 사용하여 빠르게 시작하고 실행합니다.
  • 사용자 지정 이벤트 - Event Grid를 사용하여 앱에서 사용자 지정 이벤트를 라우팅하고, 필터링하며, 안정적으로 제공합니다.
  • 파트너 이벤트 – 파트너 SaaS 공급자 이벤트를 구독하고 Azure에서 처리합니다.
  • 고급 필터링 – 이벤트 유형 또는 기타 이벤트 특성을 필터링하여 이벤트 처리기 또는 소비자 앱이 관련 이벤트만 수신하는지 확인합니다.
  • 안정성 – 푸시 배달은 이벤트가 배달되는지 확인하기 위해 지수 백오프가 있는 24시간 재시도 메커니즘을 제공합니다. 풀 배달을 사용하면 애플리케이션이 이벤트 소비를 완전히 제어할 수 있습니다.
  • 높은 처리량 - Event Grid를 사용하여 대용량 통합 솔루션을 빌드합니다.

사용 사례

Event Grid는 다음 작업을 지원합니다.

MQTT 메시징

Event Grid를 사용하면 클라이언트가 게시-구독 메시징 모델을 사용하여 사용자 지정 MQTT 토픽 이름에 대해 통신할 수 있습니다. Event Grid는 MQTT v3.1.1을 통한 메시지, WebSocket을 통한 MQTT v3.1.1, MQTT v5 및 WebSocket을 통한 MQTT v5를 게시하고 구독하는 클라이언트를 지원합니다. Event Grid를 사용하면 다른 사용 사례 중에서 데이터 분석, 스토리지 및 시각화를 위해 MQTT 메시지를 클라우드로 보낼 수 있습니다.

Event Grid는 Azure IoT MQ와 통합되어 클라우드에서 Event Grid의 MQTT 브로커 기능과 에지의 MQTT 브로커 기능을 연결합니다. Azure IoT MQ는 Arc 지원 Kubernetes 클러스터에서 실행되는 에지 컴퓨팅을 위한 새로운 분산 MQTT 브로커입니다. 이제 Azure IoT Operations의 일부로 공개 미리 보기에서 사용할 수 있습니다.

Azure Event Grid의 MQTT 브로커 기능은 자동차 및 이동성 시나리오 구현에 이상적입니다. Azure의 메시징 및 데이터 분석 서비스를 사용하여 수백만 대의 차량을 클라우드에 연결하기 위한 안전하고 확장 가능한 솔루션을 빌드하는 방법을 알아보려면 참조 아키텍처를 참조하세요.

게시자 및 구독자 클라이언트와의 양방향 MQTT 통신을 보여 주는 Event Grid의 개략적인 다이어그램

Azure Event Grid의 MQTT 브로커 기능을 사용하면 다음 시나리오를 수행할 수 있습니다.

IoT 원격 분석 수집

MQTT 프로토콜을 사용하여 클라우드 앱에 메시지를 보내는 IoT 클라이언트를 보여 주는 Event Grid의 개략적인 다이어그램

다 대 일 메시징 패턴을 사용하여 원격 분석을 수집합니다. 예를 들어 Event Grid를 사용하여 여러 IoT 디바이스에서 클라우드 애플리케이션으로 원격 분석을 보냅니다. 이 패턴을 사용하면 애플리케이션이 디바이스와의 높은 수의 연결을 관리하는 부담을 Event Grid에 오프로드할 수 있습니다.

명령 및 제어

요청 및 응답 토픽을 사용하여 MQTT를 통해 명령 메시지를 디바이스에 보내는 클라우드 애플리케이션을 보여 주는 Event Grid의 개략적인 다이어그램

요청 응답(일 대 일) 메시지 패턴을 사용하여 MQTT 클라이언트를 제어합니다. 예를 들어 Event Grid를 사용하여 클라우드 애플리케이션에서 IoT 디바이스로 명령을 보냅니다.

브로드캐스트 경고

MQTT를 통해 여러 디바이스에 경고 메시지를 보내는 클라우드 애플리케이션을 보여 주는 Event Grid의 개략적인 다이어그램

일 대 다 메시징 패턴을 사용하여 클라이언트 집합에 경고를 브로드캐스트합니다. 예를 들어 Event Grid를 사용하여 클라우드 애플리케이션에서 여러 IoT 디바이스로 경고를 보냅니다. 이 패턴을 사용하면 애플리케이션이 관심 있는 모든 클라이언트에 대해 서비스가 복제하는 메시지를 하나씩만 게시할 수 있습니다.

MQTT 데이터 통합

MQTT를 통해 Event Grid로, Event Hubs로, 이 서비스에서 Azure Stream Analytics로 상태 데이터를 보내는 여러 IoT 디바이스를 보여 주는 다이어그램

푸시 배달 또는 풀 배달을 통해 MQTT 메시지를 Azure 서비스 및 사용자 지정 엔드포인트로 라우팅하여 MQTT 클라이언트의 데이터를 통합합니다. 예를 들어 Event Grid를 사용하여 IoT 디바이스에서 Event Hubs로 원격 분석을 라우팅한 다음 Azure Stream Analytics로 라우팅하여 디바이스 원격 분석에서 인사이트를 얻습니다.

불연속 이벤트의 푸시 배달

Event Grid는 푸시 이벤트 배달을 사용하여 다양한 Azure 서비스 또는 웹후크 세트로 이벤트를 보내도록 구성할 수 있습니다. 이벤트 원본에는 시스템 상태 변경("불연속" 이벤트라고도 함)을 발표하는 이벤트를 게시하는 사용자 지정 애플리케이션, Azure 서비스 및 파트너(SaaS) 서비스가 포함됩니다. 또한 Event Grid는 구성된 구독자의 대상에 해당 이벤트를 배달합니다.

Event Grid의 푸시 배달을 통해 다음과 같은 사용 사례를 실현할 수 있습니다.

참고 항목

불연속 이벤트의 푸시 배달은 Event Grid 기본 계층 및 Event Grid 표준 계층에서 사용할 수 있으며, 차이점에 대한 자세한 내용은 솔루션에 적합한 Event Grid 계층 선택을 참조하세요.

이벤트 기반 서버리스 솔루션 빌드

HTTP를 사용하여 Event Grid에 이벤트를 게시하는 Azure Functions를 보여 주는 다이어그램 그런 다음 Event Grid는 해당 이벤트를 Azure Logic Apps로 보냅니다.

Event Grid를 사용하여 Azure Functions 앱, Logic Apps 및 API Management 사용하여 서버리스 솔루션을 빌드합니다. Event Grid에서 서버리스 서비스를 사용하면 배포된 모든 인프라를 조달, 관리, 보안 및 유지 관리해야 하는 클래식 컴퓨팅 모델보다 뛰어난 생산성, 노력, 경제 및 통합 수준을 제공합니다.

Azure 서비스에서 이벤트 수신

HTTP를 통해 Event Grid에 Blob Storage 게시 이벤트를 보여 주는 다이어그램 Event Grid는 이러한 이벤트를 웹후크 또는 Azure 서비스인 이벤트 처리기로 보냅니다.

Event Grid는 작업을 자동화할 수 있도록 20개 이상의 Azure 서비스에서 이벤트를 수신할 수 있습니다. 예를 들어 다운스트림 애플리케이션이 콘텐츠를 읽고 처리할 수 있도록 Azure Storage 계정에 새 Blob이 생성되었을 때 이벤트를 받도록 Event Grid를 구성할 수 있습니다. 지원되는 모든 Azure 서비스 및 이벤트의 목록은 시스템 토픽을 참조하세요.

애플리케이션에서 이벤트 수신

HTTP를 사용하여 Event Grid에 이벤트를 게시하는 고객 애플리케이션을 보여 주는 다이어그램 Event Grid는 이러한 이벤트를 웹후크 또는 Azure 서비스로 보냅니다.

자체 서비스 또는 애플리케이션은 구독자 애플리케이션이 처리하는 이벤트를 Event Grid에 게시합니다. Event Grid는 수백 또는 수천 개의 다른 그룹에 이벤트를 배포해야 할 때 간단한 관리 및 라우팅 모델을 제공하는 기본 통합 시나리오 및 도메인을 다루기 위한 사용자 지정 토픽을 제공합니다.

파트너로부터 이벤트 수신(SaaS 공급자)

HTTP를 사용하여 Event Grid에 외부 파트너 애플리케이션 게시 이벤트를 보여 주는 다이어그램 Event Grid는 이러한 이벤트를 웹후크 또는 Azure 서비스로 보냅니다.

SaaS 공급자 또는 플랫폼은 파트너 이벤트라는 기능을 통해 Event Grid에 이벤트를 게시할 수 있습니다. 예를 들어 해당 이벤트를 구독하고 작업을 자동화할 수 있습니다. 현재 다음 파트너의 이벤트를 사용할 수 있습니다.

이벤트 처리기

이벤트 구독은 푸시 배달을 사용하여 이벤트가 전송되는 이벤트 처리기 또는 대상을 정의할 수 있는 일반 구성 리소스입니다. 지원되는 이벤트 처리기는 다음과 같습니다.

불연속 이벤트의 풀 배달

Azure Event Grid 기능은 CloudEvents 배달을 풀합니다. 클라이언트는 이 배달 모드를 사용하여 Event Grid에 연결하여 이벤트를 읽습니다. 풀 배달을 사용하여 다음 사용 사례를 실현할 수 있습니다.

자체 속도로 이벤트 수신

게시자 및 소비자 애플리케이션의 개략적인 다이어그램 게시자는 구독자의 이벤트 사용률보다 더 빠른 속도로 Event Grid에 이벤트를 보냅니다.

하나 이상의 클라이언트가 Azure Event Grid 연결하여 자체 속도로 메시지를 읽을 수 있습니다. Event Grid를 통해 클라이언트는 이벤트 사용을 완전히 제어할 수 있습니다. 예를 들어 애플리케이션은 하루 중 특정 시간에 이벤트를 수신할 수 있습니다. 또한 솔루션은 Event Grid에서 읽은 클라이언트를 더 추가하여 사용률을 높일 수 있습니다.

VNET 내의 프라이빗 엔드포인트를 통해 Event Grid에서 이벤트를 읽는 VNET 내의 소비자 앱에 대한 개략적인 다이어그램입니다.

가상 네트워크의 프라이빗 엔드포인트를 통해 CloudEvents를 게시하고 읽도록프라이빗 링크를 구성하여 Azure Event Grid에 연결할 수 있습니다. 가상 네트워크와 서비스 사이의 트래픽은 Microsoft 백본 네트워크를 통해 이동합니다.

Important

프라이빗 링크는 푸시 배달이 아닌 풀 배달에서 사용할 수 있습니다. Event Grid가 웹후크 또는 Azure 서비스에 연결하여 이벤트를 배달하는 경우가 아니라 애플리케이션이 Event Grid에 연결하여 이벤트를 게시하거나 이벤트를 수신할 때 프라이빗 링크를 사용할 수 있습니다.

Event Grid 네임스페이스를 사용할 수 있는 지역

다음은 새 MQTT 브로커 및 네임스페이스 토픽 기능을 사용할 수 있는 지역 목록입니다.

  • 오스트레일리아 동부
  • 오스트레일리아 남동부
  • 브라질 남부
  • 브라질 남동부
  • 캐나다 중부
  • 캐나다 동부
  • 인도 중부
  • 미국 중부
  • 동아시아
  • 미국 동부
  • 미국 동부 2
  • 프랑스 중부
  • 독일 중서부
  • 이스라엘 중부
  • 이탈리아 북부
  • 일본 동부
  • 일본 서부
  • 한국 중부
  • 한국 남부
  • 미국 중북부
  • 북유럽
  • 노르웨이 동부
  • 폴란드 중부
  • 남아프리카 공화국 서부
  • 미국 중남부
  • 인도 남부
  • 동남아시아
  • 스웨덴 중부
  • 스위스 북부
  • 아랍에미리트 북부
  • 영국 남부
  • 영국 서부
  • 서유럽
  • 미국 서부 2
  • 미국 서부 3

다음 단계

MQTT 메시징

풀 또는 푸시 배달을 사용한 데이터 배포

참고 항목