

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configuración de límite de recursos
<a name="configure-resource-limits"></a>

Amazon MQ para RabbitMQ admite la configuración de los límites de recursos de los corredores a partir de RabbitMQ 4. Al crear un intermediario, Amazon MQ aplica automáticamente los valores predeterminados a estos límites de recursos. Estos valores predeterminados actúan como barreras para proteger la disponibilidad de su agente y, al mismo tiempo, adaptarse a los patrones de uso habituales de los clientes. Puede personalizar el comportamiento de su corredor cambiando los valores límite de configuración para que se adapten mejor a sus requisitos específicos de carga de trabajo. Para obtener más información sobre los valores predeterminados y máximos permitidos, consulte[Directrices de dimensionamiento de Amazon MQ para RabbitMQ](rabbitmq-sizing-guidelines.md).

## Nombres de recursos y claves de configuración
<a name="resource-limit-configuration-keys"></a>


| Nombre del recurso | Clave de configuración | 
| --- | --- | 
| Connection | connection\_max | 
| Canal | channel\_max\_per\_node | 
| Cola | cluster\_queue\_limit | 
| Vhost | vhost\_max | 
| Pala | runtime\_parameters.limits.shovel | 
| Exchange | cluster\_exchange\_limit | 
| Consumidor por canal | consumer\_max\_per\_channel | 
| Tamaño máximo de mensaje | max\_message\_size | 

## ¿Cómo anular los límites de recursos
<a name="override-resource-limits"></a>

Puede anular los límites de recursos mediante la API de Amazon MQ y la consola Amazon MQ.

El siguiente ejemplo muestra cómo anular el límite predeterminado del recuento de colas mediante: AWS CLI

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

Una invocación correcta crea una revisión de la configuración. Debe asociar la configuración a su corredor RabbitMQ y reiniciar el corredor para aplicar la anulación. Para obtener más información, consulte [RabbitMQ Broker Configurations](rabbitmq-broker-configuration-parameters.md) 

## Soporte de la sección específica de la instancia en la configuración
<a name="section-support-configuration-data"></a>

Con RabbitMQ 4, Amazon MQ admite secciones en los datos de configuración. Las secciones le permiten definir los límites de recursos específicos de la instancia dentro de una única configuración. Cada sección corresponde a una combinación específica de tipo de instancia y modo de implementación. Al asociar la configuración a un agente, Amazon MQ aplica automáticamente la sección correspondiente al tipo de instancia y al modo de despliegue del agente.

**importante**  
El soporte de secciones solo está disponible en RabbitMQ 4. Si intenta aplicar una configuración que contiene secciones a un corredor de RabbitMQ 3, la API devuelve un. `BadRequestException`

**Sintaxis de sección**

Las secciones se delimitan mediante dobles corchetes con el siguiente formato:

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

El `mode` valor indica el modo de despliegue:
+ `1`— Broker de instancia única
+ `3`— Broker de clústeres

Cualquier otro valor de modo no es válido y la API devuelve un error.

En el siguiente ejemplo, se muestran los datos de configuración con secciones para dos tipos de instancias diferentes:

```
connection_max = 1000

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

{{m7g.xlarge.3}}
connection_max = 4000
{{m7g.xlarge.3}}
```

**Claves de configuración permitidas en las secciones**

Solo se admiten las siguientes claves de configuración de límites de recursos dentro de una sección. Si se añade cualquier otra clave de configuración dentro de una sección, se produce un error de 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`

**Reglas de prioridad de sección**

Cuando una clave de configuración aparece tanto en la sección genérica (de nivel superior) como en la sección específica de la instancia, prevalece el valor que aparece más adelante en los datos de configuración. Por ejemplo, aplicar la siguiente configuración a un `m7g.large` agente de clústeres establece lo siguiente: `connection_max` `2000`

```
connection_max = 1000

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

Al invertir el orden, se establece `connection_max` en`1000`, porque el valor genérico es el último:

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

connection_max = 1000
```

**nota**  
Si los datos de configuración no definen valores para un tipo de instancia concreto, Amazon MQ aplica los valores predeterminados.

**Ejemplos**

Los siguientes ejemplos muestran cómo crear una configuración con secciones y asociarla a un agente mediante el AWS CLI.

*Para actualizar una configuración con secciones*

Ejecuta el siguiente comando para actualizar una configuración con límites de recursos específicos de la instancia para varios tipos de instancias:

```
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)"
```

Esta configuración define los siguientes valores:
+ Valores predeterminados genéricos: `connection_max = 1000` y `channel_max_per_node = 64`
+ `m7g.large`corredores de clústeres: `connection_max = 2000` y `channel_max_per_node = 128`
+ `m7g.xlarge`corredores de clústeres: `connection_max = 4000` y `channel_max_per_node = 256`

*Para asociar la configuración a un intermediario*

Tras actualizar la configuración, asóciela a su agente y reinícielo para aplicar los cambios. Use el siguiente comando:

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

## Errores de anulación del límite de recursos
<a name="resource-limit-override-errors"></a>

Al asociar o crear un corredor con valores de configuración fuera del rango admitido, se produce una respuesta de error similar a la siguiente:

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

Para ver los valores predeterminados y los rangos máximos admitidos por tipo de instancia y modo de implementación, consulte [Límites de recursos predeterminados](rabbitmq-resource-limits-configuration.md) y[Límite máximo de recursos de Amazon MQ para RabbitMQ](rabbitmq-resource-hard-limit.md).