Atualizar DNS (Flush DNS) automaticamente em Azure Cloud Services (PaaS)
Por: Leonardo Villar
Eu trabalhei em um caso onde, por um motivo em especifico, era necessária a execução do comando “Flush DNS” nas instancias de um Cloud Services PaaS a cada 8 horas. E isso é completamente possível, porém, tendo em vista que estamos falando de Cloud Services PaaS e nós sabemos que elas são Stateless (não mantém configurações manuais), nós vamos utilizar Startup Tasks e o Task Scheduler to Windows para completar essa tarefa. Por favor, siga os passos a seguir:
Você terá que:
1. Criar um arquivo .cmd com o nome "flushdns.cmd" contendo o comando de Flush DNS (ipconfig /flushdns) e qualquer outro que você queira ou precise.
2. Criar outro arquivo .cmd com o nome "task-flushdns.cmd" contendo o comando para configurar o Task Scheduler para executar o arquivo "flushdns.cmd" (que criamos no passo acima) a cada 8 horas.
Comando:
Schtasks /create /tn FlushDNS /tr E:\approot\Startup\flushdns.cmd /sc hourly /mo 8 /ru System
Detalhes do commando:
a) Essa é a parte do comando que chama o arquivo flushdns.cmd: “E:\approot\Startup\flushdns.cmd”
b) Esse comando é executado com a conta de sistema (System Account): “ /rn System”
c) Depois de eplicar o passo 3, essa será a localização onde estará localizado o arquivo flushdns.cmd “E:\approot\Startup\”
3. Para a Role (Web ou Worker Role)
a) Na Solution Explorer, abaixo de Roles no seu projeto Cloud Services, clique com o botão direito na role e selecione Add>New Folder. Crie uma pasta chamada Startup
b) Clique com o botão direito na pasta Startup e selecione Add>Existing Item. Selecione os arquivos task-flushdns.cmd e flushdns.cmd e os adicione na pasta Startup
4. Crie uma Startup Task no ServiceDefinition.csdef: Agora, você terá que criar a startup task propriamente dita, para isso, você precisará adicionar as seguintes linhas no ServiceDefinition.csdef abaixo de WebRole ou WorkerRole. Para mais informações sobre Startup Tasks, veja: Run Startup Tasks in Azure.
<Startup>
<Task commandLine="task-flushdns.cmd" executionContext="elevated" taskType="simple" />
</Startup>
Nota: As configurações acima irão executar o arquivo task-flushdns.cmd que irá configurar o Windows Task Scheduler para executar o arquivo flushdns.cmd a cada 8 horas.
5. Faça um novo Deploy.
Fontes:
Flush and reset a client resolver cache using the ipconfig command