다음을 통해 공유


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의 두 가지 주요 기능은 다음과 같습니다.

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

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

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

Event Grid의 푸시 배달 메커니즘은 자체 애플리케이션 웹후크 및 Azure 서비스를 포함하는 대상으로 데이터를 보냅니다. 다음 두 가지 기능을 자세히 살펴보겠습니다.

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

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

게시자 및 구독자 클라이언트와의 양방향 MQTT 통신을 보여주는 Event Grid의 고차원 다이어그램입니다.

다음은 Azure Event Grid에서 MQTT 메시징 지원의 몇 가지 주요 사항입니다.

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

MQTT broker에 대한 자세한 내용은 다음 문서를 참조하세요.

이벤트 메시징(HTTP)

Event Grid는 HTTP를 사용하여 푸시 및 풀 이벤트 배달을 지원합니다. 푸시 배달을 사용하면 Event Grid에서 이벤트를 보내는 이벤트 구독의 대상을 정의합니다. 풀 배달을 사용하면 구독자 애플리케이션은 Event Grid에 연결하여 이벤트를 사용할 수 있습니다. 풀 배달은 Event Grid 네임스페이스의 토픽을 지원합니다.

관련된 리소스 종류와 함께 푸시 배달 및 풀 배달을 보여 주는 개략적인 다이어그램.

이벤트 처리기

푸시 배달에서 이벤트 구독은 푸시 배달을 사용하여 전송되는 이벤트 처리기 또는 대상을 정의할 수 있는 일반 구성 리소스입니다. 예를 들어, 웹후크, Azure 함수 또는 Event Hubs에 데이터를 보낼 수 있습니다. 지원되는 이벤트 처리기의 전체 목록은 다음을 참조하세요.

푸시 배달 및 끌어오기 배달

다음은 풀 또는 푸시 배달을 사용할 시기를 결정하는 데 도움이 되는 일반적인 지침입니다.

풀 배달

  • 이벤트를 수신할 시기를 완전히 제어할 수 있어야 합니다. 예를 들어, 애플리케이션은 항상 실행되지 않거나 충분히 안정적이지 않을 수 있고, 특정 시간에 데이터를 처리하는 경우가 있을 수 있습니다.
  • 이벤트 사용을 완전히 제어할 수 있어야 합니다. 예를 들어, 소비자 애플리케이션의 다운스트림 서비스나 레이어에는 이벤트를 처리하지 못하게 하는 문제가 있습니다. 이 경우 풀 배달 API를 사용하면 소비자 앱이 이미 읽은 이벤트를 브로커에 다시 릴리스하여 나중에 배달할 수 있습니다.
  • 이벤트를 수신할 때 프라이빗 링크를 사용하려고 합니다. 이 링크는 푸시 배달이 아니라 풀 배달에서만 가능합니다.
  • 엔드포인트를 노출하고 푸시 배달을 사용할 수 있는 기능은 없지만 Event Grid에 연결하여 이벤트를 사용할 수 있습니다.

푸시 배달

  • 시스템 상태 변경이 발생했는지 확인하기 위해 일정한 폴링을 방지하려고 합니다. 대신 Event Grid를 사용하여 상태 변경이 발생할 때 이벤트를 보냅니다.
  • 아웃바운드 호출을 수행할 수 없는 애플리케이션이 있습니다. 예를 들어, 조직에서 데이터 반출을 염려할 수 있습니다. 그러나 애플리케이션은 퍼블릭 엔드포인트를 통해 이벤트를 수신할 수 있습니다.

다음은 HTTP 모델의 몇 가지 주요 사항입니다.

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

자세한 내용은 다음 문서를 참조하세요.

사용 사례

Azure Event Grid를 사용할 수 있는 사용 사례 목록은 사용 사례를 참조 하세요.

지원되는 지역

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

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