

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

# RabbitMQ용 Amazon MQ 브로커 기본값
<a name="rabbitmq-defaults"></a>

RabbitMQ용 Amazon MQ 브로커를 생성할 때 Amazon MQ는 브로커 성능을 최적화하기 위해 기본 집합의 브로커 정책 및 vhost 제한을 적용합니다. Amazon MQ는 vhost 제한을 기본(`/`) vhost에만 적용합니다. Amazon MQ는 새로 생성된 vhost에 대해 기본 정책을 적용하지 않습니다. 새 브로커와 기존 브로커 모두에 대해 이러한 기본값을 유지하는 것이 좋습니다. 하지만 언제든 이러한 기본값을 수정, 재정의 또는 삭제할 수 있습니다.

Amazon MQ는 RabbitMQ 3 및 RabbitMQ 4용 Amazon MQ에 대해 서로 다른 브로커 정책 및 vhost 제한을 생성합니다. RabbitMQ 차이점은 다음 하위 섹션에서 자세히 설명합니다.

Amazon MQ는 브로커를 생성할 때 선택하는 인스턴스 유형 및 브로커 배포 모드에 따라 정책과 제한을 생성합니다. 기본 정책은 다음과 같이 배포 모드에 따라 이름이 지정됩니다.

**RabbitMQ 3용 Amazon MQ: RabbitMQ **
+ **단일 인스턴스** – `AWS-DEFAULT-POLICY-SINGLE-INSTANCE`
+ **클러스터 배포** - `AWS-DEFAULT-POLICY-CLUSTER-MULTI-AZ` && `AWS-DEFAULT-QUORUM-QUEUES-POLICY-CLUSTER-MULTI-AZ`

**RabbitMQ 4용 Amazon MQ: RabbitMQ **
+ **단일 인스턴스** – `AWS-DEFAULT-POLICY-SINGLE-INSTANCE`
+ **클러스터 배포** - `AWS-DEFAULT-POLICY-CLUSTER` && `AWS-DEFAULT-QUORUM-QUEUES-POLICY-CLUSTER-MULTI-AZ`

