Compartilhar via


Criando uma VM no Windows Azure com PowerShell

Olá pessoal,

Hoje vou comentar sobre como criar uma VM no Windows Azure utilizando comandos PowerShell.

Neste post vou criar uma VM à partir de uma image. Eu também poderia utilizar um disco existente, mas vou deixar para outro post. Então, a primeira coisa à ser feita, é identificar qual a imagem que será utilizada. Para facilitar, o Windows Azure possui um cmdlet chamado Get-AzureVMImage, que traz a lista de todas as imagens que podem ser utilizadas. Devemos utilizar o conteúdo do retorno da propriedade ImageName para indicar qual imagem será utilizada na criação da nossa VM.

Devemos em seguida, criar uma nova configuração de VM através do cmdlet New-AzureVMConfig. Para este comando, devemos informar o nome da máquina, seu tamanho e o nome da imagem que deve ser utilizada.

O próximo passo é adicionar informação de provisionamento do sistema operacional, indicando se é uma imagem Windows ou Linux, como também nome do usuário administrador e sua senha.

Por último, efetivamos a criação da VM através do cmdlet New-AzureVM, informando o nome do Cloud Services e também sua localização. Abaixo vemos um script completo de criação de uma VM utilizando os cmdlets acima através da estrutura de pipe do PowerShell:

#Get-AzureVMImage | Select ImageName

 

$imageName
=
"a699494373c04fc0bc8f2bb1389d6106__Win2K8R2SP1-Datacenter-201306.01-en.us-127GB.vhd"

$user
=
"<SeuUsuario>"

$password
=
"<SuaSenha>"

 

New-AzureVMConfig
-Name
"<NomeDaSuaMaquina>"
-InstanceSize
"Small"
-ImageName
$imageName
|

Add-AzureProvisioningConfig
-Windows
-AdminUsername
$user
-Password
$password
|

New-AzureVM
-ServiceName
"<NomeDoSeuServico>"
-Location
"East US"

 

Uma variação desse script pode ser a criação de uma segunda máquina no mesmo Cloud Service, onde deve ser informado o nome da VM, o mesmo nome de Cloud Service e deve ser omitido o parâmetro de localidade, afinal o Cloud Service já existe. Uma possibilidade interessante pode ser o uso do parâmetro –WaitForBoot, onde o PowerShell somente retornaria depois que a VM estivesse no ar.

#Get-AzureVMImage | Select ImageName

 

$imageName
=
"a699494373c04fc0bc8f2bb1389d6106__Win2K8R2SP1-Datacenter-201306.01-en.us-127GB.vhd"

$user
=
"<SeuUsuario>"

$password
=
"<SuaSenha>"

 

New-AzureVMConfig
-Name
"<NomeDaSuaSegundaMaquina>"
-InstanceSize
"Small"
-ImageName
$imageName
|

Add-AzureProvisioningConfig
-Windows
-AdminUsername
$user
-Password
$password
|

New-AzureVM
-ServiceName
"<NomeDoSeuServico>"
–WaitForBoot

 

Além disso, também seria possível realizar outras configurações na VM, como adicionar discos através do cmdlet Add-AzureDataDisk ou endpoints utilizando o cmdlet Add-AzureEndpoint.

 

RG

Comments

  • Anonymous
    July 05, 2013
    Dicas muito úteis. Scripts PowerShell permitem automatizar diversos cenários, tanto para desenvolvimento quanto para infra.