Amazon MQ 브로커에서 RabbitMQ 연동 플러그 인을 설정하려면 어떻게 해야 하나요?

최종 업데이트 날짜: 2022년 8월 22일

RabbitMQ 연동 플러그 인을 사용하여 온프레미스 브로커에서 RabbitMQ 브로커용 Amazon MQ로 메시지를 배포하려고 합니다. RabbitMQ 연동 플러그 인과 함께 작동하도록 RabbitMQ 브로커용 Amazon MQ를 설정하려면 어떻게 해야 하나요?

간략한 설명

RabbitMQ 브로커용 Amazon MQ에서 RabbitMQ 연동 플러그 인(RabbitMQ Federation plugin)을 설정하려면 다운스트림 브로커에서 다음을 구성해야 합니다.

  • 원격 대기열 또는 교환에 대한 연동 연결을 정의하는 하나 이상의 federation-upstream 파라미터.
  • 특정 원격 대기열 또는 교환이 연동되도록 허용하는 RabbitMQ 정책.
  • 메시지를 수신하기 위해 바인딩된 새 대기열과의 교환.

해결 방법

참고: 다음 절차에는 업스트림 브로커(온프레미스 또는 클라우드 기반)와 다운스트림 브로커(RabbitMQ 브로커용 Amazon MQ)의 두 브로커가 필요합니다.

원격 대기열 또는 교환에 대한 연동 연결을 정의하는 하나 이상의 federation-upstream 파라미터 생성

1.    Amazon MQ 콘솔(Amazon MQ console)을 엽니다.

2.    왼쪽 탐색 창에서 브로커(Brokers)를 선택합니다.

3.    이름(Name) 열에서 다운스트림 브로커(downstream broker)의 이름을 선택합니다.

4.    연결(Connections) 패널에서 RabbitMQ 웹 콘솔(RabbitMQ web console) 아래에 나열된 URL을 선택합니다. 다운스트림 브로커(downstream broker)에 대한 RabbitMQ 웹 콘솔 로그인 페이지가 열립니다.

5.    브로커의 사용자 이름(Username)암호(Password)를 입력합니다. 그런 다음 로그인(Login)을 선택하여 RabbitMQ 웹 콘솔에 로그인합니다.

6.    RabbitMQ 웹 콘솔에서 관리자(Admin) 탭을 선택합니다. 그런 다음 오른쪽 탐색 창에서 연동 업스트림(Federation Upstreams)을 선택합니다.

7.    새 업스트림 추가(Add a new upstream)를 선택합니다.

8.    이름(Name)에 업스트림 파라미터의 이름을 입력합니다.

9.    URI에 기본 amqp://텍스트를 삭제하고 업스트림 브로커의 URI를 다음 형식으로 입력합니다.

amqps://$UPSTREAM_BROKER_USER:$UPSTREAM_BROKER_PASSWORD@$UPSTREAM_BROKER_ENDPOINT:5671

10.    업스트림 추가(Add upstream)를 선택합니다.

특정 원격 대기열 또는 교환이 연동되도록 허용하는 RabbitMQ 정책 생성

1.    다운스트림 브로커(downstream broker)의 RabbitMQ 웹 콘솔을 엽니다. 자세한 내용은 이 문서의 RabbitMQ 웹 콘솔을 사용하여 federation-upstream 파라미터를 생성하려면 섹션의 1~5단계를 참조하세요.

2.    관리자(Admin) 탭을 선택합니다. 그런 다음 오른쪽 탐색 창에서 정책(Policies)을 선택합니다.

3.    정책 추가/업데이트(Add / update a policy)를 선택합니다.

4.    이름(Name)에 정책 이름을 입력합니다.

5.    패턴(Pattern)에 연동되도록 허용하려는 대기열 또는 교환 이름과 일치하는 정규식을 입력합니다.

6.    적용 대상(Apply to)에 드롭다운 목록에서 교환(Exchanges)을 선택합니다.

참고: 교환(Exchanges)에 정책을 적용하면 다운스트림 브로커(downstream broker)의 교환에만 정책을 적용할 수 있습니다.

7.    우선순위(Priority)에 숫자 1을 입력합니다.

