Eu preciso de um servidor ou serviço que reencaminha as solicitações de DNS

1

Temos dois servidores externos, Dev e Prod. Somos uma empresa de software e, no código, temos um subdomínio metrics.company.com que aponta para Prod.

O desenvolvimento é contínuo e nossos desenvolvedores e testadores internos e externos precisarão mudar de Dev para Prod e vice-versa. Não é uma opção ter um subdomínio diferente no código durante o desenvolvimento e alterá-lo para produção.

A maneira como desejamos alternar entre Dev e Prod é usar o DNS. Precisamos de um servidor DNS público que se comporta normalmente além do roteamento metrics.company.com para o Dev. Os usuários poderão trocar seu DNS de volta e avançar para acessar os diferentes servidores.

Qual é a maneira mais fácil de fazer isso? Existe uma empresa que hospeda este serviço ou eu vou ter que alugar um servidor e configurá-lo sozinho?

Qualquer ajuda seria muito apreciada.

    
por Relentim 02.08.2010 / 13:14

6 respostas

2

Temos uma configuração um pouco mais complicada, com um ambiente DEV, TEST, BETA e PROD. Eu reivindico alguns pontos extras para criar nossa solução, o que permite que os desenvolvedores construam seu código em suas estações de trabalho, implementem e trabalhem sem alterar o código.

Fazemos isso executando várias zonas DNS internas, especificamente dev.zfx, test.zfx, beta.zfx e várias zonas PROD, uma para cada datacenter. Em seguida, dependendo do ambiente em que seu código está residindo atualmente, a lista de pesquisa de DNS é configurada para fazer referência a essa zona primeiro . Então, por exemplo, eles escreverão seu código para referenciar http://blahfoo/page?paramaters=something . Em uma máquina DEV (ou em suas estações de trabalho), isso será resolvido para http://blahfoo.dev.zfx/page?parameters=something .

Há algumas ressalvas:

  1. nunca, nunca, sob nenhuma circunstância permitir que um nome exista em um dos estas zonas que existe em um dos suas zonas internas estáticas. Estes zonas devem incluir apenas estes entradas do tipo de nível de desenvolvimento.
  2. você deve trabalhar com seu servidor administradores para garantir que a lista de pesquisa está configurado como parte da compilação processo. você não vai aproveitar a vida quando eles liberam um pedaço de código em seu ambiente de desenvolvimento que vai totalmente mal e mata prod porque o sistema não foi configurado corretamente.

À primeira vista, parece meio desajeitado, mas funcionou muito bem nos últimos cinco anos. Se você tiver outras dúvidas, apenas lmk.

    
por 08.08.2010 / 07:23
1

Por que não alterar seu arquivo de hosts? Verifique se o seu navegador entende a mudança, preciso reiniciar o firefox para isso (que é a lógica qiute porque então o resolvedor em FF (ou IE) é reiniciado).

    
por 02.08.2010 / 14:25
1

It is not an option to have a different sub domain in the code

Por que não é uma opção? Eu passo por esse tipo de coisa constantemente enquanto desenvolvo e resolvo o "problema" com um único #define (em C, ou equivalente em qualquer linguagem que esteja sendo usada), que define o ambiente de desenvolvimento e é simplesmente comentado pela versão de produção . Rechear o DNS para esse tipo de coisa não é apenas introduzir um nível de complexidade indesejável e propenso a erros, mas também não deve ser necessário.

No entanto, se você realmente quiser perseguir essa idéia estranha, por que não apenas configurar um servidor DNS adicional, com as informações de zona que deseja para a versão dev e dizer ao seu sistema operacional para usar qualquer servidor DNS em um determinado momento.

    
por 02.08.2010 / 15:01
0

Você provavelmente terá problemas para fazer isso com um servidor DNS. Todos os registros DNS têm um TTL (time-to-live) anexado e os clientes (e os servidores DNS intermediários) armazenam em cache os registros de nome para esse tempo, para que não precisem consultar o servidor DNS o tempo todo. Durante esse período, os registros antigos serão reutilizados, a menos que você a) force o cliente a descartar seu cache eb) certifique-se de consultar diretamente o servidor autoritativo desse domínio (caso contrário, seu servidor DNS padrão exibirá um registro em cache e você não tem controle sobre isso).

Uma situação muito mais fácil é provavelmente adicionar registros específicos para esses domínios / subdomínios ao seu arquivo de hosts locais (no Windows isso é normalmente em C: \ Windows \ system32 \ drivers \ etc \, no linux está em / etc / ). Os usuários podem simplesmente (des) comentar as linhas que precisam para mudar de um servidor para outro.

Dito isto, parece estranho que o sub-domínio não possa ser implementado como uma opção em tempo de execução.

    
por 02.08.2010 / 14:28
0

Eu mudaria os servidores DNS, não o código ou os registros DNS.

Dependendo de como você configurou as coisas, você pode alterar o resolv.conf nos hosts, alterar as informações de concessão do DHCP ou alterar o encaminhador para o servidor DNS que você está usando.

Configure dois servidores DNS para serem autoritativos para os registros que você está procurando; um servidor DNS com os devs IPs e outro servidor DNS com os IPs de produção.

Apenas mantenha os TTLs curtos para ambos os servidores.

    
por 02.08.2010 / 17:09
-2

Se você puder ter seu DNS externo, poderá usar o CloudFlare para DNS. Você pode definir muito curto TTL e se você rotear o site através de seu CDN, as alterações de DNS são instantâneas, porque é basicamente apenas uma configuração para seu proxy.

/ Michael

    
por 26.06.2012 / 16:48