자습서: 네임스페이스 토픽을 사용하여 MQTT 메시지를 Azure Event Hubs(Azure Portal)로 라우팅

이 자습서에서는 네임스페이스 토픽을 사용하여 MQTT 클라이언트에서 Azure Event Hubs로 데이터를 라우팅하는 방법을 알아봅니다. 대략적인 단계는 다음과 같습니다.

필수 조건

  • Azure를 구독하고 있지 않다면 시작하기 전에 Azure 체험 계정을 만듭니다.
  • Event Grid를 처음 사용하는 경우 이 자습서를 시작하기 전에 Event Grid 개요를 읽어 보세요.
  • Event Grid 리소스 공급자 등록하기의 단계에 따라 Event Grid 리소스 공급자를 등록합니다.
  • 방화벽에서 포트 8883이 열려 있는지 확인합니다. 이 자습서의 샘플은 포트 8883을 통해 통신하는 MQTT 프로토콜을 사용합니다. 이 포트는 일부 회사 및 교육용 네트워크 환경에서 차단될 수 있습니다.

Azure Portal에서 네임스페이스 만들기

Azure Event Grid의 네임스페이스는 하나 이상의 항목, 클라이언트, 클라이언트 그룹, 항목 공간 및 권한 바인딩에 대한 논리적 컨테이너입니다. 동일한 Azure 지역에 여러 리소스를 가질 수 있는 고유한 네임스페이스를 제공합니다. Azure Event Grid 네임스페이스를 사용하면 이제 관련 리소스를 그룹화하고 Azure 구독에서 단일 단위로 관리할 수 있습니다.

Azure Event Grid 네임스페이스를 만들고, 보고, 관리하려면 다음 섹션을 따릅니다.

네임스페이스를 만들려면

  1. Azure 포털에 로그인합니다.

  2. 검색 상자Event Grid 네임스페이스를 입력하고 결과에서 Event Grid 네임스페이스를 선택합니다.

    검색 결과의 Event Grid 네임스페이스를 보여 주는 스크린샷.

  3. Event Grid 네임스페이스 페이지의 도구 모음에서 + 만들기를 선택합니다.

    도구 모음에서 만들기 단추가 선택된 Event Grid 네임스페이스 페이지를 보여 주는 스크린샷.

  4. 기본 페이지에서 다음 단계를 수행합니다.

    1. 네임스페이스를 만들려는 Azure 구독을 선택합니다.

    2. 기존 리소스 그룹을 선택하거나 리소스 그룹을 만듭니다.

    3. 네임스페이스의 이름을 입력합니다.

    4. 네임스페이스를 만들려는 지역 또는 위치를 선택합니다.

    5. 페이지 아래쪽에서 검토 + 만들기를 선택합니다.

      네임스페이스 만들기 페이지의 기본 탭을 보여 주는 스크린샷.

  5. 검토 + 만들기 탭에서 설정을 검토하고 만들기를 선택합니다.

  6. 성공한 배포 페이지에서 리소스로 이동을 선택하여 네임스페이스로 이동합니다.

네임스페이스 토픽 만들기

  1. Event Grid 네임스페이스 페이지에 있지 않은 경우 네임스페이스 만들기, 보기 및 관리 단계에 따라 토픽을 만드는 데 사용할 네임스페이스를 확인합니다.

  2. Event Grid 네임스페이스 페이지의 왼쪽 메뉴에 있는 이벤트 섹션에서 토픽 옵션을 선택합니다.

  3. 토픽 페이지의 명령 모음에서 + 토픽 단추를 선택합니다.

    Event Grid 네임스페이스 토픽 만들기를 보여 주는 스크린샷.

  4. 토픽 만들기 페이지에서 만들려는 토픽의 이름을 입력하고 만들기를 선택합니다.

    Event Grid 네임스페이스 토픽 만들기 기본 사항을 보여 주는 스크린샷.

