RabbitMQ용 Amazon MQ에 정책 적용 - Amazon MQ

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

RabbitMQ용 Amazon MQ에 정책 적용

Amazon MQ 권장 기본값을 사용하여 사용자 지정 정책과 제한을 적용할 수 있습니다. 권장되는 기본 정책 및 제한을 삭제한 후 다시 생성하거나 추가 vhost를 생성한 후 새 vhost에 기본 정책과 제한을 적용하려는 경우 다음 단계를 사용할 수 있습니다.

중요

다음 단계를 수행하려면 관리자 권한이 있는 RabbitMQ용 Amazon MQ 브로커 사용자가 있어야 합니다. 브로커를 처음 생성할 때 만든 관리자 사용자를 사용하거나 나중에 만들었을 수 있는 다른 사용자를 사용할 수 있습니다. 다음 표에는 필요한 관리자 사용자 태그 및 권한이 정규식(regexp) 패턴으로 나와 있습니다.

Tags regexp 읽기 regexp 구성 regexp 쓰기
administrator .* .* .*

RabbitMQ 사용자를 생성하고 사용자 태그 및 권한을 관리하는 방법에 대한 자세한 내용은 RabbitMQ용 Amazon MQ 브로커 사용자 단원을 참조하세요.

RabbitMQ 웹 콘솔을 사용하여 기본 정책 및 가상 호스트 제한을 적용하려면
  1. Amazon MQ 콘솔에 로그인합니다.

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

  3. 브로커 목록에서 새 정책을 적용할 브로커의 이름을 선택합니다.

  4. 브로커 세부 정보 페이지의 Connections(연결) 섹션에서 RabbitMQ 웹 콘솔 URL을 선택합니다. RabbitMQ 웹 콘솔이 새 브라우저 탭 또는 창에 열립니다.

  5. 브로커 관리자 사용자 이름 및 암호를 사용하여 RabbitMQ 웹 콘솔에 로그인합니다.

  6. RabbitMQ 웹 콘솔의 페이지 상단에서 Admin(관리자)을 선택합니다.

  7. Admin(관리자) 페이지의 오른쪽 탐색 창에서 Policies(정책)를 선택합니다.

  8. Policies(정책) 페이지에서 브로커의 현재 User policies(사용자 정책) 목록을 볼 수 있습니다. User policies(사용자 정책) 아래에서 Add / update a policy(정책 추가/업데이트)를 확장합니다.

  9. 새 브로커 정책을 생성하려면 Add / update a policy(정책 추가/업데이트)에서 다음을 수행합니다.

    1. Virtual host(가상 호스트)의 드롭다운 목록에서 정책을 연결할 vhost의 이름을 선택합니다. 기본 vhost를 선택하려면 /를 선택합니다.

      참고

      추가 vhost를 생성하지 않은 경우 Virtual host(가상 호스트) 옵션이 RabbitMQ 콘솔에 표시되지 않으며 정책은 기본 vhost에만 적용됩니다.

    2. Name(이름)에 정책의 이름을 입력합니다(예: policy-defaults).

    3. Pattern(패턴)에 regexp 패턴 .*를 입력합니다. 이 경우 정책이 브로커의 모든 대기열과 일치합니다.

    4. Apply to(적용 대상)의 드롭다운 목록에서 Exchanges and queues(교환 및 대기열)를 선택합니다.

    5. Priority(우선 순위)에 vhost에 적용된 다른 모든 정책보다 큰 정수를 입력합니다. 지정된 시간에 RabbitMQ 대기열 및 교환에 정확히 하나의 정책 정의 집합을 적용할 수 있습니다. RabbitMQ는 가장 높은 우선 순위 값과 일치하는 정책을 선택합니다. 정책 우선 순위 및 정책을 결합하는 방법에 대한 자세한 내용은 RabbitMQ Server 설명서에서 정책을 참조하세요.

    6. Definition(정의)에 다음 키-값 페어를 추가합니다.

      • queue-mode=lazy. 드롭다운 목록에서 String(문자열)을 선택합니다.

      • overflow=reject-publish. 드롭다운 목록에서 String(문자열)을 선택합니다.

        참고

        단일 인스턴스 브로커에는 적용하지 마세요.

      • max-length=number-of-messages. 브로커의 인스턴스 크기 및 배포 모드에 따라 number-of-messagesAmazon MQ 권장 값으로 바꿉니다(예: mq.m5.large 클러스터의 경우 8000000). 드롭다운 목록에서 Number(숫자)를 선택합니다.

        참고

        단일 인스턴스 브로커에는 적용하지 마세요.

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

  10. 새 정책이 User policies(사용자 정책)의 목록에 표시되는지 확인합니다.

    참고

    클러스터 브로커의 경우 Amazon MQ는 ha-mode: allha-sync-mode: automatic 정책 정의를 자동으로 적용합니다.

  11. 오른쪽 탐색 창에서 Limits(제한)를 선택합니다.

  12. Limits(제한) 페이지에서 브로커의 현재 Virtual host limits(가상 호스트 제한) 목록을 볼 수 있습니다. Virtual host limits(가상 호스트 제한) 아래에서 Set / update a virtual host limit(가상 호스트 제한 설정/업데이트)를 확장합니다.

  13. 새 vhost 제한을 생성하려면 Set / update a virtual host limit(가상 호스트 제한 설정/업데이트) 아래에서 다음을 수행합니다.

    1. Virtual host(가상 호스트)의 드롭다운 목록에서 정책을 연결할 vhost의 이름을 선택합니다. 기본 vhost를 선택하려면 /를 선택합니다.

    2. Limit(제한)의 드롭다운 옵션에서 max-connections를 선택합니다.

    3. Value(값)에 브로커의 인스턴스 크기 및 배포 모드에 따라 Amazon MQ 권장 값을 입력합니다(예: mq.m5.large 클러스터의 경우 15000).

    4. Set / update limit(제한 설정/업데이트)를 선택합니다.

    5. 위 단계를 반복하고 Limit(제한)의 드롭다운에서 max-queues를 선택합니다.

  14. 새 제한이 Virtual host limits(가상 호스트 제한)의 목록에 표시되는지 확인합니다.

