O Ops Manager pode girar certificados TLS em uma implantação gerenciada sem reiniciar os processos do MongoDB . Quando você incrementa o certificatesVersion campo na Configuração de automação, o MongoDB Agent executa db.adminCommand({ rotateCertificates: 1 }) em cada processo elegível em vigor, para que as conexões do cliente permaneçam ininterruptas durante toda a operação.
Elegibilidade
O MongoDB Agent aplica uma rotação com tempo de inatividade zero somente a processos que atendem a todos os seguintes requisitos:
A versão do MongoDB é 5.0 ou posterior.
O TLS está configurado no processo.
Todos os membros da implantação atendem aos requisitos acima.
O MongoDB Agent não pode aplicar rotação de tempo de inatividade zero a um processo em nenhuma das seguintes categorias. Na interface do usuário do Ops Manager, a caixa de seleção para uma implantação não elegível está desativada. Por meio da API de automação, o Ops Manager rejeita uma atualização de configuração para uma implantação não elegível com um erro HTTP 400 explicando o motivo:
Condição | Comportamento |
|---|---|
Versão do MongoDB anterior a 5.0 | Não selecionável na interface do usuário do Ops Manager. A API de automação rejeita a atualização da configuração com um erro HTTP 400. |
TLS não configurado | Não selecionável na interface do usuário do Ops Manager. A API de automação rejeita a atualização da configuração com um erro HTTP 400. |
BI Connector ou | Não selecionável na interface do usuário do Ops Manager. A API de automação rejeita a atualização da configuração com um erro HTTP 400. |
A mudança de caminho doTLS coincide com a rotação | A reinicialização contínua lida com a alteração de caminho. O gerente de operações registra a rotação como concluída. |
Importante
A rotação zero-inatividade exige que todos os processos da implementação atendam aos requisitos de elegibilidade. Se algum processo não se qualificar, use o método existente: navegue até Deployment, Security, Settings, TLS Settings, atualize o caminho do certificado e acione uma reinicialização contínua por meio de Review and Deploy.
Pré-requisitos
Antes de girar certificados, verifique o seguinte:
Sua implantação é gerenciada pelo Ops Manager Automation.
O TLS está habilitado no sistema.
Seu novo certificado TLS é válido e substituído corretamente no caminho configurado original.
Rotacionar certificados TLS
Use a API de automação ou a interface do usuário do Ops Manager para acionar a rotação do certificado.
Importante
Você não pode reverter certificatesVersion para um valor anterior por meio da interface do usuário ou da API. O Ops Manager só permite que esse valor aumente.
Usar a API de automação
Para girar certificados usando a API de automação, recupere a configuração de automação atual, aumente certificatesVersion e faça o upload da configuração atualizada.
Recupere a configuração de automação atual.
Envie uma solicitação GET para o endpoint de Configuração de automação:
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" \ --digest \ --header "Accept: application/json" \ --request GET \ "https://<OpsManagerHost>/api/public/v1.0/groups/{GROUP-ID}/automationConfig"
Salve o corpo da resposta em um arquivo local, como automation-config.json.
Incremente o certificatesVersion campo.
Na array processes, localize o objeto para cada processo que você deseja girar. Aumente o número inteiro certificatesVersion por 1. Se o campo estiver ausente, adicione-o e defina-o como 1.
Para acionar a rotação no local, defina um valor maior que o valor publicado atualmente. Valores iguais não acionam a rotação. O Ops Manager rejeita decrementos HTTP 400 INVALID_AUTOMATION_CONFIG com. Para regras de validação de campo , consulte Processos MongoDB .
Carregue a configuração de automação atualizada.
Envie uma solicitação PUT com a configuração modificada:
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" \ --digest \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --request PUT \ --data @automation-config.json \ "https://<OpsManagerHost>/api/public/v1.0/groups/{GROUP-ID}/automationConfig"
Usar a UI do Ops Manager
Para girar certificados usando a interface do usuário do Ops Manager, navegue até as configurações de TLS do seu projeto e selecione os sistemas para girar.
Estado e durabilidade da rotação
O MongoDB Agent persiste o resultado de cada rotação para que ele sobreviva às reinicializações do agente e retome de onde parou.
O Ops Manager registra um evento TLS_CERTIFICATES_ROTATED no feed de atividades do projeto toda vez que uma atualização da Configuração de automação gira certificados em um ou mais processos. Use este evento para auditar o histórico de rotação do certificado.
Comportamento de Repetir
Se o comando rotateCertificates falhar, o MongoDB Agent retornará o código de erro 128 (TlsCertificatesRotationErr). O Ops Manager exibe "Erro de rotação do certificado TLS" no painel Status da automação e reagendar a etapa no próximo teste de convergência. Corrija o arquivo de certificado no disco para resolver o erro.
Se o comando for bem-sucedido, mas o MongoDB Agent não puder persistir o resultado, ele tentará novamente automaticamente.
Como o agente aplica a rotação
Quando o MongoDB Agent detecta um certificatesVersion incrementado na Configuração de automação, ele verifica cada processo elegível em relação aos requisitos de elegibilidade e executa db.adminCommand({ rotateCertificates: 1 }).