Event Grid 네임스페이스에 대해 관리 ID 사용

  1. Event Grid 네임스페이스 페이지의 왼쪽 메뉴에 있는 설정에서 ID를 선택합니다.

  2. 시스템 할당 관리 ID를 사용하도록 설정하려면 스위치를 켜세요.

  3. 도구 모음에서 저장을 선택하여 설정을 저장합니다.

    Event Grid 네임스페이스에 대한 시스템 할당 ID 페이지의 스크린샷.

  4. 확인 메시지에서 를 선택합니다.

  5. 시스템 할당 관리 ID의 개체 ID와 역할을 할당하는 링크가 표시되는지 확인합니다.

    네임스페이스에 ID 할당이 완료되었음을 보여 주는 스크린샷.

    포털에서 알림을 확인하여 관리 ID가 네임스페이스에 대해 사용하도록 설정되어 있는지 확인합니다.

Event Grid 네임스페이스에 대해 MQTT 브로커를 사용하도록 설정합니다.

  1. Event Grid 네임스페이스 페이지의 왼쪽 메뉴에 있는 설정에서 구성을 선택합니다.

  2. MQTT 브로커 사용 옆의 확인란을 선택합니다.

  3. 페이지 하단에서 적용을 선택합니다.

    MQTT를 사용하도록 설정하기 위한 Event Grid 네임스페이스 구성 페이지를 보여 주는 스크린샷.

    포털에서 알림을 확인하여 MQTT 브로커가 네임스페이스에 대해 사용하도록 설정되어 있는지 확인합니다.

웹 브라우저의 별도 탭이나 별도 창에서 Azure Portal을 사용하여 Event Hubs가 포함된 Event Hubs 네임스페이스를 만듭니다.

Event Hubs 네임스페이스 만들기

Event Hubs 네임스페이스는 하나 이상의 이벤트 허브를 만드는 고유한 범위 지정 컨테이너를 제공합니다. 포털을 사용하여 리소스 그룹에 네임스페이스를 만들려면 다음 작업을 수행합니다.

  1. Azure Portal의 왼쪽 메뉴에서 모든 서비스를 선택하고, 분석 범주의 Event Hubs 옆에 있는 별표(*)를 선택합니다. 왼쪽 탐색 메뉴에서 Event Hubs즐겨찾기에 추가되었는지 확인합니다.

    모든 서비스 페이지에서 Event Hubs 선택을 보여 주는 스크린샷

  2. 왼쪽 탐색 메뉴의 즐겨찾기 아래에서 Event Hubs를 선택하고 도구 모음에서 만들기를 선택합니다.

    이벤트 허브 페이지에서 만들기 단추 선택을 보여 주는 스크린샷

  3. 네임스페이스 만들기 페이지에서 다음 단계를 수행합니다.

    1. 네임스페이스를 만들려는 구독을 선택합니다.

    2. 이전 단계에서 만든 리소스 그룹을 선택합니다.

    3. 네임스페이스의 이름을 입력합니다. 시스템에서 사용 가능한 이름인지 즉시 확인합니다.

    4. 네임스페이스의 위치를 선택합니다.

    5. 가격 책정 계층으로 기본을 선택합니다. Apache Kafka 앱에서 네임스페이스를 사용하려는 경우 표준 계층을 사용합니다. 기본 계층은 Apache Kafka 워크로드를 지원하지 않습니다. 계층 간의 차이점에 대한 자세한 내용은 할당량 및 제한, Event Hubs 프리미엄Event Hubs Dedicated 문서를 참조하세요.

    6. 처리량 단위(표준 계층의 경우) 또는 처리 단위(프리미엄 계층의 경우) 설정을 그대로 둡니다. 처리량 단위 또는 처리 단위에 관해 알아보려면 Event Hubs 스케일링 가능성을 참조하세요.

    7. 페이지 아래쪽에서 검토 + 만들기를 선택합니다.

      Azure Portal의 네임스페이스 만들기 페이지 스크린샷

    8. 검토 + 만들기 페이지에서 설정을 검토하고 만들기를 선택합니다. 배포가 완료될 때가지 기다립니다.

  4. 배포 페이지에서 리소스로 이동을 선택하여 네임스페이스에 대한 페이지로 이동합니다.

    리소스에 대한 링크가 있는 배포 완료 페이지의 스크린샷

  5. 다음 예제와 유사한 Event Hubs 네임스페이스 페이지가 표시되는지 확인합니다.

    Azure Portal에서 Event Hubs 네임스페이스에 대한 홈페이지의 스크린샷

