Criação de Templates de VM no Azure

Criar templates de VMs no Azure é um processo bem simples, basta selecionar a VM no portal de administração e, então, “Capturar”: http://azure.microsoft.com/pt-br/documentation/articles/virtual-machines-capture-image-windows-server/

Apesar de um procedimento simples, eu apanhei de alguns detalhes técnicos que é importante ressaltar:

  • O artigo fala para sempre rodar a ferramenta Sysprep antes de criar a imagem. A intenção disso é apagar qualquer configuração específica da VM e torná-la “genérica”. Isso é muito útil quando se quer realmente extrair a imagem de uma maquina e criar outra igual na mesma rede sem que a nova maquina não conflite com a anterior por causa de IP, etc… Ne entanto, da maneira que usamos as VMs isso não tão interessante, pois pode apagar usuários que já configuramos, etc;
  • Outra coisa, se tiver AD configurado na VM, rodar o sysprep irá inutilizar a máquina. O Azure irá permitir criar uma imagem apartir de uma VM com AD que rodou sysprep. No entando ao mandar criar uma VM apartir desse imagem, o VM fica infinitamente no estado provisionando, até dar timeout. Isso é um problema conhecido: http://stackoverflow.com/questions/21468549/windows-azure-stuck-on-running-provisioning-when-creating-vm-from-custom-cre
  • No dialogo de capturar imagem, se marcar a opção indicando que o sysprep foi executado na VM, após a geração da imagem, a VM será deletada. Isso realmente faz sentido, visto que ao rodar sysprep a maquina fica limpa, sem qualquer configuração. Contudo se não tiver rodado o sysprep na VM, não marque essa opção, senão sua VM será apagada;

Resumindo:

Para nosso uso mais comum, acredito que a melhor abordagem é mandar capturar a VM, sem rodar o sysprep (não marcar a opção no dialogo de captura de imagem).
A VM original será mantida e nos casos em que tem AD, não teremos problemas.

Como nesse caso as configurações da maquina não serão limpas, para evitar conflitos entre as máquinas, sempre crie um novo Cloud Service ao instanciar a VM. Isso irá garantir o isolamento da nova VM de outras.

Fique sempre atento caso vá utilizar um Cloud Service existente, verifique se já não existe outra VM dentro desse Cloud Service com as mesmas configurações da máquina (Nome, IP, etc).

O mesmo se aplica a Virtual Networks. Caso vá instanciar uma VM de uma imagem gerada apartir de outra maquina que já se encontra na Virtual Network, conflitos de nome e IP poderão acontecer.