참고: 우선순위(Priority) 설정은 여러 정책의 이름이 같은 경우 교환 또는 대기열에 적용해야 하는 정책을 결정하는 데 사용됩니다. 우선순위(Priority) 설정을 1로 지정하면 이름이 같은 기본 Amazon MQ 정책이 정책을 재정의할 수 없습니다.

8.    정의(Definition)에서 첫 번째 텍스트 상자의 = 기호 앞에 federation-upstream-set를 키로 입력합니다. 그런 다음 = 기호 오른쪽에 있는 두 번째 텍스트 상자에 모두(all)를 값으로 입력합니다.

9.    정책 추가/업데이트(Add / update policy)를 선택합니다.

메시지를 수신하기 위해 바인딩된 새 대기열이 있는 교환 생성

1.    다운스트림 브로커(downstream broker)의 RabbitMQ 웹 콘솔을 엽니다. 자세한 내용은 이 문서의 RabbitMQ 웹 콘솔을 사용하여 federation-upstream 파라미터를 생성하려면 섹션의 1~5단계를 참조하세요.

2.    대기열(Queues) 탭을 선택합니다.

3.    새 대기열 추가(Add a new queue)에서 이름(Name)에 메시지를 수신하는 새 대기열의 이름을 입력합니다.

4.    대기열 추가(Add queue)를 선택합니다.

5.    교환(Exchanges) 탭을 선택합니다.

6.    새 교환 추가(Add a new exchange)에서 이름(Name)에 RabbitMQ 정책을 생성할 때 사용한 교환 이름과 일치하는 정규식을 입력합니다.

7.    교환 추가(Add exchange)를 선택합니다.

참고: RabbitMQ는 업스트림 브로커에서 자동으로 이름이 같은 교환을 생성합니다.

8.    교환(Exchanges) 탭을 선택합니다.

9.    모든 교환(All exchanges)에서 생성한 새 교환의 이름을 선택합니다.

10.    바인딩(Bindings)에서 이 교환으로부터 바인딩 추가에 드롭다운 목록에서 대기열로(To queue)를 선택합니다. 그런 다음 생성한 대기열의 이름을 입력합니다.

11.    라우팅 키(Routing key)에 원하는 값을 입력합니다. 이 값을 사용하여 업스트림 브로커의 교환으로 전송된 메시지는 이 교환에 바인딩된 대기열에도 전송됩니다.

12.    바인딩(Bind)을 선택합니다.

설정을 테스트하려면

업스트림 브로커의 소스 교환에 테스트 메시지 전송

1.    업스트림 브로커(upstream broker)의 RabbitMQ 웹 콘솔을 엽니다.

참고: RabbitMQ 웹 콘솔에 액세스하는 방법에 대한 자세한 내용은 RabbitMQ 설명서의 관리 플러그 인(Management plugin)을 참조하세요.

2.    교환(Exchanges) 탭을 선택합니다. 그런 다음 소스 교환의 이름을 선택합니다.

3.    왼쪽 탐색 창에서 메시지 게시(Publish message)를 선택합니다. 메시지 게시(Publish message) 섹션이 열립니다.

4.    라우팅 키(Routing key) 텍스트 상자에 생성한 라우팅 키 값을 입력합니다.

5.    페이로드(Payload) 텍스트 상자에 테스트 메시지를 입력합니다.

참고: 머리글(Headers)속성(Properties) 텍스트 상자를 비워 둘 수 있습니다.

6.    메시지 게시(Publish message) 버튼을 선택합니다. 테스트 메시지가 소스 교환으로 전송됩니다. 연동 파라미터가 올바르게 구성된 경우 메시지는 다운스트림 브로커의 대상 대기열에도 전송됩니다.

다운스트림 브로커의 대상 대기열에서 테스트 메시지를 수신했는지 확인합니다.

1.    다운스트림 브로커(downstream broker)의 RabbitMQ 웹 콘솔을 엽니다.

2.    대기열(Queues) 탭을 선택합니다. 그런 다음 대상 대기열의 이름을 선택합니다.

3.    왼쪽 탐색 창에서 메시지 받기(Get messages)를 선택합니다. 메시지 받기(Get messages) 섹션이 열립니다.

4.    메시지 받기(Get messages) 버튼을 선택합니다. 연동 파라미터가 올바르게 구성된 경우 소스 교환으로 보낸 테스트 메시지가 페이로드(Payload) 값으로 나타납니다.


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?