이벤트 허브 만들기

네임스페이스에 이벤트 허브를 만들려면 다음 작업을 수행합니다.

  1. 개요 페이지에 있는 명령 모음에서 + 이벤트 허브를 선택합니다.

    명령 모음에서 이벤트 허브 추가 단추 선택 스크린샷

  2. 이벤트 허브의 이름을 입력한 다음, 검토 + 만들기를 선택합니다.

    이벤트 허브 만들기 페이지 스크린샷

  3. 리뷰 + 생성 페이지에서 생성를 선택합니다.

  4. 경고에서 이벤트 허브 만들기의 상태를 확인할 수 있습니다. 이벤트 허브가 만들어지면 이벤트 허브 목록에 표시됩니다.

    이벤트 허브 목록을 보여 주는 스크린샷

Event Grid 네임스페이스에 이벤트 허브에 이벤트를 보낼 수 있는 액세스 권한 부여

  1. Event Hubs 네임스페이스 페이지의 왼쪽 메뉴에서 액세스 제어(IAM)를 선택합니다.

  2. 액세스 제어 페이지의 명령 모음에서 + 추가를 선택한 다음 역할 할당 추가를 선택합니다.

    Event Hubs 네임스페이스에 대한 액세스 제어 페이지를 보여 주는 스크린샷.

  3. 역할 할당 추가 페이지의 역할 목록에서 Azure Event Hubs 데이터 보낸 사람을 선택한 후 페이지 하단에서 다음을 선택합니다.

    Azure Event Hubs 데이터 보낸 사람이 선택된 역할 할당 추가 페이지를 보여 주는 스크린샷.

  4. 멤버 페이지에서 다음 단계를 따릅니다.

    1. 액세스 할당 대상 필드에서 관리 ID를 선택합니다.

    2. +멤버 선택을 선택합니다.

      관리 ID가 선택된 역할 할당 추가 페이지를 보여 주는 스크린샷.

  5. 관리 ID 선택 페이지에서 다음 단계를 수행합니다.

    1. Azure 구독을 선택합니다.

    2. 관리 ID의 경우 Event Grid 네임스페이스를 선택합니다.

    3. Event Grid 네임스페이스와 이름이 같은 관리 ID를 선택합니다.

    4. 페이지 하단에서 선택을 선택합니다.

      Event Grid 네임스페이스의 관리 ID가 선택된 관리 ID 선택 페이지를 보여 주는 스크린샷.

  6. 역할 할당 추가 페이지 하단에서 검토 + 할당을 선택합니다.

  7. 검토 + 할당 페이지에서 검토 + 할당을 선택합니다.

