Aplicar políticas ao Amazon MQ para RabbitMQ - Amazon MQ

Aplicar políticas ao Amazon MQ para RabbitMQ

Você pode aplicar políticas e limites personalizados com valores padrão recomendados pelo Amazon MQ. Se você excluiu as políticas e limites padrão recomendados e deseja recriá-los, ou se tiver criado vhosts adicionais e quiser aplicar as políticas e limites padrão aos novos vhosts, você pode usar as etapas a seguir.

Importante

Para executar as etapas a seguir, é necessário ter um usuário do agente do Amazon MQ para RabbitMQ com permissões de administrador. Você pode usar o usuário administrador criado quando criou o agente pela primeira vez ou outro usuário que você possa ter criado posteriormente. A tabela a seguir fornece a etiqueta de usuário administrador necessária e as permissões como padrões de expressão regular (regexp).

Etiquetas Ler regexp Configurar regexp Escrever regexp
administrator .* .* .*

Para obter mais informações sobre criar usuários RabbitMQ e gerenciar etiquetas e permissões de usuário, consulte Usuários do agente do Amazon MQ para RabbitMQ.

Para aplicar políticas padrão e limites de host virtual usando o console da Web RabbitMQ
  1. Faça login no console do Amazon MQ.

  2. No painel de navegação à esquerda, escolha Agentes.

  3. Na lista de agentes, escolha o nome do agente ao qual você deseja aplicar a nova política.

  4. Na página de detalhes do agente, na seção Conexões, selecione a URL do Console Web do RabbitMQ. O console da Web do RabbitMQ é aberto em uma nova guia ou janela do navegador.

  5. Faça login no console da Web do RabbitMQ com o nome de usuário e a senha do administrador do agente.

  6. No console da Web do RabbitMQ, na parte superior da página, escolha Admin.

  7. Na página Admin, no painel de navegação da direita, selecione Policies (Políticas).

  8. Na página Policies (Políticas), você pode ver uma lista das User policies (Políticas de usuário) atuais do agente. Abaixo das User policies (Políticas de usuário), expanda Add/update a policy (Adicionar/atualizar uma política).

  9. Para criar uma política de agente, em Add/update a policy (Adicionar/atualizar uma política), faça o seguinte:

    1. Para o Virtual host (Host virtual), escolha o nome do vhost ao qual você deseja anexar as políticas da lista suspensa. Para escolher o vhost padrão, escolha /.

      nota

      Se você não tiver criado vhosts adicionais, a opção Virtual host (Host virtual) não aparecerá no console RabbitMQ, e as políticas serão aplicadas somente ao vhost padrão.

    2. Em Name (Nome), insira um nome para a sua política, por exemplo policy-defaults.

    3. Para Pattern (Padrão), insira o padrão de expressão regular .* para que a política corresponda a todas as filas no agente.

    4. Para Apply to (Aplicar em), escolha Exchanges and queues (Trocas e filas) na lista suspensa.

    5. Para Priority (Prioridade), insira um número inteiro maior que todas as outras políticas aplicadas ao vhost. Você pode aplicar exatamente um conjunto de definições de política a filas e trocas RabbitMQ a qualquer momento. O RabbitMQ escolhe a política correspondente com o valor de prioridade mais alto. Para obter mais informações sobre prioridades de política e como combinar políticas, consulte Policies (Políticas) na Documentação do Servidor RabbitMQ.

    6. Para Definition (Definição), adicione os seguintes pares de chave-valor:

      • queue-mode=lazy. Selecione String (String) na lista suspensa.

      • overflow=reject-publish. Selecione String (String) na lista suspensa.

        nota

        Não se aplica aos agentes de instância única.

      • max-length=number-of-messages. Substitua number-of-messages (número de mensagens) pelo Valor recomendado pelo Amazon MQ de acordo com o tamanho da instância do agente e o modo de implantação, por exemplo, 8000000 para um cluster mq.m5.large. Selecione Number (Número) na lista suspensa.

        nota

        Não se aplica aos agentes de instância única.

    7. Escolha Add/update policy (Adicionar/atualizar política).

  10. Confirme se a nova política aparece na lista de User policies (Políticas de usuário).

    nota

    Para agentes de cluster, o Amazon MQ aplica automaticamente as definições de política ha-mode: all e ha-sync-mode: automatic.

  11. No painel de navegação da direita, escolha Limits (Limites).

  12. Na página Limites você poderá ver uma lista dos Virtual host limits (Limites de host virtual) atuais do agente. Abaixo dos Limites de host virtual, expanda Set/update a virtual host limit (Definir/atualizar um limite de host virtual).

  13. Para criar um novo limite vhost, em Set/update a virtual host limit (Definir/atualizar um limite de host virtual), faça o seguinte:

    1. Para o Virtual host (Host virtual), escolha o nome do vhost ao qual você deseja anexar as políticas da lista suspensa. Para escolher o vhost padrão, escolha /.

    2. Para Limit (Limite), escolha máximo de conexões nas opções suspensas.

    3. Para Value (Valor), insira o Amazon MQ recommended value (Valor recomendado pelo Amazon MQ) de acordo com o tamanho da instância do agente e o modo de implantação, por exemplo, 15000 para um cluster mq.m5.large.

    4. Selecione Set/update limit (Definir/atualizar limite).

    5. Repita as etapas acima e, para Limit (Limite), escolha máximo de filas nas opções suspensas.

  14. Confirme se os novos limites aparecem na lista de Virtual host limits (Limites de host virtual).