[단일 인스턴스 브로커](rabbitmq-broker-architecture.md#rabbitmq-broker-architecture-single-instance)의 경우 Amazon MQ는 정책 우선 순위 값을 `0`으로 설정합니다. 기본 우선 순위 값을 재정의하려면 높은 우선 순위 값으로 사용자 지정 정책을 직접 생성할 수 있습니다. [클러스터 배포](rabbitmq-broker-architecture.md#rabbitmq-broker-architecture-cluster)의 경우 Amazon MQ는 브로커 기본값의 우선 순위 값을 `1`로 설정합니다. 클러스터의 고유한 사용자 지정 정책을 생성하려면 `1`보다 큰 우선 순위 값을 할당합니다.

**참고**  
클러스터 배포에서 `ha-mode` 및 `ha-sync-mode` 브로커 정책은 클래식 미러링 및 고가용성(HA)에 필요합니다. 이러한 설정은 RabbitMQ 3용 Amazon MQ에만 적용되며 RabbitMQ 4에는 구성되지 않습니다.  
기본 `AWS-DEFAULT-POLICY-CLUSTER-MULTI-AZ` 정책을 삭제하면 Amazon MQ는 우선 순위 값이 `0`인 `ha-all-AWS-OWNED-DO-NOT-DELETE` 정책을 사용합니다. 그러면 필수 `ha-mode` 및 `ha-sync-mode` 정책이 계속 적용됩니다. 고유한 사용자 지정 정책을 생성하는 경우 Amazon MQ는 정책 정의에 `ha-mode` 및 `ha-sync-mode`를 자동으로 추가합니다.

**Topics**
+ [정책 및 제한 설명](#rabbitmq-defaults-descriptions)
+ [권장 기본값](#rabbitmq-defaults-values)

## 정책 및 제한 설명
<a name="rabbitmq-defaults-descriptions"></a>

다음 목록에서는 Amazon MQ가 새로 생성되는 브로커에 적용하는 기본 정책 및 제한에 대해 설명합니다. `max-length` , `max-queues` 및 `max-connections`의 값은 브로커의 인스턴스 유형 및 배포 모드에 따라 다릅니다. 해당 값은 [권장 기본값](#rabbitmq-defaults-values) 단원에 나와 있습니다.

**RabbitMQ 3 및 RabbitMQ 4 브로커 모두에 대한 설정**
+ **`queue-mode: lazy`**(정책) - 지연 대기열을 활성화합니다. 기본적으로 대기열은 메시지의 인 메모리 캐시를 유지하여 브로커가 메시지를 소비자에게 가능한 한 빨리 전달할 수 있도록 합니다. 이로 인해 브로커의 메모리가 부족해지고 고용량 메모리 경보가 발생할 수 있습니다. 지연 대기열은 가능한 쉽게 메시지를 디스크로 이동하려고 합니다. 따라서 정상 작동 조건에서 메모리에 유지되는 메시지 수가 줄어듭니다. 지연 대기열을 사용하면 RabbitMQ용 Amazon MQ에서 더 큰 메시징 로드와 더 긴 대기열을 지원할 수 있습니다. 특정 사용 사례에서는 지연 대기열을 사용하는 브로커의 성능이 약간 느려질 수 있습니다. 이는 인 메모리 캐시에서 메시지를 전달하는 것이 아니라 메시지가 디스크에서 브로커로 이동되기 때문입니다.
**배포 모드**  
단일 인스턴스, 클러스터
+ **`max-length: {{number-of-messages}}`**(정책) - 대기열의 메시지 수에 대한 제한을 설정합니다. 클러스터 배포에서 이 제한은 브로커 재부팅과 같은 경우에나 유지 관리 기간 이후에 대기열 동기화 일시 중지를 방지합니다.
**배포 모드**  
Cluster
+ **`overflow: reject-publish`**(정책) - `max-length` 정책을 사용하는 대기열에서 대기열의 메시지 수가 `max-length` 값에 도달한 후 새 메시지를 거부하도록 합니다. 대기열이 오버플로 상태이더라도 메시지가 손실되지 않도록 하가 위해 브로커에 메시지를 게시하는 클라이언트 애플리케이션은 [게시자 확인](best-practices-message-reliability.md#configure-confirmation-acknowledgement)을 구현해야 합니다. 게시자 확인을 구현하는 방법에 대한 자세한 내용은 RabbitMQ 웹 사이트에서 [게시자 확인](https://www.rabbitmq.com/confirms.html#publisher-confirms)을 참조하세요.
**배포 모드**  
Cluster

**RabbitMQ 3 관련 설정**
+ **`max-queues: {{number-of-queues-per-vhost}}`**(vhost 제한) - 브로커의 대기열 수에 대한 제한을 설정합니다. `max-length` 정책 정의와 마찬가지로 클러스터 배포에서 대기열 수를 제한하면 브로커 재부팅이나 유지 관리 기간 이후에 대기열 동기화 일시 중지가 방지됩니다. 대기열을 제한하면 대기열을 유지하기 위해 과도한 양의 CPU가 사용되는 것도 방지됩니다.
**배포 모드**  
단일 인스턴스, 클러스터
+ **`max-connections: {{number-of-connections-per-vhost}}`**(vhost 제한) - 브로커에 대한 클라이언트 연결 수의 제한을 설정합니다. 권장 값에 따라 연결 수를 제한하면 과도한 브로커 메모리 사용으로 브로커에서 고용량 메모리 경보가 발생하고 작동이 일시 중지될 수 있는 문제가 방지됩니다.
**배포 모드**  
단일 인스턴스, 클러스터

## 권장 기본값
<a name="rabbitmq-defaults-values"></a>

**중요**  
 `max-queues` 및 `max-connections`는 RabbitMQ 3용 Amazon MQ에만 적용됩니다. RabbitMQ 

**참고**  
`max-length` 및 `max-queue` 기본 제한은 평균 메시지 크기 5kB를 기준으로 테스트 및 평가됩니다. 메시지가 5kB보다 훨씬 큰 경우 `max-length` 및 `max-queue` 제한을 조정하고 줄여야 합니다.

다음 표에는 새로 생성된 브로커의 기본 제한 값이 나와 있습니다. Amazon MQ는 브로커의 인스턴스 유형 및 배포 모드에 따라 이러한 값을 적용합니다.



- **mq.m7g.medium**
  - **Deployment mode(배포 모드):** 단일 인스턴스 / **`max-length`:** 해당 사항 없음 / **`max-queues`:** 2,500 / **`max-connections`:** 100
  - **Deployment mode(배포 모드):** Cluster / **`max-length`:** 500,000 / **`max-queues`:** 100 / **`max-connections`:** 100

- **mq.m7g.large**
  - **Deployment mode(배포 모드):** 단일 인스턴스 / **`max-length`:** 해당 사항 없음 / **`max-queues`:** 20,000건 / **`max-connections`:** 5,000
  - **Deployment mode(배포 모드):** Cluster / **`max-length`:** 8,000,000 / **`max-queues`:** 10,000 / **`max-connections`:** 5,000

- **mq.m7g.xlarge**
  - **Deployment mode(배포 모드):** 단일 인스턴스 / **`max-length`:** 해당 사항 없음 / **`max-queues`:** 30,000개 / **`max-connections`:** 10,000
  - **Deployment mode(배포 모드):** Cluster / **`max-length`:** 9,000,000 / **`max-queues`:** 15,000 / **`max-connections`:** 10,000

- **mq.m7g.2xlarge**
  - **Deployment mode(배포 모드):** 단일 인스턴스 / **`max-length`:** 해당 사항 없음 / **`max-queues`:** 40,000 / **`max-connections`:** 20,000건
  - **Deployment mode(배포 모드):** Cluster / **`max-length`:** 10,000,000 / **`max-queues`:** 40,000 / **`max-connections`:** 20,000건

- **mq.m7g.4xlarge**
  - **Deployment mode(배포 모드):** 단일 인스턴스 / **`max-length`:** 해당 사항 없음 / **`max-queues`:** 60,000 / **`max-connections`:** 40,000
  - **Deployment mode(배포 모드):** Cluster / **`max-length`:** 12,000,000 / **`max-queues`:** 30,000개 / **`max-connections`:** 40,000

- **mq.m7g.8xlarge**
  - **Deployment mode(배포 모드):** 단일 인스턴스 / **`max-length`:** 해당 사항 없음 / **`max-queues`:** 80,000 / **`max-connections`:** 80,000
  - **Deployment mode(배포 모드):** Cluster / **`max-length`:** 20,000,000 / **`max-queues`:** 40,000 / **`max-connections`:** 80,000

- **mq.m7g.12xlarge**
  - **Deployment mode(배포 모드):** 단일 인스턴스 / **`max-length`:** 해당 사항 없음 / **`max-queues`:** 100,000건 / **`max-connections`:** 120,000
  - **Deployment mode(배포 모드):** Cluster / **`max-length`:** 30,000,000 / **`max-queues`:** 20,000건 / **`max-connections`:** 120,000

- **mq.m7g.16xlarge**
  - **Deployment mode(배포 모드):** 단일 인스턴스 / **`max-length`:** 해당 사항 없음 / **`max-queues`:** 120,000 / **`max-connections`:** 160,000
  - **Deployment mode(배포 모드):** Cluster / **`max-length`:** 40,000,000 / **`max-queues`:** 50,000 / **`max-connections`:** 160,000




| 인스턴스 유형 | Deployment mode(배포 모드) | `max-length` | `max-queues` | `max-connections` | 
| --- | --- | --- | --- | --- | 
| t3.micro | 단일 인스턴스 | 해당 사항 없음 | 500 | 500 | 
| m5.large | 단일 인스턴스 | 해당 사항 없음 | 20,000건 | 4,000 | 
| m5.large | Cluster | 8,000,000 | 10,000 | 15,000 | 
| m5.xlarge | 단일 인스턴스 | 해당 사항 없음 | 30,000개 | 8,000 | 
| m5.xlarge | Cluster | 9,000,000 | 10,000 | 20,000건 | 
| m5.2xlarge | 단일 인스턴스 | 해당 사항 없음 | 60,000 | 15,000 | 
| m5.2xlarge | Cluster | 10,000,000 | 10,000 | 40,000 | 
| m5.4xlarge | 단일 인스턴스 | 해당 사항 없음 | 150,000 | 30,000개 | 
| m5.4xlarge | Cluster | 12,000,000 | 10,000 | 100,000건 | 