

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Aplicar políticas ao Amazon MQ para RabbitMQ
<a name="rabbitmq-defaults-applying-policies"></a>

 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**  
 Nas versões 3.13 e inferiores do mecanismo Amazon MQ para RabbitMQ, a política atual padrão do operador é:   

```
vhost name pattern apply-to definition priority/ default_operator_policy_AWS_managed .* classic_queues {"ha-mode":"all","ha-sync-mode":"automatic","queue-version":2} 0
```
 Nas versões 4.0 e superiores, a política padrão do operador foi alterada para:   

```
vhost name pattern apply-to definition priority/ default_operator_policy_AWS_managed .* classic_queues {"queue-version":2} 0
```
 Essa alteração é necessária porque o espelhamento de filas clássico e as configurações de política de HA não são compatíveis com o RabbitMQ 4.   
 Não é possível criar uma política que se aplique tanto a filas clássicas espelhadas quanto a filas de quórum. Se você quiser que sua política se aplique somente a filas de quórum, defina `--apply-to` como `quorum_queues`. Se você estiver usando filas clássicas espelhadas e filas de quórum, deverá criar uma política separada com `--apply-to:classic_queues` bem como uma política de filas de quórum. 

**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 | .\$1 | .\$1 | .\$1 | 
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](rabbitmq-simple-auth-broker-users.md#rabbitmq-basic-elements-user).

**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](https://console.aws.amazon.com/amazon-mq/).

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

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

1. 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.

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

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

1. Na página **Admin**, no painel de navegação da direita, selecione **Políticas**.

1. Na página **Políticas**, você pode ver uma lista das **Políticas de usuário** atuais do agente. Abaixo das **Políticas de usuário**, expanda **Adicionar/atualizar uma política**.

1. Para criar uma política de agente, em **Adicionar/atualizar uma política**, faça o seguinte:

   1. Para o **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.

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

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

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

   1. 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](https://www.rabbitmq.com/parameters.html#policies) (Políticas) na Documentação do Servidor RabbitMQ.

   1. 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***. *number-of-messages*Substitua pelo [valor recomendado do Amazon MQ](rabbitmq-defaults.md#rabbitmq-defaults-values) de acordo com o tamanho da instância e o modo de implantação do broker, por exemplo, **8000000** para um `mq.m7g.large` cluster. Selecione **Number (Número)** na lista suspensa.
**nota**  
Não se aplica aos agentes de instância única.

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

1. 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`.

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

1. 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)**.

1. 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 **/**.

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

   1. Para **Value (Valor)**, insira o [Amazon MQ recommended value (Valor recomendado pelo Amazon MQ)](rabbitmq-defaults.md#rabbitmq-defaults-values) 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`.

   1. Selecione **Set/update limit (Definir/atualizar limite)**.

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

1. 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](https://console.aws.amazon.com/amazon-mq/).

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

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

1. 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.

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

1. 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 *username* e *password* por suas credenciais de login de administrador. *number-of-messages*Substitua pelo [valor recomendado do Amazon MQ](rabbitmq-defaults.md#rabbitmq-defaults-values) de acordo com o tamanho da instância e o modo de implantação do broker. *policy-name*Substitua por um nome para sua política. *broker-endpoint*Substitua pelo 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
   ```

1. 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
   ```

1. 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 *username* e *password* por suas credenciais de login de administrador. *max-connections*Substitua pelo [valor recomendado do Amazon MQ](rabbitmq-defaults.md#rabbitmq-defaults-values) de acordo com o tamanho da instância e o modo de implantação do broker. 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
   ```

1. 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
   ```

1. 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
   ```