Início Rápido :criar uma rede virtual com o PowerShell

Uma rede virtual permite que os recursos do Azure, como máquinas virtuais (VMs), comuniquem-se em privado entre si e com a internet.

Neste início rápido, vai aprender a criar uma rede virtual. Depois de criar uma rede virtual, vai implementar duas VMs na rede virtual. Em seguida, liga-se aos VMs a partir da internet e comunica-se em privado através da rede virtual.

Pré-requisitos

  • Uma conta Azure com uma subscrição ativa. Crie uma conta gratuita.
  • Azure PowerShell instalados localmente ou Azure Cloud Shell

Se optar por instalar e utilizar o PowerShell localmente, este artigo requer a versão 5.4.1 ou posterior do módulo Azure PowerShell. Execute Get-Module -ListAvailable Az para localizar a versão instalada. Se precisar de atualizar, veja Install Azure PowerShell module (Instalar o módulo do Azure PowerShell). Se estiver a executar o PowerShell localmente, também precisa de correr Connect-AzAccount para criar uma ligação com o Azure.

Criar um grupo de recursos e uma rede virtual

Há um punhado de passos que você tem que percorrer para obter o seu grupo de recursos e rede virtual configurados.

Criar o grupo de recursos

Antes de criar uma rede virtual, tem de criar um grupo de recursos para acolher a rede virtual. Criar um grupo de recursos com o New-AzResourceGroup. Este exemplo cria um grupo de recursos chamado CreateVNetQS-rg na localização Eastus :

$rg = @{
    Name = 'CreateVNetQS-rg'
    Location = 'EastUS'
}
New-AzResourceGroup @rg

Criar a rede virtual

Criar uma rede virtual com a New-AzVirtualNetwork. Este exemplo cria uma rede virtual padrão chamada myVNet na localização EastUS :

$vnet = @{
    Name = 'myVNet'
    ResourceGroupName = 'CreateVNetQS-rg'
    Location = 'EastUS'
    AddressPrefix = '10.0.0.0/16'    
}
$virtualNetwork = New-AzVirtualNetwork @vnet

Adicionar uma sub-rede

O Azure implementa recursos para uma sub-rede dentro de uma rede virtual, por isso é necessário criar uma sub-rede. Criar uma configuração de sub-rede nomeada predefinição com Add-AzVirtualNetworkSubnetConfig:

$subnet = @{
    Name = 'default'
    VirtualNetwork = $virtualNetwork
    AddressPrefix = '10.0.0.0/24'
}
$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet

Associar a sub-rede à rede virtual

Pode escrever a configuração da sub-rede para a rede virtual com o Set-AzVirtualNetwork. Este comando cria a sub-rede:

$virtualNetwork | Set-AzVirtualNetwork

Criar máquinas virtuais

Crie duas VMs na rede virtual.

Criar a primeira VM

Crie o primeiro VM com New-AzVM. Quando se dirige o próximo comando, é-nos solicitados credenciais. Introduza um nome de utilizador e senha para o VM:

$vm1 = @{
    ResourceGroupName = 'CreateVNetQS-rg'
    Location = 'EastUS'
    Name = 'myVM1'
    VirtualNetworkName = 'myVNet'
    SubnetName = 'default'
}
New-AzVM @vm1 -AsJob

A -AsJob opção cria o VM em segundo plano. Pode continuar até ao próximo passo.

Quando o Azure começar a criar o VM em segundo plano, terás algo assim de volta:

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
1      Long Running... AzureLongRun... Running       True            localhost            New-AzVM

Criar a segunda VM

Crie o segundo VM com este comando:

$vm2 = @{
    ResourceGroupName = 'CreateVNetQS-rg'
    Location = 'EastUS'
    Name = 'myVM2'
    VirtualNetworkName = 'myVNet'
    SubnetName = 'default'
}
New-AzVM @vm2

Terá de criar outro utilizador e senha. Azure leva alguns minutos para criar o VM.

Importante

Não continue com o próximo passo até que Azure termine. Saberá que é feito quando voltar a produção para o PowerShell.

Nota

O Azure fornece um IP de acesso de saída predefinido para VMs que não são atribuídos um endereço IP público ou estão no pool back-end de um equilibrador de carga básico interno. O mecanismo IP de acesso de saída padrão fornece um endereço IP de saída que não é configurável.

Para mais informações, consulte o acesso de saída padrão em Azure.

