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

4분 분량
0

RabbitMQ Shovel 플러그인을 사용하여 메시지를 온프레미스 브로커에서 RabbitMQ 브로커용 Amazon MQ로 이동하고 싶습니다.

간략한 설명

RabbitMQ 브로커용 Amazon MQ에서 RabbitMQ Shovel 플러그인을 구성하려면 RabbitMQ 웹사이트에서 동적 셔블을 생성하세요. RabbitMQ용 Amazon MQ 브로커용 동적 셔블을 만들려면 다음 옵션 중 하나를 사용할 수 있습니다.

다음 해결 방법에는 업스트림 브로커와 다운스트림 브로커라는 두 개의 브로커가 필요합니다. 온프레미스 또는 클라우드 기반 업스트림 브로커를 사용할 수 있습니다. 이 경우 다운스트림 브로커는 RabbitMQ용 Amazon MQ 브로커입니다. 다운스트림 또는 업스트림 브로커에서 동적 셔블을 구성할 수 있습니다. 다음 예제 절차는 다운스트림 브로커에서 동적 셔블을 만드는 방법을 보여줍니다.

참고: Amazon MQ는 프라이빗 Amazon MQ 브로커를 셔블 대상 또는 정적 셔블로 지원하지 않습니다. 자세한 내용은 Shovel 플러그인을 참조하세요.

해결 방법

RabbitMQ 웹 콘솔을 사용하여 다운스트림 브로커에서 동적 셔블 만들기

중요: 셔블이 생성된 브로커에 없는 대기열에 대해서는 통합 자원 식별자(URI)를 지정해야 합니다.

1.    Amazon MQ 콘솔을 엽니다.

2.    탐색 창에서 브로커를 선택합니다.

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

4.    연결 창에서 RabbitMQ 웹 콘솔 아래에 나열된 URL을 선택합니다. 다운스트림 브로커의 RabbitMQ 웹 콘솔 로그인 페이지가 열립니다.

5.    브로커의 사용자 이름비밀번호를 입력합니다. 그런 다음 로그인을 선택하여 RabbitMQ 웹 콘솔에 로그인합니다.

6.    RabbitMQ 웹 콘솔에서 관리자 탭을 선택합니다. 그런 다음 오른쪽 탐색 창에서 셔블 관리를 선택합니다.

7.    새 셔블 추가를 선택합니다.

8.    이름에 자신의 정책 이름을 입력합니다.

9.    소스에 대해 드롭다운 목록에서 AMQP 0.9.1을 선택합니다. 그리고 다음 단계를 완료합니다.
URI 오른쪽에 있는 드롭다운 목록에서 대기열을 선택합니다.
대기열 아래의 텍스트 상자에 업스트림 브로커의 소스 대기열 이름을 입력합니다.
URI에 대해 기본 **amqp://**텍스트를 삭제하고 업스트림 브로커의 URI를 다음 형식으로 입력합니다.

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

10.    대상에 대해 드롭다운 목록에서 AMQP 0.9.1을 선택합니다. 그리고 다음 단계를 완료합니다.
URI 오른쪽에 있는 드롭다운 목록에서 대기열을 선택합니다.
대기열 아래의 텍스트 상자에 다운스트림 브로커의 대상 대기열 이름을 입력합니다.
URI에 대해 기본 **amqp://**텍스트를 유지하고 다운스트림 브로커의 URI를 다음 형식으로 입력합니다.

amqp://$DOWNSTREAM_BROKER_USER:$DOWNSTREAM_BROKER_PASSWORD@$DOWNSTREAM_BROKER_ENDPOINT:5671

11.    셔블 추가를 선택합니다.
참고: 소스 및 대상 큐가 아직 존재하지 않는 경우 RabbitMQ에서 자동으로 큐를 생성합니다.

RabbitMQ Management Command Line Tool을 사용하여 다운스트림 브로커에서 동적 셔블 만들기

중요: 셔블이 생성된 브로커에 없는 대기열에 대해서는 통합 자원 식별자(URI)를 지정해야 합니다.