RabbitMQ 관리 API를 사용하여 기본 정책 및 가상 호스트 제한을 적용하려면
  1. Amazon MQ 콘솔에 로그인합니다.

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

  3. 브로커 목록에서 새 정책을 적용할 브로커의 이름을 선택합니다.

  4. 브로커 페이지의 Connections(연결) 섹션에서 RabbitMQ 웹 콘솔 URL을 기록합니다. 이는 HTTP 요청에서 사용하는 브로커 엔드포인트입니다.

  5. 새 터미널 또는 원하는 명령줄 창을 엽니다.

  6. 새 브로커 정책을 생성하려면 다음 curl 명령을 입력합니다. 이 명령에서는 대기열이 %2F로 인코딩된 기본 / vhost에 있다고 가정합니다. 정책을 다른 vhost에 적용하려면 %2F를 vhost의 이름으로 바꿉니다.

    참고

    사용자 이름암호를 관리자 로그인 보안 인증 정보로 바꾸세요. 브로커의 인스턴스 크기 및 배포 모드에 따라 number-of-messagesAmazon MQ 권장 값으로 바꿉니다. policy-name을 정책의 이름으로 바꿉니다. broker-endpoint를 이전에 기록한 URL로 바꿉니다.

    curl -i -u username:password -H "content-type:application/json" -XPUT \ -d '{"pattern":".*", "priority":1, "definition":{"queue-mode":lazy, "overflow":"reject-publish", "max-length":"number-of-messages"}}' \ broker-endpoint/api/policies/%2F/policy-name
  7. 브로커의 사용자 정책에 새 정책이 추가되었는지 확인하려면 다음 curl 명령을 입력하여 모든 브로커 정책을 나열합니다.

    curl -i -u username:password broker-endpoint/api/policies
  8. max-connections 가상 호스트 제한을 생성하려면 다음 curl 명령을 입력합니다. 이 명령에서는 대기열이 %2F로 인코딩된 기본 / vhost에 있다고 가정합니다. 정책을 다른 vhost에 적용하려면 %2F를 vhost의 이름으로 바꿉니다.

    참고

    사용자 이름암호를 관리자 로그인 보안 인증 정보로 바꾸세요. 브로커의 인스턴스 크기 및 배포 모드에 따라 max-connectionsAmazon MQ 권장 값으로 바꿉니다. 브로커 엔드포인트를 이전에 기록한 URL로 바꿉니다.

    curl -i -u username:password -H "content-type:application/json" -XPUT \ -d '{"value":"number-of-connections"}' \ broker-endpoint/api/vhost-limits/%2F/max-connections
  9. max-queues 가상 호스트 제한을 생성하려면 이전 단계를 반복하되 다음과 같이 curl 명령을 수정합니다.

    curl -i -u username:password -H "content-type:application/json" -XPUT \ -d '{"value":"number-of-queues"}' \ broker-endpoint/api/vhost-limits/%2F/max-queues
  10. 브로커의 가상 호스트 제한에 새 제한이 추가되었는지 확인하려면 다음 curl 명령을 입력하여 모든 브로커 가상 호스트 제한을 나열합니다.

    curl -i -u username:password broker-endpoint/api/vhost-limits