
Preciso alterar o endereço IP de um servidor web de produção. Eu queria saber se isso é possível fazer sem tempo de inatividade. As etapas que pensei que funcionariam foram:
- Reserve um novo endereço IP estático
- Adicione o endereço IP ao DNS do domínio que estou trocando
- Implante a configuração do Kubernetes que usa o novo IP estático
- Remova a entrada DNS antiga
- Cancelar a reserva do antigo endereço IP estático
Devo esperar que isso funcione? Se nada estiver escutando do outro lado do novo endereço IP, a maioria das coisas simplesmente muda para o outro endereço IP? Ou eles falham muito?
Responder1
A frase-chave da sua pergunta é "sem tempo de inatividade" e a resposta para sua configuração aparente é "não". Vamos supor que seu servidor web de produção seja production.example.com
.
Aqui está a linha do tempo em sua postagem original:
- Adicione o endereço IP ao DNS do domínio que estou trocando
Qual é o FQDN que você está adicionando neste momento? Se não for o production.example.com
endereço, então este novo registro A não está fazendo nada para facilitar o roteamento do tráfego para o seu novo IP. Se issoéo registro A para production.example.com
então seu TTL entrará em jogo. Normalmente defino o meu para 300 (5 minutos), mas isso não significa que você tem 5 minutos para executar a etapa 3. Assim que o novo endereço começar a se propagar para seus clientes, eles começarão a tentar enviar solicitações HTTP no novo IP.
- Implante a configuração do Kubernetes que usa o novo IP estático
Depois de fazer isso e reiniciar o servidor da Web, todas as sessões TCP atuais serão interrompidas, o que implica que qualquer solicitação HTTP(s) em andamento falhará.
Quanto à sua pergunta "Se nada estiver escutando do outro lado do novo endereço IP, a maioria das coisas simplesmente muda para o outro endereço IP?", sim, se houvernãoAtividade HTTP, então você está bem.
Na minha experiência, o requisito de “sem tempo de inatividade” é difícil de cumprir, e por difícil quero dizer complexo e caro. O que se deve buscar é um tempo de inatividade mínimo, que pode ser alcançado com um processo sólido pelo qual você migrará o site, seja alterando um endereço IP ou movendo-o para um servidor diferente ou atualizando um banco de dados subjacente. Depois de desenvolver o processo, teste-o para ver como seu tráfego se comporta e onde suas suposições são confirmadas ou negadas. Refine o processo para atingir as métricas de tempo de inatividade que você procura e teste-o novamente. Lave, enxágue e repita.