O IP de acesso de saída predefinido é desativado quando um endereço IP público é atribuído ao VM ou o VM é colocado no pool de back-end de um equilibrador de carga padrão, com ou sem regras de saída. Se um recurso de gateway de Rede Virtual de acesso de rede (NAT) for atribuído à sub-rede da máquina virtual, o IP de acesso de saída predefinido é desativado.

Os VMs que são criados por conjuntos de escala de máquina virtual em modo de orquestração flexível não têm acesso de saída padrão.

Para obter mais informações sobre as ligações de saída em Azure, consulte utilizar a tradução de endereços de rede de origem (SNAT) para ligações de saída.

Ligar a uma VM a partir da Internet

Para obter o endereço IP público do VM, use Get-AzPublicIpAddress.

Este exemplo devolve o endereço IP público do myVM1 VM:

$ip = @{
    Name = 'myVM1'
    ResourceGroupName = 'CreateVNetQS-rg'
}
Get-AzPublicIpAddress @ip | select IpAddress

Abra um pedido de comando no seu computador local. Execute o comando mstsc. Substitua-o <publicIpAddress> pelo endereço IP público devolvido do último passo:

Nota

Se estiver a executar estes comandos a partir de uma solicitação PowerShell no seu computador local, e estiver a utilizar a versão 1.0 ou posterior do módulo Az PowerShell, pode continuar nessa interface.

mstsc /v:<publicIpAddress>
  1. Se lhe for pedido, selecione Ligar.

  2. Introduza o nome de utilizador e a palavra-passe que especificou ao criar a VM.

    Nota

    Poderá ter de selecionar Mais escolhasSSese >uma conta diferente, para especificar as credenciais que introduziu quando criou o VM.

  3. Selecione OK.

  4. Pode receber um aviso de certificado. Se o fizer, selecione Sim ou Continue.

Comunicar entre VMs

  1. No ambiente de trabalho remoto do myVM1, abra o PowerShell.

  2. Introduza ping myVM2.

    Receberá uma mensagem de resposta como esta:

    PS C:\Users\myVM1> ping myVM2
    
    Pinging myVM2.ovvzzdcazhbu5iczfvonhg2zrb.bx.internal.cloudapp.net
    Request timed out.
    Request timed out.
    Request timed out.
    Request timed out.
    
    Ping statistics for 10.0.0.5:
        Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
    

    O ping falha, porque utiliza o Protocolo de Mensagem de Controlo de Internet (ICMP). Por padrão, o ICMP não é permitido através da sua firewall Windows.

  3. Para permitir que o myVM2 ping myVM1 num passo posterior, insira este comando:

    New-NetFirewallRule –DisplayName "Allow ICMPv4-In" –Protocol ICMPv4
    

    Este comando permite que o ICMP entre na firewall Windows.

  4. Feche a ligação remota do ambiente de trabalho ao myVM1.

  5. Repita os passos em Ligação para um VM da internet. Desta vez, ligue-se ao myVM2.

  6. A partir de um pedido de comando no myVM2 VM, insira ping myVM1.

    Receberá uma mensagem de resposta como esta:

    C:\windows\system32>ping myVM1
    
    Pinging myVM1.e5p2dibbrqtejhq04lqrusvd4g.bx.internal.cloudapp.net [10.0.0.4] with 32 bytes of data:
    Reply from 10.0.0.4: bytes=32 time=2ms TTL=128
    Reply from 10.0.0.4: bytes=32 time<1ms TTL=128
    Reply from 10.0.0.4: bytes=32 time<1ms TTL=128
    Reply from 10.0.0.4: bytes=32 time<1ms TTL=128
    
    Ping statistics for 10.0.0.4:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 2ms, Average = 0ms
    

    Recebe respostas do myVM1, porque permitiu que o ICMP através da firewall Windows no myVM1 VM num passo anterior.

  7. Feche a ligação remota do ambiente de trabalho ao myVM2.

Limpar os recursos

Quando terminar com a rede virtual e os VMs, utilize o Remove-AzResourceGroup para remover o grupo de recursos e todos os recursos que tem:

Remove-AzResourceGroup -Name 'CreateVNetQS-rg' -Force

Passos seguintes

Neste início rápido:

  • Criou uma rede virtual padrão e dois VMs.
  • Ligou-se a um VM da internet e comunicou-se em privado entre os dois VMs.

A comunicação privada entre VMs é ilimitada numa rede virtual.

Avance para o próximo artigo para saber mais sobre a configuração de diferentes tipos de comunicações de rede VM: