기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
RabbitMQ용 Amazon MQ에 정책 적용
Amazon MQ 권장 기본값을 사용하여 사용자 지정 정책과 제한을 적용할 수 있습니다. 권장되는 기본 정책 및 제한을 삭제한 후 다시 생성하거나 추가 vhost를 생성한 후 새 vhost에 기본 정책과 제한을 적용하려는 경우 다음 단계를 사용할 수 있습니다.
중요
RabbitMQ용 Amazon MQ 엔진 버전 3.13 이하에서 현재 기본 연산자 정책은 다음과 같습니다. RabbitMQ
vhost name pattern apply-to definition priority/ default_operator_policy_AWS_managed .* classic_queues {"ha-mode":"all","ha-sync-mode":"automatic","queue-version":2} 0
버전 4.0 이상에서는 기본 연산자 정책이 다음과 같이 변경되었습니다.
vhost name pattern apply-to definition priority/ default_operator_policy_AWS_managed .* classic_queues {"queue-version":2} 0
RabbitMQ 4에서는 클래식 대기열 미러링 및 HA 정책 설정이 지원되지 않으므로이 변경이 필요합니다.
클래식 미러링 대기열과 쿼럼 대기열에 동시에 적용되는 정책은 생성할 수 없습니다. 정책이 쿼럼 대기열에만 적용되도록 하려면 --apply-to를 quorum_queues로 설정해야 합니다. 클래식 미러링 대기열과 쿼럼 대기열을 함께 사용하는 경우 쿼럼 대기열 정책뿐만 아니라 --apply-to:classic_queues로 설정한 별도의 정책을 생성해야 합니다.
중요
다음 단계를 수행하려면 관리자 권한이 있는 RabbitMQ용 Amazon MQ 브로커 사용자가 있어야 합니다. 브로커를 처음 생성할 때 만든 관리자 사용자를 사용하거나 나중에 만들었을 수 있는 다른 사용자를 사용할 수 있습니다. 다음 표에는 필요한 관리자 사용자 태그 및 권한이 정규식(regexp) 패턴으로 나와 있습니다.
| Tags | regexp 읽기 | regexp 구성 | regexp 쓰기 |
|---|---|---|---|
administrator |
.* |
.* |
.* |
RabbitMQ 사용자를 생성하고 사용자 태그 및 권한을 관리하는 방법에 대한 자세한 내용은 RabbitMQ용 Amazon MQ 브로커 사용자 단원을 참조하세요.
RabbitMQ 웹 콘솔을 사용하여 기본 정책 및 가상 호스트 제한을 적용하려면
-
Amazon MQ 콘솔
에 로그인합니다. -
왼쪽 탐색 창에서 Brokers(브로커)를 선택합니다.
-
브로커 목록에서 새 정책을 적용할 브로커의 이름을 선택합니다.
-
브로커 세부 정보 페이지의 Connections(연결) 섹션에서 RabbitMQ 웹 콘솔 URL을 선택합니다. RabbitMQ 웹 콘솔이 새 브라우저 탭 또는 창에 열립니다.
-
브로커 관리자 사용자 이름 및 암호를 사용하여 RabbitMQ 웹 콘솔에 로그인합니다.
-
RabbitMQ 웹 콘솔의 페이지 상단에서 Admin(관리자)을 선택합니다.
-
Admin(관리자) 페이지의 오른쪽 탐색 창에서 Policies(정책)를 선택합니다.
-
Policies(정책) 페이지에서 브로커의 현재 User policies(사용자 정책) 목록을 볼 수 있습니다. User policies(사용자 정책) 아래에서 Add / update a policy(정책 추가/업데이트)를 확장합니다.
-
새 브로커 정책을 생성하려면 Add / update a policy(정책 추가/업데이트)에서 다음을 수행합니다.
-
Virtual host(가상 호스트)의 드롭다운 목록에서 정책을 연결할 vhost의 이름을 선택합니다. 기본 vhost를 선택하려면 /를 선택합니다.
참고
추가 vhost를 생성하지 않은 경우 Virtual host(가상 호스트) 옵션이 RabbitMQ 콘솔에 표시되지 않으며 정책은 기본 vhost에만 적용됩니다.
-
Name(이름)에 정책의 이름을 입력합니다(예:
policy-defaults). -
Pattern(패턴)에 regexp 패턴
.*를 입력합니다. 이 경우 정책이 브로커의 모든 대기열과 일치합니다. -
Apply to(적용 대상)의 드롭다운 목록에서 Exchanges and queues(교환 및 대기열)를 선택합니다.
-
Priority(우선 순위)에 vhost에 적용된 다른 모든 정책보다 큰 정수를 입력합니다. 지정된 시간에 RabbitMQ 대기열 및 교환에 정확히 하나의 정책 정의 집합을 적용할 수 있습니다. RabbitMQ는 가장 높은 우선 순위 값과 일치하는 정책을 선택합니다. 정책 우선 순위 및 정책을 결합하는 방법에 대한 자세한 내용은 RabbitMQ Server 설명서에서 정책
을 참조하세요. -
Definition(정의)에 다음 키-값 페어를 추가합니다.
-
queue-mode=lazy. 드롭다운 목록에서 String(문자열)을 선택합니다. -
overflow=reject-publish. 드롭다운 목록에서 String(문자열)을 선택합니다.참고
단일 인스턴스 브로커에는 적용하지 마세요.
-
max-length=. 브로커의 인스턴스 크기 및 배포 모드에 따라number-of-messagesnumber-of-messages를 Amazon MQ 권장 값으로 바꿉니다(예:mq.m7g.large클러스터의 경우8000000). 드롭다운 목록에서 Number(숫자)를 선택합니다.참고
단일 인스턴스 브로커에는 적용하지 마세요.
-
-
Add / update policy(정책 추가/업데이트)를 선택합니다.
-
-
새 정책이 User policies(사용자 정책)의 목록에 표시되는지 확인합니다.
참고
클러스터 브로커의 경우 Amazon MQ는
ha-mode: all및ha-sync-mode: automatic정책 정의를 자동으로 적용합니다. -
오른쪽 탐색 창에서 Limits(제한)를 선택합니다.
-
Limits(제한) 페이지에서 브로커의 현재 Virtual host limits(가상 호스트 제한) 목록을 볼 수 있습니다. Virtual host limits(가상 호스트 제한) 아래에서 Set / update a virtual host limit(가상 호스트 제한 설정/업데이트)를 확장합니다.
-
새 vhost 제한을 생성하려면 Set / update a virtual host limit(가상 호스트 제한 설정/업데이트) 아래에서 다음을 수행합니다.
-
Virtual host(가상 호스트)의 드롭다운 목록에서 정책을 연결할 vhost의 이름을 선택합니다. 기본 vhost를 선택하려면 /를 선택합니다.
-
Limit(제한)의 드롭다운 옵션에서 max-connections를 선택합니다.
-
Value(값)에 브로커의 인스턴스 크기 및 배포 모드에 따라 Amazon MQ 권장 값을 입력합니다(예:
mq.m5.large클러스터의 경우15000). -
Set / update limit(제한 설정/업데이트)를 선택합니다.
-
위 단계를 반복하고 Limit(제한)의 드롭다운에서 max-queues를 선택합니다.
-
-
새 제한이 Virtual host limits(가상 호스트 제한)의 목록에 표시되는지 확인합니다.
RabbitMQ 관리 API를 사용하여 기본 정책 및 가상 호스트 제한을 적용하려면
-
Amazon MQ 콘솔
에 로그인합니다. -
왼쪽 탐색 창에서 Brokers(브로커)를 선택합니다.
-
브로커 목록에서 새 정책을 적용할 브로커의 이름을 선택합니다.
-
브로커 페이지의 Connections(연결) 섹션에서 RabbitMQ 웹 콘솔 URL을 기록합니다. 이는 HTTP 요청에서 사용하는 브로커 엔드포인트입니다.
-
새 터미널 또는 원하는 명령줄 창을 엽니다.
-
새 브로커 정책을 생성하려면 다음
curl명령을 입력합니다. 이 명령에서는 대기열이%2F로 인코딩된 기본/vhost에 있다고 가정합니다. 정책을 다른 vhost에 적용하려면%2F를 vhost의 이름으로 바꿉니다.참고
사용자 이름과암호를 관리자 로그인 보안 인증 정보로 바꾸세요. 브로커의 인스턴스 크기 및 배포 모드에 따라number-of-messages를 Amazon MQ 권장 값으로 바꿉니다.policy-name을 정책의 이름으로 바꿉니다.broker-endpoint를 이전에 기록한 URL로 바꿉니다.curl -i -uusername: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 -
브로커의 사용자 정책에 새 정책이 추가되었는지 확인하려면 다음
curl명령을 입력하여 모든 브로커 정책을 나열합니다.curl -i -uusername:passwordbroker-endpoint/api/policies -
새
max-connections가상 호스트 제한을 생성하려면 다음curl명령을 입력합니다. 이 명령에서는 대기열이%2F로 인코딩된 기본/vhost에 있다고 가정합니다. 정책을 다른 vhost에 적용하려면%2F를 vhost의 이름으로 바꿉니다.참고
사용자 이름과암호를 관리자 로그인 보안 인증 정보로 바꾸세요. 브로커의 인스턴스 크기 및 배포 모드에 따라max-connections를 Amazon MQ 권장 값으로 바꿉니다. 브로커 엔드포인트를 이전에 기록한 URL로 바꿉니다.curl -i -uusername:password-H "content-type:application/json" -XPUT \ -d '{"value":"number-of-connections"}' \broker-endpoint/api/vhost-limits/%2F/max-connections -
새
max-queues가상 호스트 제한을 생성하려면 이전 단계를 반복하되 다음과 같이 curl 명령을 수정합니다.curl -i -uusername:password-H "content-type:application/json" -XPUT \ -d '{"value":"number-of-queues"}' \broker-endpoint/api/vhost-limits/%2F/max-queues -
브로커의 가상 호스트 제한에 새 제한이 추가되었는지 확인하려면 다음
curl명령을 입력하여 모든 브로커 가상 호스트 제한을 나열합니다.curl -i -uusername:passwordbroker-endpoint/api/vhost-limits