View a markdown version of this page

Configuración de límite de recursos - Amazon MQ

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

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, consulteDirectrices de dimensionamiento de Amazon MQ para RabbitMQ.

Nombres de recursos y claves de configuración

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

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

Soporte de la sección específica de la instancia en la configuración

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 en1000, 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.largecorredores de clústeres: connection_max = 2000 y channel_max_per_node = 128

  • m7g.xlargecorredores 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

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 yLímite máximo de recursos de Amazon MQ para RabbitMQ.