MQTT 3.1.1 브로커(Moquette) - AWS IoT Greengrass

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

MQTT 3.1.1 브로커(Moquette)

EMQX MQTT 브로커 구성 요소(aws.greengrass.clientdevices.mqtt.Moquette)는 클라이언트 디바이스와 Greengrass 코어 디바이스 간의 MQTT 메시지를 처리합니다. 이 구성 요소는 Moquette MQTT 브로커의 수정된 버전을 제공합니다. 경량 MQTT 브로커를 실행하려면 이 MQTT 브로커를 배포합니다. MQTT 브로커를 선택하는 방법에 대한 자세한 내용은 MQTT 브로커 선택 섹션을 참조하세요.

이 브로커는 MQTT 3.1.1 프로토콜을 구현합니다. 이 프로토콜에는 QoS 0, QoS 1, QoS 2 보존된 메시지, 유언 메시지 및 영구 세션에 대한 지원이 포함됩니다.

참고

클라이언트 디바이스는 Greengrass 코어 디바이스에 연결되어 처리할 MQTT 메시지와 데이터를 보내는 로컬 IoT 디바이스입니다. 자세한 내용은 로컬 IoT 디바이스와 상호 작용 섹션을 참조하세요.

버전

이 구성 요소에는 다음과 같은 버전이 있습니다.

  • 2.3.x

  • 2.2.x

  • 2.1.x

  • 2.0.x

유형

이 구성 요소는 플러그인 구성 요소(aws.greengrass.plugin)입니다. Greengrass nucleus는 이 구성 요소를 nucleus와 동일한 Java 가상 머신(JVM)에서 실행합니다. 코어 디바이스에서 이 구성 요소의 버전을 변경하면 nucleus가 다시 시작됩니다.

이 구성 요소는 Greengrass nucleus와 동일한 로그 파일을 사용합니다. 자세한 내용은 AWS IoT Greengrass 로그 모니터링 섹션을 참조하세요.

자세한 내용은 구성 요소 유형 섹션을 참조하세요.

운영 체제

이 구성 요소는 다음 운영 체제를 실행하는 코어 디바이스에 설치할 수 있습니다.

  • Linux

  • Windows

요구 사항

이 구성 요소의 요구 사항은 다음과 같습니다.

  • 코어 디바이스는 MQTT 브로커가 작동하는 포트에서 연결을 허용할 수 있어야 합니다. 이 구성 요소는 기본적으로 포트 8883에서 MQTT 브로커를 실행합니다. 이 구성 요소를 구성할 때 다른 포트를 지정할 수 있습니다.

    다른 포트를 지정하고 MQTT 브리지 구성 요소를 사용하여 MQTT 메시지를 다른 브로커에 릴레이하는 경우 MQTT 브리지 v2.1.0 이상을 사용해야 합니다. 이 구성 요소에서 MQTT 브로커가 작동하는 포트를 사용하도록 구성합니다.

    다른 포트를 지정하고 IP 감지기 구성 요소를 사용하여 MQTT 브로커 엔드포인트를 관리하는 경우 IP 감지기 v2.1.0 이상을 사용해야 합니다. 이 구성 요소에서 MQTT 브로커가 작동하는 포트를 보고하도록 구성합니다.

  • Moquette MQTT 브로커 구성 요소는 VPC에서 실행할 수 있습니다.

의존성

구성 요소를 배포하면 AWS IoT Greengrass에서 해당 종속성의 호환 버전도 배포합니다. 즉, 구성 요소를 성공적으로 배포하려면 구성 요소 및 모든 해당 종속성에 대한 요구 사항을 충족해야 합니다. 이 단원에는 이 구성 요소의 릴리스된 버전에 대한 종속성과 각 종속성에 대한 구성 요소 버전을 정의하는 의미 체계 버전 제약 조건이 나열되어 있습니다. AWS IoT Greengrass 콘솔에서도 각 구성 요소 버전에 대한 종속성을 볼 수 있습니다. 구성 요소 세부 정보 페이지에서 종속성 목록을 찾습니다.

2.3.7

다음 표에는 이 구성 요소의 버전 2.3.7에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
클라이언트 디바이스 인증 >=2.2.0 <2.6.0 하드
2.3.2 – 2.3.6

다음 표에는 이 구성 요소의 버전 2.3.2~2.3.6에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
클라이언트 디바이스 인증 >=2.2.0 <2.5.0 하드
2.3.0 and 2.3.1

다음 표에는 이 구성 요소의 버전 2.3.0 및 2.3.1에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
클라이언트 디바이스 인증 >=2.2.0 <2.4.0 하드
2.2.0

다음 표에는 이 구성 요소의 버전 2.2.0에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
클라이언트 디바이스 인증 >=2.2.0 <2.3.0 하드
2.1.0

다음 표에는 이 구성 요소의 버전 2.1.0에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
클라이언트 디바이스 인증 >=2.0.0 <2.2.0 하드
2.0.0 - 2.0.2

다음 표에는 이 구성 요소의 버전 2.0.0~2.0.2에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
클라이언트 디바이스 인증 >=2.0.0 <2.1.0 하드

