Valores configuráveis para o RabbitMQ no Amazon MQ
Você pode definir o valor das opções de configuração do agente a seguir modificando o arquivo de configuração do agente no AWS Management Console.
Configuração | Valor padrão | Valores recomendados | Valores | Versões aplicáveis | Descrição |
---|---|---|---|---|---|
consumer_timeout | 1.800.000 ms (30 minutos) | 1.800.000 ms (30 minutos) | De 0 a 2.147.483.647 milissegundos. O Amazon MQ aceita o valor 0, que significa “infinito”. | Todas as versões | Um tempo limite na confirmação da entrega do consumidor para detectar quando os consumidores não confirmam as entregas. |
heartbeat | 60 segundos | 60 segundos | De 60 a 3.600 segundos | Todas as versões | Define o tempo antes de uma conexão ser considerada indisponível pelo RabbitMQ. |
management.restrictions.operator_policy_changes.disabled | true | true | true, false | 3.11 e posterior | Desabilita a realização de alterações nas políticas do operador. Se você fizer essa alteração, é altamente recomendável incluir as propriedades de HA em suas próprias políticas de operador. |
quorum_queue.property_equivalence.relaxed_checks_on_redeclaration | true | true | true, false | 3.13 e posterior | Quando definido como TRUE, a aplicação evita uma exceção do canal ao redeclarar uma fila de quórum. |
secure.management.http.headers.enabled | true para agentes na versão 3.10 criados em ou após 9 de julho de 2024. false para agentes criados antes de 9 de julho de 2024. |
true | true ou false | 3.10 e posterior | Habilita cabeçalhos de segurança HTTP não modificáveis. |
Configurar uma confirmação de entrega do consumidor
Você pode configurar o consumer_timeout
para detectar quando os consumidores não confirmarem as entregas. Se o consumidor não enviar uma confirmação dentro do tempo limite, o canal será fechado. Por exemplo, se você estiver usando o valor padrão de 1.800.000 milissegundos, se o consumidor não enviar uma confirmação de entrega dentro de 1.800.000 milissegundos, o canal será fechado.
Configurar pulsação
Você pode configurar um tempo limite de pulsação para descobrir quando as conexões foram interrompidas ou falharam. O valor da pulsação define o limite de tempo antes de uma conexão ser considerada inativa.
Configurar políticas do operador
A política de operador padrão em cada host virtual tem as seguintes propriedades de HA recomendadas:
{ "name": "default_operator_policy_AWS_managed", "pattern": ".*", "apply-to": "all", "priority": 0, "definition": { "ha-mode": "all", "ha-sync-mode": "automatic" } }
Alterações nas políticas do operador por meio do AWS Management Console ou da API de gerenciamento não estão disponíveis por padrão. Você pode ativar as alterações adicionando a seguinte linha à configuração do agente:
management.restrictions.operator_policy_changes.disabled=false
Se você fizer essa alteração, é altamente recomendável incluir as propriedades de HA em suas próprias políticas de operador.
Configurar verificações flexíveis na declaração de filas
Se você migrou filas clássicas para filas de quórum, mas não atualizou o código do cliente, é possível evitar uma exceção do canal ao redeclarar uma fila de quórum configurando a definição quorum_queue.property_equivalence.relaxed_checks_on_redeclaration
como true.
Configurar cabeçalhos de segurança HTTP
A configuração secure.management.http.headers.enabled
habilita os seguintes cabeçalhos de segurança HTTP:
-
X-Content-Type-Options: nosniff:
impede que os navegadores realizem a detecção de conteúdo, algoritmos usados para deduzir o formato dos arquivos dos sites. -
X-Frame-Options: DENY:
impede que alguém incorpore o plug-in de gerenciamento em um quadro em seu próprio site para enganar outras pessoas. -
Strict-Transport-Security: max-age=47304000; includeSubDomains:
obriga os navegadores a usarem HTTPS ao fazer conexões subsequentes ao site e seus subdomínios por um longo período (1,5 ano).
Os agentes do Amazon MQ para RabbitMQ criados nas versões 3.10 e posteriores terão a configuração secure.management.http.headers.enabled
definida como true
por padrão. Você pode habilitar esses cabeçalhos de segurança HTTP configurando secure.management.http.headers.enabled
como true
. Se você deseja desabilitar esses cabeçalhos de segurança HTTP, defina secure.management.http.headers.enabled
como false
.