Event Hubs를 엔드포인트로 사용하여 이벤트 구독 만들기

  1. Event Grid 네임스페이스가 열려 있는 웹 브라우저 창의 탭으로 전환합니다.

  2. Event Grid 네임스페이스 페이지의 왼쪽 메뉴에서 토픽을 선택합니다.

  3. 토픽 페이지에서 앞서 만든 네임스페이스 토픽을 선택합니다.

    네임스페이스 토픽이 선택된 토픽 페이지를 보여 주는 스크린샷.

  4. Event Grid 네임스페이스 토픽 페이지 상단의 명령 모음에서 + 구독을 선택합니다.

    구독 페이지를 보여 주는 스크린샷.

  5. 구독 만들기 페이지에서 다음 단계를 수행합니다.

    1. 이벤트 구독에 대한 이벤트 이름을 입력합니다.

    2. 배달 모드에서 푸시를 선택합니다.

    3. 엔드포인트 형식이벤트 허브로 설정되어 있는지 확인합니다.

    4. 엔드포인트 구성을 선택합니다.

      구독 만들기 페이지를 보여 주는 스크린샷.

    5. 이벤트 허브 선택에서 다음 단계를 따릅니다.

      1. 이벤트 허브가 있는 Azure 구독을 선택합니다.

      2. 이벤트 허브가 있는 리소스 그룹을 선택합니다.

      3. Event Hubs 네임스페이스를 선택합니다.

      4. Event Hubs 네임스페이스에서 이벤트 허브를 선택합니다.

      5. 다음으로 선택 확인을 선택합니다.

        이벤트 허브 선택 페이지를 보여 주는 스크린샷.

    6. 구독 만들기 페이지로 돌아가서 관리 ID 유형에 대해 시스템 할당을 선택합니다.

    7. 페이지의 맨 아래에서 만들기를 선택합니다.

      만들기 단추가 선택된 구독 만들기 페이지를 보여 주는 스크린샷.

Event Grid 네임스페이스에서 라우팅 구성

  1. Event Grid 네임스페이스 토픽 페이지의 필수 토픽 섹션에서 네임스페이스를 선택하거나 맨 위에 있는 이동 경로 메뉴에서 네임스페이스 이름을 선택하여 Event Grid 네임스페이스 페이지로 다시 이동합니다.

  2. Event Grid 네임스페이스 페이지의 MQTT 브로커 섹션 왼쪽 메뉴에서 라우팅을 선택합니다.

  3. 라우팅 페이지에서 라우팅 사용을 선택합니다.

  4. 토픽 형식에서 네임스페이스 토픽을 선택합니다.

  5. 토픽에 대해 모든 MQTT 메시지가 라우팅될 만들어진 Event Grid 네임스페이스 토픽을 선택합니다.

  6. 적용을 선택합니다.

    네임스페이스 토픽이 선택된 라우팅 페이지를 보여 주는 스크린샷.

    라우팅 정보로 네임스페이스가 사용하도록 설정되었는지 확인하려면 알림을 확인합니다.

클라이언트, 토픽 공간 및 권한 바인딩 만들기

빠른 시작: MQTT 토픽 게시 및 구독 단계에 따라 다음을 수행합니다.

  1. 클라이언트를 만듭니다. 원하는 경우 두 번째 클라이언트를 만들 수 있지만 이는 선택 사항입니다.

  2. 토픽 공간을 만듭니다.

  3. 게시자 및 구독자 권한 바인딩을 만듭니다.

  4. MQTTX를 사용하여 몇 가지 메시지를 보냅니다.

  5. Event Hubs 네임스페이스의 개요 페이지에서 Event Hubs가 해당 메시지를 수신했는지 확인합니다.

    들어오는 메시지 수가 포함된 이벤트 허브의 개요 페이지를 보여 주는 스크린샷.

Stream Analytics 쿼리를 사용하여 Event Hubs에서 라우팅된 MQTT 메시지 보기

Azure Portal의 이벤트 구독 내에서 Event Hubs 인스턴스(Event Hubs)로 이동합니다. Stream Analytics를 사용하여 이벤트 허브에서 데이터를 처리합니다. 자세한 내용은 Stream Analytics를 사용하여 Azure Event Hubs에서 데이터 처리 - Azure Event Hubs | Microsoft Learn을 참조하세요. 쿼리에 있는 MQTT 메시지를 볼 수 있습니다.

Stream Analytics 쿼리 도구를 사용하여 Event Hubs의 MQTT 메시지 데이터를 보여 주는 스크린샷.

다음 단계

코드 샘플은 이 GitHub 리포지토리를 참조하세요.