Para aplicar políticas padrão e limites de host virtual usando a API de gerenciamento RabbitMQ
  1. Faça login no console do Amazon MQ.

  2. No painel de navegação à esquerda, escolha Agentes.

  3. Na lista de agentes, escolha o nome do agente ao qual você deseja aplicar a nova política.

  4. Na página do agente, na seção Connections (Conexões), anote a URL do RabbitMQ web console (Console da Web RabbitMQ). Este é o endpoint do agente que você usa em uma solicitação HTTP.

  5. Abra uma nova janela de terminal ou linha de comando de sua escolha.

  6. Para criar uma nova política de agente, insira o comando curl a seguir. Este comando assume uma fila no vhost / padrão, que é codificada como %2F. Para aplicar a política a outro vhost, substitua %2F pelo nome do vhost.

    nota

    Substitua o nome de usuário e a senha pelas suas credenciais de login de administrador. Substitua o number-of-messages (número de mensagens) com o Amazon MQ recommended value (Valor recomendado pelo Amazon MQ) de acordo com o tamanho da instância do agente e o modo de implantação. Substitua o policy-name (nome da política) por um nome para a sua política. Substitua o broker-endpoint (endpoint do agente) pela URL que você anotou 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
  7. Para confirmar se a nova política foi adicionada às políticas de usuário do seu agente, insira o seguinte comando curl para listar todas as políticas de agente.

    curl -i -u username:password broker-endpoint/api/policies
  8. Para criar um novo limites max-connections de host virtual, insira o seguinte comando curl. Este comando assume uma fila no vhost / padrão, que é codificada como %2F. Para aplicar a política a outro vhost, substitua %2F pelo nome do vhost.

    nota

    Substitua o nome de usuário e a senha pelas suas credenciais de login de administrador. Substitua max-connections (máximo de conexões) com o Amazon MQ recommended value (Valor recomendado pelo Amazon MQ) de acordo com o tamanho da instância do agente e o modo de implantação. Substitua o endpoint do agente com a URL que você anotou 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
  9. Para criar um novo limite de host virtual max-queues, repita a etapa anterior, mas modifique o comando curl conforme mostrado a seguir.

    curl -i -u username:password -H "content-type:application/json" -XPUT \ -d '{"value":"number-of-queues"}' \ broker-endpoint/api/vhost-limits/%2F/max-queues
  10. Para confirmar se os novos limites foram adicionados aos limites de host virtual do seu agente, insira o comando a seguir curl para listar todos os limites de host virtual do agente.

    curl -i -u username:password broker-endpoint/api/vhost-limits