A alteração do registro de alias do AWS Route 53 demora muito

5

Eu configurei uma pilha no AWS Cloudformation, que está em funcionamento. A pilha contém um ELB (balanceador de carga) e algumas instâncias do EC2. Quando fazemos uma nova implantação de nosso aplicativo, criamos um novo ambiente e excluímos o antigo. Portanto, temos que atualizar o registro de DNS no Rota 53. Eu estou querendo saber quanto tempo a pilha antiga deve permanecer viva.

Eu segui os documentos da AWS para usar um subdomínio sem migrar o domínio pai . Os registros NS do domínio pai (em direção ao DNS da AWS) têm um TTL de 3600 . Dentro do Route 53, eu configurei um registro A com um alias para o balanceador de carga na pilha (não posso definir um TTL aqui).

Não consigo inserir um TTL para o registro de alias no console da AWS. Algumas fontes, no entanto, dizem que a mudança pode levar a 60 segundos .

Eu fiz alguns testes localmente, para verificar quanto tempo leva para o DNS pegar a nova pilha. Este é o tempo entre a atualização do registro DNS do alias no Route 53 e a capacidade de alcançar a nova pilha no meu navegador:

  • Experimente # 1: ~ 4 minutos
  • Experimente # 2: ~ 9 minutos
  • Experimente # 3: ~ 7 minutos
  • Experimente # 4: ~ 15 minutos

Não deveria ser menos de 60 segundos? Qual é o tempo máximo que isso pode levar para todos os clientes? É possível reduzir esse tempo? Qual é o momento seguro para excluir a pilha antiga?

    
por dbroeks 14.08.2014 / 14:50

1 resposta

6

Em primeiro lugar, é importante reconhecer que os registros DNS armazenados em cache no cliente ou no seu resolvedor de DNS estão fora de seu controle (note que estou me referindo aos registros DNS e não ao seu servidor de nomes autoritativo). Portanto, cabe ao cliente e ao seu resolvedor de DNS honrar seu TTL.

No caso de um novo visitante que nunca visitou seu site antes e cujo resolvedor de DNS não armazenou seus registros em cache (ou visitou há muito tempo que o cache expirou), ele verá os novos registros imediatamente.

Shouldn't this be under 60 seconds?

Deveria, mas apenas se o seu cliente honrar o TTL. Alguns clientes têm TTLs mínimos e algumas redes também têm um resolvedor de DNS que pode estar armazenando resultados em cache.

Is it possible to reduce this time?

Você tem que lembrar que a maioria de seus visitantes (assumindo que este é um site público) não estará lá carregando seu site em intervalos de poucos segundos como você fez. A maioria de seus visitantes provavelmente não terá visitado o site recentemente e seu resolvedor de DNS pode não ter os registros em seu cache. A maioria dos resolvedores de DNS deve respeitar seu TTL, mas você não pode garantir isso.

What is a safe time to delete the old stack?

É melhor julgar isso pelo tráfego que ainda está sendo atendido pela pilha antiga em vez de pelo DNS TTL. Se você estiver usando o ELB, poderá visualizar quantas solicitações por segundo estão sendo atendidas pelo antigo ELB no cloudwatch. Espere até que isso caia abaixo de um nível aceitável e exclua-o.

Para ver a nova pilha imediatamente após o switch, eu recomendo apenas limpar manualmente o cache DNS local. Deixar o seu próprio cliente para expirar os registros naturalmente para ver quanto tempo leva provavelmente não será indicativo de quanto tempo leva para outros clientes.

Editar, observei que o DNS público do Google tem uma ferramenta para permitir que você esvazie o cache:

link

Isso pode acelerar as coisas, já que uma proporção significativa de clientes provavelmente usará isso.

    
por 16.08.2014 / 02:59