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!
Nenhum comentário:
Postar um comentário