다음 curl 명령을 실행합니다.

curl -u $SHOVEL_BROKER_USER:$SHOVEL_BROKER_PASSWORD \
-X PUT https://$SHOVEL_BROKER_ENDPOINT/api/parameters/shovel/%2f/rmq-lab-shovel \
-H "content-type: application/json" \
-d '{"value": {"src-protocol": "amqp091","src-uri": "amqps://$UPSTREAM_BROKER_USER:$UPSTREAM_BROKER_PASSWORD@$UPSTREAM_BROKER_ENDPOINT:5671","src-queue": "shovel-demo-src-queue","dest-protocol": "amqp091","dest-uri": "amqps://$DOWNSTREAM_BROKER_USER:$DOWNSTREAM_BROKER_PASSWORD@$DOWNSTREAM_BROKER_ENDPOINT:5671","dest-queue": "shovel-demo-dest-queue"}}'

중요:

  • $SHOVEL_BROKER_USER$SHOVEL_BROKER_PASSWORD다운스트림 브로커의 자격 증명으로 바꿉니다.
  • $SHOVEL_BROKER_ENDPOINT다운스트림 브로커의 엔드포인트로 바꿉니다.
  • $UPSTREAM_BROKER_USER$UPSTREAM_BROKER_PASSWORD업스트림 브로커의 자격 증명으로 바꿉니다.
  • $UPSTREAM_BROKER_ENDPOINT업스트림 브로커의 엔드포인트로 바꿉니다.
  • $DOWNTREAM_BROKER_USER$DOWNTREAM_BROKER_PASSWORD다운스트림 브로커의 자격 증명으로 바꿉니다.
  • $DOWNTREAM_BROKER_ENDPOINT다운스트림 브로커의 엔드포인트로 바꿉니다.
  • $SOURCE_QUEUE_NAME업스트림 브로커의 소스 대기열 이름으로 바꿉니다.
  • $DESTINATION_QUEUE_NAME다운스트림 브로커의 대상 대기열 이름으로 바꿉니다.

설정 테스트

업스트림 브로커의 소스 대기열에 테스트 메시지 전송

1.    업스트림 브로커의 RabbitMQ 웹 콘솔을 엽니다.
참고: RabbitMQ 웹 콘솔에 액세스하는 방법에 대한 자세한 내용은 RabbitMQ 설명서의 관리 플러그인을 참조하세요.

2.    대기열 탭을 선택합니다. 그런 다음 소스 대기열의 이름을 선택합니다.

3.    탐색 창에서 메시지 게시를 선택합니다. 메시지 게시 섹션이 열립니다.

4.    페이로드 텍스트 상자에 테스트 메시지를 입력합니다.
참고: 헤더속성 텍스트 상자를 비워 둘 수 있습니다.

5.    메시지 게시 버튼을 선택합니다. 그러면 테스트 메시지가 소스 대기열로 전송됩니다. 동적 셔블을 올바르게 구성한 경우 셔블은 메시지를 소비하여 다운스트림 브로커의 대상 대기열로 보냅니다.

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

1.    다운스트림 브로커의 RabbitMQ 웹 콘솔을 엽니다. 지침은 RabbitMQ 웹 콘솔을 사용하여 다운스트림 브로커에 동적 셔블을 만들려면 섹션의 1~5단계를 참조하세요.

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

3.    탐색 창에서 메시지 받기를 선택합니다. 메시지 받기 섹션이 열립니다.

4.    메시지 받기 버튼을 선택합니다. 동적 셔블이 올바르게 구성된 경우 소스 대기열로 전송한 테스트 메시지가 페이로드 값으로 나타납니다.

관련 정보

메시지 기반 애플리케이션을 RabbitMQ용 Amazon MQ로 마이그레이션

Amazon MQ 브로커에서 RabbitMQ 페더레이션 플러그인을 설정하려면 어떻게 해야 하나요?

AWS 공식
AWS 공식업데이트됨 10달 전