Publicação

Microsoft Azure - Criando Máquinas Virtuais via Power Shell

foto de
Fábio Nascimento

Olá,

Continuando os estudos na plataforma azure, no tutorial de hoje é sobre como criar vms no Azure usando o PowerShell.

Neste tutorial vou abusar das variáveis para armazenar as informações, como o processo é um pouco longo, vou separar bem passo a passo para que fique bem claro.

Passo 1- Se logar na conta do Azure:

             Login-AzureRmAccount

Passo 2 - Criar a uma variável para armazenar a localização e procurar os Publishers disponíveis nessa localização:

            $loc="canadacentral"

            Get-AzureRMVMImagePublisher -Location $locat | Select PublisherName


Passo 3 - Criar uma variável para armazenar o publisher escolhido e um comando para verificar o que é oferecido por esse publisher nesta localização:

           $pub="MicrosoftWindowsServer"

          Get-AzureRMVMImageOffer -Location $locat -Publisher $pub | Select Offer

Passo 4 - Criar variável para armazenar o Offer e verificar os Skus existentes:

            $offer="WindowsServer"

            Get-AzureRMVMImageSku -Location $locat -Publisher $pub -Offer $offer | Select Skus

Passo 5 - Criar variável para armazenar o sku. No Azure, existem modelos de máquinas pré determinadas, chamam de VmSize, então vamos verificar o as vms disponíveis nessa região e criar uma variável para armazenar a escolhida:

          $sku="2016-Datacenter"

          Get-AzureRmVMSize -Location $locat

          $vm="Standard_A2_v2"

Passo 6- Criar um IP Público para que seja possível acessar a vm pela internet:

              $rgroup="AZURE-GSTI"

              $ippub="IP-PUB-AZURE-GSTI"

              $pip = New-AzureRmPublicIpAddress -ResourceGroupName $rgroup -Location $locat -AllocationMethod Static -IdleTimeoutInMinutes 4 -Name $ippub


Passo 7 - É necessário criar um NSG (Network Security Group) que são conjuntos de configurações de segurança. Neste caso, vou criar apenas duas regras, uma para liberar a navegação web na porta 80 e outra para liberar o acesso RDP:

            $nsgrdp = New-AzureRmNetworkSecurityRuleConfig -Name Permitir_RDP -Protocol Tcp `

            -Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * `

            -DestinationPortRange 3389 -Access Allow

             $nsgweb = New-AzureRmNetworkSecurityRuleConfig -Name Permitir_WWW -Protocol Tcp `

             -Direction Inbound -Priority 1001 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * `

             -DestinationPortRange 80 -Access Allow

            $nomensg="NSG-AZURE-GSTI"

            $nsg = New-AzureRmNetworkSecurityGroup -Name $nomensg -ResourceGroupName $rgroup                        -Location  $locat -SecurityRules $nsgrdp,$nsgweb 

Passo 8 - Criar uma placa de rede com o ip público criado anteriormente:

              $nicname="NIC-AZURE-GSTI"

               $vnetinfo = Get-AzureRmVirtualNetwork -Name $vnet -ResourceGroupName $rg | Get-                                AzureRmVirtualNetworkSubnetConfig -Name "Subnets"

               $nic = New-AzureRmNetworkInterface -Name $nicname -ResourceGroupName $rgroup -Location $locat -SubnetId $vnetinfo.Id -PublicIpAddressId $pip.Id -NetworkSecurityGroupId $nsg.Id

Passo 9 - Criar um usuário:

             $usr = "fnascimento"

              $pass = ConvertTo-SecureString -String "PortalGsti123%" -AsPlainText -Force

               $credinfo = New-Object -TypeName "System.Management.Automation.PSCredential" -ArgumentList $usr,   $pass

Passo 10 - Criar/carregas as configurações da vm:

              $nomevm="VM-AZURE-GSTI"

              $configvm = New-AzureRmVMConfig -VMName $nomevm -VMSize $vm | Set-AzureRmVMOperatingSystem -Windows -ComputerName $nomevm -Credential $credinfo | Set-AzureRmVMSourceImage -PublisherName $pub -Offer $offer -Skus $sku -Version latest | Add-AzureRmVMNetworkInterface -Id $nic.Id


Passo11 - Enfim, criar a máquina virtual, indicando o grupo de recursos, localização e configuração que estão armazenadas nas variáveis:

               New-AzureRmVM -ResourceGroupName $rgroup -Location $locat -VM $configvm

Ao acessar o portal, é possível ver que o processo de criação da vm está sendo executado.

Após o término, é possível ver todas as configurações da máquina e o IP público para fazer acesso remoto.


Este foi o tutorial de criação de máquinas virtuais no Azure via PowerShell, espero que tenha sido útil.

Até a próxima!

Comentários