View a markdown version of this page

리소스 제한 구성 - Amazon MQ

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

리소스 제한 구성

RabbitMQ용 Amazon MQ는 RabbitMQ 4 이상에서 브로커 리소스 제한 구성을 지원합니다. 브로커를 생성하면 Amazon MQ는 이러한 리소스 제한에 기본값을 자동으로 적용합니다. 이러한 기본값은 일반적인 고객 사용 패턴을 수용하면서 브로커 가용성을 보호하는 가드레일 역할을 합니다. 특정 워크로드 요구 사항에 더 잘 맞게 제한 구성 값을 변경하여 브로커 동작을 사용자 지정할 수 있습니다. 기본 및 최대 허용 값에 대한 자세한 내용은 섹션을 참조하세요RabbitMQ용 Amazon MQ 크기 조정 지침.

리소스 이름 및 구성 키

리소스 이름 구성 키
Connection connection_max
채널 channel_max_per_node
대기열 cluster_queue_limit
Vhost vhost_max
Shovel runtime_parameters.limits.shovel
Exchange cluster_exchange_limit
채널당 소비자 consumer_max_per_channel
최대 메시지 크기 max_message_size

리소스 제한을 재정의하는 방법

Amazon MQ API 및 Amazon MQ 콘솔을 사용하여 리소스 제한을 재정의할 수 있습니다.

다음 예제에서는를 사용하여 대기열 수 기본 제한을 재정의하는 방법을 보여줍니다 AWS CLI.

aws mq update-configuration --configuration-id <config-id> --data "$(echo "cluster_queue_limit=500" | base64 --wrap=0)"

호출이 성공하면 구성 개정이 생성됩니다. 구성을 RabbitMQ 브로커에 연결하고 브로커를 재부팅하여 재정의를 적용해야 합니다. 자세한 내용은 섹션을 참조하세요. RabbitMQ Broker Configurations

구성에서 인스턴스별 섹션 지원

RabbitMQ 4에서는 Amazon MQ가 구성 데이터의 섹션을 지원합니다. 섹션을 사용하면 단일 구성 내에서 인스턴스별 리소스 제한을 정의할 수 있습니다. 각 섹션은 특정 인스턴스 유형 및 배포 모드 조합에 해당합니다. 구성을 브로커와 연결하면 Amazon MQ는 브로커의 인스턴스 유형 및 배포 모드에 일치하는 섹션을 자동으로 적용합니다.

중요

섹션 지원은 RabbitMQ 4에서만 사용할 수 있습니다. 섹션이 포함된 구성을 RabbitMQ 3 브로커에 적용하려고 하면 API가를 반환합니다BadRequestException.

섹션 구문

섹션은 다음 형식의 이중 중괄호로 구분됩니다.

{{<host-instance-family>.<size>.<mode>}}

mode 값은 배포 모드를 나타냅니다.

  • 1 - 단일 인스턴스 브로커

  • 3 - 클러스터 브로커

다른 모드 값이 유효하지 않고 API가 오류를 반환합니다.

다음 예제에서는 두 가지 인스턴스 유형에 대한 섹션이 있는 구성 데이터를 보여줍니다.

connection_max = 1000 {{m7g.large.3}} connection_max = 2000 {{m7g.large.3}} {{m7g.xlarge.3}} connection_max = 4000 {{m7g.xlarge.3}}

섹션에서 허용되는 구성 키

섹션 내에서는 다음 리소스 제한 구성 키만 지원됩니다. 섹션 내에 다른 구성 키를 추가하면 API 오류가 발생합니다.

  • max_message_size

  • channel_max_per_node

  • connection_max

  • cluster_queue_limit

  • vhost_max

  • consumer_max_per_channel

  • runtime_parameters.limits.shovel

  • cluster_exchange_limit

섹션 우선 순위 규칙

일반(상위 수준) 섹션과 인스턴스별 섹션 모두에 구성 키가 나타나면 구성 데이터의 뒷부분에 나타나는 값이 우선합니다. 예를 들어 m7g.large 클러스터 브로커에 다음 구성을 적용하면가 connection_max로 설정됩니다2000.

connection_max = 1000 {{m7g.large.3}} connection_max = 2000 {{m7g.large.3}}

일반 값이 마지막으로 오기 1000때문에 주문 세트를 connection_max로 되돌립니다.

{{m7g.large.3}} connection_max = 2000 {{m7g.large.3}} connection_max = 1000
참고

구성 데이터가 특정 인스턴스 유형에 대한 값을 정의하지 않는 경우 Amazon MQ는 기본값을 적용합니다.

예시

다음 예제에서는 섹션을 사용하여 구성을 생성하고를 사용하여 브로커와 연결하는 방법을 보여줍니다 AWS CLI.

섹션으로 구성을 업데이트하려면

다음 명령을 실행하여 여러 인스턴스 유형에 대한 인스턴스별 리소스 제한으로 구성을 업데이트합니다.

aws mq update-configuration \ --configuration-id <config-id> \ --data "$(echo -e "connection_max = 1000\nchannel_max_per_node = 64\n\n{{m7g.large.3}}\nconnection_max = 2000\nchannel_max_per_node = 128\n{{m7g.large.3}}\n\n{{m7g.xlarge.3}}\nconnection_max = 4000\nchannel_max_per_node = 256\n{{m7g.xlarge.3}}" | base64 --wrap=0)"

이 구성은 다음 값을 정의합니다.

  • 일반 기본값: connection_max = 1000channel_max_per_node = 64

  • m7g.large 클러스터 브로커: connection_max = 2000channel_max_per_node = 128

  • m7g.xlarge 클러스터 브로커: connection_max = 4000channel_max_per_node = 256

구성을 브로커와 연결하려면

구성을 업데이트한 후 브로커와 연결하고 브로커를 재부팅하여 변경 사항을 적용합니다. 다음 명령을 실행합니다.

aws mq update-broker \ --broker-id <broker-id> \ --configuration id=<config-id>,revision=<revision-number>

리소스 제한 재정의 오류

지원되는 범위를 벗어나는 구성 값과 브로커를 연결하거나 생성하면 다음과 유사한 오류 응답이 발생합니다.

Configuration Revision N for configuration:cluster_queue_limit has limit: of value: 100000000 larger than maximum allowed limit:5000

인스턴스 유형 및 배포 모드별 기본값 및 지원되는 최대 범위는 기본 리소스 제한 및 섹션을 참조하세요RabbitMQ용 Amazon MQ 최대 리소스 제한 RabbitMQ.