Utilizando IP Fixo em Maquinas Virtuais no Windows Azure

Um novo recurso que se tornou disponivel nas novas versões do PowerShell para o Windows Azure são os comandos “StaticVNetIP”. Você pode baixar a nova versão em http://www.windowsazure.com/pt-br/downloads/#cmd-line-tools

Estes comandos permitem que se fixe o IP dentro do range da rede virtual que você já tenha definido, permitindo assim que consiga garantir o IP de cada VM sem a necessidade de fazer o “Start” na ordem fixa todas as vezes.

Passo 1: Saiba os Riscos e Gerencie Seus IPs

Antes de iniciarmos, é importante ressaltar que não há suporte se houver problemas (http://msdn.microsoft.com/en-us/library/windowsazure/jj156090.aspx#BKMK_IPAddressDNS):

“Use DHCP-leased addresses (this is mandatory — static addresses are NOT supported)

Portanto, antes de começar a designar IPs fixos as suas VMs, lembre de manter uma lista dos IPs definidos!

Além disso, não utilize IPs que não estejam no range da sua rede virtual. Por exemplo, a minha rede tem o range 10.0.1.4 a 254 e se eu fixar o IP 10.0.2.4 a uma VM, ele ficará incomunicável e precisará ser excluida.

image

 

Passo 2: Registrar a Assinatura no PowerSell

Este passo é permanente, e basta executar o comando Add-AzureAccount que irá abrir uma janela de autenticação e importará os dados da sua assinatura:

Capture

Para verificar se importou com sucesso use o comando Get-AzureSubscription que retornará os dados da assinatura registrada:

image

Caso precise remover uma assinatura que tenha utilizado no passado para teste, o comando Remove-AzureSubscription é indicado. Se necessário, precisará redefinir sua assinatura padrão, o comando abaixo redefinirá o default:

image

 

Passo 3: Registre o IP de cada VM

Para registrar os IPs lembre-se do que foi comentado no início, é necessário que eles estejam no range da rede virtual que você tenha definido, senão a VM não poderá mais ser acessada e ficará incomunicável.

O comando que utilizaremos para fixar o IP não trabalha com strings, o primeiro passo é usar o comando Get-AzureVM para retornar em uma variável o PermanentID da VM desejada:

image

O comando acima procura a VM “W2012-Exch-3” no catálogo e retorna o ID, e o comando Set-AzureStaticVNetIP abaixo fixa o IP:

image

Obs: Pode-se usar o “pipe |” para executar os comandos na mesma linha se desejado

Porem, note que o comando acima não foi confirmado, apenas como que simulado. O correto é utilizar o Update-AzureVM na sequência para confirmar a alteração, como um commit.

Sendo assim, a sequencia de comandos para alterar as VMs seria como o exemplo abaixo:

image

Note que neste exemplo 3 diferentes VMs tiveram seus IPs fixados e é possivel com o comando Get-AzureStaticVNetIP consultar se a VM fixou o IP desejado:

image

Por fim, ao verificar o escopo de rede no Azure, pode-se ver que as maquinas reiniciadas receberam o IP que fixamos:

ListaIPs