구성 요소 종속성에 대한 자세한 내용은 구성 요소 레시피 참조를 참조하세요.

구성

이 구성 요소는 구성 요소를 배포할 때 사용자 지정할 수 있는 다음 구성 파라미터를 제공합니다.

moquette

(선택 사항) 사용할 Moquette MQTT 브로커 구성입니다. 이 구성 요소에서 Moqeutte 구성 옵션의 하위 집합을 구성할 수 있습니다. 자세한 내용은 Moquette 구성 파일 의 인라인 설명을 참조하세요.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

ssl_port

(선택 사항) MQTT 브로커가 작동하는 포트입니다.

참고

다른 포트를 지정하고 MQTT 브리지 구성 요소를 사용하여 MQTT 메시지를 다른 브로커에 릴레이하는 경우 MQTT 브리지 v2.1.0 이상을 사용해야 합니다. 이 구성 요소에서 MQTT 브로커가 작동하는 포트를 사용하도록 구성합니다.

다른 포트를 지정하고 IP 감지기 구성 요소를 사용하여 MQTT 브로커 엔드포인트를 관리하는 경우 IP 감지기 v2.1.0 이상을 사용해야 합니다. 이 구성 요소에서 MQTT 브로커가 작동하는 포트를 보고하도록 구성합니다.

기본값: 8883

host

(선택 사항) MQTT 브로커가 바인딩되는 인터페이스입니다. 예를 들어 MQTT 브로커가 특정 로컬 네트워크에만 바인딩되도록 이 파라미터를 변경할 수 있습니다.

기본값: 0.0.0.0(모든 네트워크 인터페이스에 바인딩됨)

startupTimeoutSeconds

(선택 사항) 구성 요소가 시작되는 최대 시간(초)입니다. 이 제한 시간이 초과되면 구성 요소의 상태가 BROKEN으로 변경됩니다.

기본값: 120

예: 구성 병합 업데이트

다음 예제 구성에서는 포트 443에서 MQTT 브로커를 작동하도록 지정합니다.

{ "moquette": { "ssl_port": "443" } }

로컬 로그 파일

이 구성 요소는 Greengrass nucleus 구성요소와 동일한 로그 파일을 사용합니다.

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
이 구성 요소의 로그를 보려면
  • 코어 디바이스에서 다음 명령을 실행하여 실시간으로 이 구성 요소의 로그 파일을 봅니다. /greengrass/v2 또는 C:\greengrass\v2를 AWS IoT Greengrass 루트 폴더의 경로로 바꿉니다.

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

Changelog

다음 표에는 각 구성 요소 버전의 변경 사항이 설명되어 있습니다.

버전

변경

2.3.7

클라이언트 디바이스 인증 버전 2.5.0 릴리스에 대한 버전이 업데이트되었습니다.

2.3.6

버그 수정 및 개선 사항
  • 일반적인 버그 수정 및 개선입니다.

2.3.5

버그 수정 및 개선 사항
  • Moquette가 버전 0.17로 업데이트되었습니다.

2.3.4

버그 수정 및 개선 사항
  • 클라이언트가 메시지를 보내거나 받을 때 중복된 클라이언트 ID로 인해 잘못된 세션 오류가 발생할 수 있는 문제를 해결합니다. 이 문제로 인해 클라이언트의 세션이 닫혔습니다.

2.3.3

새로운 기능

새로운 startupTimeoutSeconds 구성 옵션이 추가됩니다.

2.3.2

클라이언트 디바이스 인증 버전 2.4.0 릴리스에 대한 버전이 업데이트되었습니다.

2.3.1

버그 수정 및 개선 사항
  • 다시 연결하려고 시도한 후 잘못된 세션으로 인해 클라이언트 연결이 해제될 수 있는 경쟁 조건이 해결됩니다.

2.3.0

인증서 체인에 대한 지원을 추가합니다.

2.2.0

클라이언트 디바이스 인증 버전 2.2.0 릴리스에 대한 버전이 업데이트되었습니다.

2.1.0

버그 수정 및 개선 사항
  • 성능을 개선하고 몇 가지 기타 개선 사항을 포함하는 Moquette 버전 0.16을 사용하도록 이 구성 요소가 업데이트됩니다.

  • 로컬 MQTT 서버 인증서가 특정 시나리오에서 의도보다 자주 교체되는 문제를 해결합니다.

    이 수정 사항을 적용하려면 클라이언트 디바이스 인증 구성 요소의 v2.1.0 이상을 사용해야 합니다.

2.0.2

버그 수정 및 개선 사항
  • 최대 MQTT 메시지 크기가 8,092바이트에서 128킬로바이트로 증가됩니다. 메시지 크기 제한에 메시지 헤더가 포함되므로 유효한 MQTT 메시지 페이로드 제한은 약간 더 작습니다.

  • ssl_port 파라미터에서 정수 값에 대한 지원을 추가합니다.

2.0.1

Greengrass nucleus 버전 2.4.0 릴리스용으로 업데이트된 버전입니다.

2.0.0

초기 버전