Aplicación de políticas a Amazon MQ para RabbitMQ
Es posible aplicar políticas y límites personalizados con los valores predeterminados recomendados por Amazon MQ. Si ha eliminado las políticas y los límites predeterminados recomendados y desea volver a crearlos, o ha creado vhosts adicionales y desea aplicarles las políticas y los límites predeterminados, puede seguir estos pasos.
importante
Para realizar los pasos que se indican a continuación, debe tener un usuario de agente de Amazon MQ para RabbitMQ con permisos de administrador. Puede utilizar el usuario administrador que generó cuando creó el agente por primera vez, u otro usuario que podría haber creado después. La siguiente tabla proporciona la etiqueta y los permisos de usuario administrador necesarios como patrones de expresiones regulares (regexp).
Etiquetas | Regexp Read (Lectura) | Regexp Configure (Configuración) | Regexp Write (Escritura) |
---|---|---|---|
administrator |
.* |
.* |
.* |
Para obtener más información acerca de cómo crear usuarios de RabbitMQ y administrar etiquetas y permisos de usuario, consulte Usuarios de agentes de Amazon MQ para RabbitMQ..
Para aplicar políticas y límites de anfitriones virtuales predeterminados mediante la consola web de RabbitMQ
-
Inicie sesión en la consola de Amazon MQ
. -
En el panel de navegación izquierdo, elija Brokers (Agentes).
-
En la lista de agentes, elija el nombre del agente al que desea aplicar la nueva política.
-
En la sección Connections (Conexiones) de la página de detalles del agente, elija la URL de la consola web de RabbitMQ. La consola web de RabbitMQ se abre en una nueva pestaña o ventana del navegador.
-
Inicie sesión en la consola web de RabbitMQ con el nombre y la contraseña del usuario administrador del agente.
-
En la consola web de RabbitMQ, elija Admin (Administrador) en la parte superior de la página.
-
En la página Admin (Administrador), elija Politicies (Políticas) en el panel de navegación derecho.
-
En la página Políticies (Políticas), puede ver una lista de las Políticas de usuario actuales del agente. Debajo de las políticas de usuario, expanda Add/update a policy (Agregar/actualizar una política).
-
Para crear una nueva política de agente, en Add/update a policy (Agregar/actualizar una política), haga lo siguiente:
-
En Virtual host (Anfitrión virtual), elija en el menú desplegable el nombre del vhost al que desea asociar las políticas. Para elegir el vhost predeterminado, elija /.
nota
Si no creó vhosts adicionales, no aparece la opción Virtual host (Anfitrión virtual) en la consola de RabbitMQ y las políticas se aplican únicamente al vhost predeterminado.
-
En Name (Nombre), escriba un nombre para su política, por ejemplo,
policy-defaults
. -
En Pattern (Patrón), ingrese el patrón regexp
.*
para que la política coincida con todas las colas del agente. -
En Apply to (Aplicar a), elija Exchanges and queues (Intercambios y colas) en el menú desplegable.
-
En Priority (Prioridad), ingrese un número entero mayor que todas las demás políticas aplicadas al vhost. Puede aplicar exactamente un conjunto de definiciones de políticas a las colas e intercambios de RabbitMQ en cualquier momento dado. RabbitMQ elige la política de coincidencia con el valor de prioridad más alto. Para obtener más información acerca de las prioridades de las políticas y cómo combinar políticas, consulte el tema sobre políticas
en la documentación del servidor de RabbitMQ. -
En Definition (Definición), agregue los siguientes pares clave-valor:
-
queue-mode
=lazy
. Elija String (Cadena) en el menú desplegable. -
overflow
=reject-publish
. Elija String (Cadena) en el menú desplegable.nota
No se aplica a los agentes de una sola instancia.
-
max-length
=
. Reemplacenumber-of-messages
number-of-messages
por el valor recomendado por Amazon MQ de acuerdo con el tamaño de la instancia y el modo de implementación del agente, por ejemplo,8000000
para un clústermq.m5.large
. Seleccione Number (Número) en el menú desplegable.nota
No se aplica a los agentes de una sola instancia.
-
-
Elija Add/update policy (Agregar/actualizar política).
-
-
Confirme que la nueva política aparezca en la lista de políticas de usuario.
nota
Para los agentes de clúster, Amazon MQ aplica automáticamente las definiciones de políticas
ha-mode: all
yha-sync-mode: automatic
. -
Elija Limits (Límites) en el panel de navegación.
-
En la página Límits (Límites), puede ver una lista de los límites de anfitriones virtuales actuales del agente. Debajo de los límites de anfitriones virtuales, expanda Set/update a virtual host limit (Establecer/actualizar un límite de anfitrión virtual).
-
Para crear un nuevo límite de vhost, en Set/update a virtual host limit (Establecer/actualizar un límite de anfitrión virtual), haga lo siguiente:
-
En Virtual host (Anfitrión virtual), elija en el menú desplegable el nombre del vhost al que desea asociar las políticas. Para elegir el vhost predeterminado, elija /.
-
En Limit (Límite), elija max-connections en las opciones desplegables.
-
En Value (Valor), ingrese el valor recomendado por Amazon MQ de acuerdo con el tamaño de la instancia y el modo de implementación del agente, por ejemplo,
15000
para un clústermq.m5.large
. -
Elija Set/update limit (Establecer/actualizar límite).
-
Repita los pasos anteriores y, en Limit (Límite), elija max-queues en las opciones desplegables.
-
-
Confirme que los nuevos límites aparezcan en la lista de límites de anfitriones virtuales.
Para aplicar políticas y límites de anfitriones virtuales predeterminados mediante la API de administración de RabbitMQ
-
Inicie sesión en la consola de Amazon MQ
. -
En el panel de navegación izquierdo, elija Brokers (Agentes).
-
En la lista de agentes, elija el nombre del agente al que desea aplicar la nueva política.
-
En la sección Connections (Conexiones) de la página del agente, anote la URL de la consola web de RabbitMQ. Este es el punto de enlace del agente que se utiliza en una solicitud HTTP.
-
Abra un terminal nuevo o la ventana de línea de comandos que desee.
-
Para crear una nueva política de agente, ingrese el comando
curl
. Este comando asume que hay una cola en el vhost/
predeterminado, que está codificado como%2F
. Para aplicar la política a otro vhost, reemplace%2F
por el nombre del vhost.nota
Reemplace
username
ypassword
por sus credenciales de inicio de sesión de administrador. Reemplacenumber-of-messages
por el valor recomendado por Amazon MQ de acuerdo con el tamaño de la instancia y el modo de implementación del agente. Reemplacepolicy-name
por un nombre para su política. Reemplacebroker-endpoint
por la URL que anotó anteriormente.curl -i -u
username
: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
-
Para confirmar que se haya agregado la nueva política a las políticas de usuario de su agente, ingrese el comando
curl
para ver una lista de todas las políticas de agente.curl -i -u
username
:password
broker-endpoint
/api/policies -
Para crear un nuevo límite de anfitrión virtual
max-connections
, ingrese el comandocurl
. Este comando asume que hay una cola en el vhost/
predeterminado, que está codificado como%2F
. Para aplicar la política a otro vhost, reemplace%2F
por el nombre del vhost.nota
Reemplace
username
ypassword
por sus credenciales de inicio de sesión de administrador. Reemplacemax-connections
por el valor recomendado por Amazon MQ de acuerdo con el tamaño de la instancia y el modo de implementación del agente. Reemplace el punto de enlace del agente por la URL que anotó anteriormente.curl -i -u
username
:password
-H "content-type:application/json" -XPUT \ -d '{"value":"number-of-connections
"}' \broker-endpoint
/api/vhost-limits/%2F/max-connections -
Para crear un nuevo límite de anfitrión virtual
max-queues
, repita el paso anterior, pero modifique el comando curl como se muestra a continuación.curl -i -u
username
:password
-H "content-type:application/json" -XPUT \ -d '{"value":"number-of-queues
"}' \broker-endpoint
/api/vhost-limits/%2F/max-queues -
Para confirmar que los nuevos límites se agreguen a los límites de anfitriones virtuales de su agente, ingrese el comando
curl
para ver una lista de todos los límites de anfitriones virtuales del agente.curl -i -u
username
:password
broker-endpoint
/api/vhost-limits