Rychlý start: Vytvoření virtuální sítě pomocí Azure PowerShellu

V tomto rychlém startu se dozvíte, jak vytvořit virtuální síť pomocí Azure PowerShellu. Pak v síti vytvoříte dva virtuální počítače, bezpečně se připojíte k virtuálním počítačům z internetu a spustíte privátní komunikaci mezi virtuálními počítači.

Virtuální síť je základním stavebním blokem privátních sítí v Azure. Azure Virtual Network umožňuje prostředkům Azure, jako jsou virtuální počítače, bezpečně komunikovat mezi sebou a internetem.

Diagram prostředků vytvořených v rychlém startu pro virtuální síť

Požadavky

  • Účet Azure s aktivním předplatným. Účet si můžete vytvořit zdarma.

  • Azure Cloud Shell nebo Azure PowerShell.

    Kroky v tomto rychlém startu spouští rutiny Azure PowerShellu interaktivně v Azure Cloud Shellu. Pokud chcete příkazy spustit v Cloud Shellu, vyberte Otevřít CloudShell v pravém horním rohu bloku kódu. Vyberte Kopírovat , zkopírujte kód a vložte ho do Cloud Shellu a spusťte ho. Cloud Shell můžete spustit také na webu Azure Portal.

    Ke spuštění rutin můžete také nainstalovat Azure PowerShell místně . Kroky v tomto článku vyžadují modul Azure PowerShell verze 5.4.1 nebo novější. Spuštěním Get-Module -ListAvailable Az vyhledejte nainstalovanou verzi. Pokud potřebujete upgradovat, přečtěte si téma Aktualizace modulu Azure PowerShellu.

    Pokud powershell spouštíte místně, spusťte Connect-AzAccount připojení k Azure.

Vytvoření skupiny zdrojů

Pomocí rutiny New-AzResourceGroup vytvořte skupinu prostředků pro hostování virtuální sítě. Spuštěním následujícího kódu vytvořte skupinu prostředků s názvem test-rg v oblasti Azure eastus2 :

$rg = @{
    Name = 'test-rg'
    Location = 'eastus2'
}
New-AzResourceGroup @rg

Vytvoření virtuální sítě

  1. Pomocí rutiny New-AzVirtualNetwork vytvořte virtuální síť s názvem vnet-1 s předponou IP adresy 10.0.0.0/16 ve skupině prostředků test-rg a umístění eastus2 :

    $vnet = @{
        Name = 'vnet-1'
        ResourceGroupName = 'test-rg'
        Location = 'eastus2'
        AddressPrefix = '10.0.0.0/16'
    }
    $virtualNetwork = New-AzVirtualNetwork @vnet
    
  2. Azure nasadí prostředky do podsítě v rámci virtuální sítě. Pomocí rutiny Add-AzVirtualNetworkSubnetConfig vytvořte konfiguraci podsítě s názvem subnet-1 s předponou adresy 10.0.0.0/24:

    $subnet = @{
        Name = 'subnet-1'
        VirtualNetwork = $virtualNetwork
        AddressPrefix = '10.0.0.0/24'
    }
    $subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
    
  3. Přidružte konfiguraci podsítě k virtuální síti pomocí rutiny Set-AzVirtualNetwork:

    $virtualNetwork | Set-AzVirtualNetwork
    

Nasazení služby Azure Bastion

Azure Bastion se pomocí prohlížeče připojuje k virtuálním počítačům ve vaší virtuální síti přes Secure Shell (SSH) nebo RDP (Remote Desktop Protocol) pomocí jejich privátních IP adres. Virtuální počítače nepotřebují veřejné IP adresy, klientský software ani speciální konfiguraci. Další informace o Bastionu najdete v tématu Co je Azure Bastion?.

Hodinová cena začíná od okamžiku nasazení Bastionu bez ohledu na využití odchozích dat. Další informace najdete v tématu Ceny a skladové položky. Pokud bastion nasazujete jako součást kurzu nebo testu, doporučujeme tento prostředek po dokončení jeho použití odstranit.

  1. Nakonfigurujte podsíť Bastion pro vaši virtuální síť. Tato podsíť je vyhrazená výhradně pro prostředky Bastionu a musí mít název AzureBastionSubnet.

    $subnet = @{
        Name = 'AzureBastionSubnet'
        VirtualNetwork = $virtualNetwork
        AddressPrefix = '10.0.1.0/26'
    }
    $subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
    
  2. Nastavte konfiguraci:

    $virtualNetwork | Set-AzVirtualNetwork
    
  3. Vytvořte veřejnou IP adresu pro Bastion. Hostitel Bastion používá veřejnou IP adresu pro přístup k SSH a RDP přes port 443.

    $ip = @{
            ResourceGroupName = 'test-rg'
            Name = 'public-ip'
            Location = 'eastus2'
            AllocationMethod = 'Static'
            Sku = 'Standard'
            Zone = 1,2,3
    }
    New-AzPublicIpAddress @ip
    
  4. Pomocí příkazu New-AzBastion vytvořte nového hostitele Bastion úrovně Standard v podsítě AzureBastionSubnet:

    $bastion = @{
        Name = 'bastion'
        ResourceGroupName = 'test-rg'
        PublicIpAddressRgName = 'test-rg'
        PublicIpAddressName = 'public-ip'
        VirtualNetworkRgName = 'test-rg'
        VirtualNetworkName = 'vnet-1'
        Sku = 'Basic'
    }
    New-AzBastion @bastion
    

Nasazení prostředků Bastionu trvá přibližně 10 minut. Virtuální počítače můžete vytvořit v další části, zatímco Bastion se nasadí do vaší virtuální sítě.

Vytvoření virtuálních počítačů

Pomocí rutiny New-AzVM vytvořte dva virtuální počítače s názvem vm-1 a vm-2 v podsíti podsítě 1 virtuální sítě. Po zobrazení výzvy k zadání přihlašovacích údajů zadejte uživatelská jména a hesla pro virtuální počítače.

  1. Pokud chcete vytvořit první virtuální počítač, použijte následující kód:

    # Set the administrator and password for the VM. ##
    $cred = Get-Credential
    
    ## Place the virtual network into a variable. ##
    $vnet = Get-AzVirtualNetwork -Name 'vnet-1' -ResourceGroupName 'test-rg'
    
    ## Create a network interface for the VM. ##
    $nic = @{
        Name = "nic-1"
        ResourceGroupName = 'test-rg'
        Location = 'eastus2'
        Subnet = $vnet.Subnets[0]
    }
    $nicVM = New-AzNetworkInterface @nic
    
    ## Create a virtual machine configuration. ##
    $vmsz = @{
        VMName = "vm-1"
        VMSize = 'Standard_DS1_v2'  
    }
    $vmos = @{
        ComputerName = "vm-1"
        Credential = $cred
    }
    $vmimage = @{
        PublisherName = 'Canonical'
        Offer = '0001-com-ubuntu-server-jammy'
        Skus = '22_04-lts-gen2'
        Version = 'latest'    
    }
    $vmConfig = New-AzVMConfig @vmsz `
        | Set-AzVMOperatingSystem @vmos -Linux `
        | Set-AzVMSourceImage @vmimage `
        | Add-AzVMNetworkInterface -Id $nicVM.Id
    
    ## Create the VM. ##
    $vm = @{
        ResourceGroupName = 'test-rg'
        Location = 'eastus2'
        VM = $vmConfig
    }
    New-AzVM @vm
    
  2. K vytvoření druhého virtuálního počítače použijte následující kód:

    # Set the administrator and password for the VM. ##
    $cred = Get-Credential
    
    ## Place the virtual network into a variable. ##
    $vnet = Get-AzVirtualNetwork -Name 'vnet-1' -ResourceGroupName 'test-rg'
    
    ## Create a network interface for the VM. ##
    $nic = @{
        Name = "nic-2"
        ResourceGroupName = 'test-rg'
        Location = 'eastus2'
        Subnet = $vnet.Subnets[0]
    }
    $nicVM = New-AzNetworkInterface @nic
    
    ## Create a virtual machine configuration. ##
    $vmsz = @{
        VMName = "vm-2"
        VMSize = 'Standard_DS1_v2'  
    }
    $vmos = @{
        ComputerName = "vm-2"
        Credential = $cred
    }
    $vmimage = @{
        PublisherName = 'Canonical'
        Offer = '0001-com-ubuntu-server-jammy'
        Skus = '22_04-lts-gen2'
        Version = 'latest'    
    }
    $vmConfig = New-AzVMConfig @vmsz `
        | Set-AzVMOperatingSystem @vmos -Linux `
        | Set-AzVMSourceImage @vmimage `
        | Add-AzVMNetworkInterface -Id $nicVM.Id
    
    ## Create the VM. ##
    $vm = @{
        ResourceGroupName = 'test-rg'
        Location = 'eastus2'
        VM = $vmConfig
    }
    New-AzVM @vm
    

Tip

Tuto možnost můžete použít -AsJob k vytvoření virtuálního počítače na pozadí, zatímco budete pokračovat v dalších úlohách. Například spusťte New-AzVM @vm1 -AsJobpříkaz . Když Azure začne vytvářet virtuální počítač na pozadí, získáte něco jako následující výstup:

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

Vytvoření virtuálních počítačů v Azure trvá několik minut. Jakmile Azure dokončí vytváření virtuálních počítačů, vrátí výstup do PowerShellu.

Poznámka:

Virtuální počítače ve virtuální síti s hostitelem Bastion nepotřebují veřejné IP adresy. Bastion poskytuje veřejnou IP adresu a virtuální počítače používají privátní IP adresy ke komunikaci v síti. Veřejné IP adresy můžete odebrat z libovolného virtuálního počítače ve virtuálních sítích hostovaných službou Bastion. Další informace najdete v tématu Zrušení přidružení veřejné IP adresy z virtuálního počítače Azure.

Poznámka:

Azure poskytuje výchozí odchozí IP adresu pro virtuální počítače, které nemají přiřazenou veřejnou IP adresu nebo jsou v back-endovém fondu interního základního nástroje pro vyrovnávání zatížení Azure. Výchozí mechanismus odchozích IP adres poskytuje odchozí IP adresu, která není konfigurovatelná.

Výchozí ip adresa odchozího přístupu je zakázaná, když dojde k jedné z následujících událostí:

  • Virtuálnímu počítači se přiřadí veřejná IP adresa.
  • Virtuální počítač se umístí do back-endového fondu standardního nástroje pro vyrovnávání zatížení s odchozími pravidly nebo bez něj.
  • Prostředek Azure NAT Gateway je přiřazen k podsíti virtuálního počítače.

Virtuální počítače, které vytvoříte pomocí škálovacích sad virtuálních počítačů v flexibilním režimu orchestrace, nemají výchozí odchozí přístup.

Další informace o odchozích připojeních v Azure najdete v tématu Výchozí odchozí přístup v Azure a použití překladu zdrojových síťových adres (SNAT) pro odchozí připojení.

Připojení k virtuálnímu počítači

  1. Na portálu vyhledejte a vyberte Virtuální počítače.

  2. Na stránce Virtuální počítače vyberte vm-1.

  3. V části Přehled informací o virtuálním počítači 1 vyberte Připojení.

  4. Na stránce Připojení na virtuální počítač vyberte kartu Bastion.

  5. Vyberte Použít Bastion.

  6. Zadejte uživatelské jméno a heslo, které jste vytvořili při vytváření virtuálního počítače, a pak vyberte Připojení.

Zahájení komunikace mezi virtuálními počítači

  1. Na příkazovém řádku Bash pro vm-1 zadejte ping -c 4 vm-2.

    Dostanete odpověď podobnou následující zprávě:

    azureuser@vm-1:~$ ping -c 4 vm-2
    PING vm-2.3bnkevn3313ujpr5l1kqop4n4d.cx.internal.cloudapp.net (10.0.0.5) 56(84) bytes of data.
    64 bytes from vm-2.internal.cloudapp.net (10.0.0.5): icmp_seq=1 ttl=64 time=1.83 ms
    64 bytes from vm-2.internal.cloudapp.net (10.0.0.5): icmp_seq=2 ttl=64 time=0.987 ms
    64 bytes from vm-2.internal.cloudapp.net (10.0.0.5): icmp_seq=3 ttl=64 time=0.864 ms
    64 bytes from vm-2.internal.cloudapp.net (10.0.0.5): icmp_seq=4 ttl=64 time=0.890 ms
    
  2. Zavřete připojení Bastionu k virtuálnímu počítači vm-1.

  3. Opakujte kroky v Připojení k virtuálnímu počítači a připojte se k virtuálnímu počítači vm-2.

  4. Na příkazovém řádku Bash pro vm-2 zadejte ping -c 4 vm-1.

    Dostanete odpověď podobnou následující zprávě:

    azureuser@vm-2:~$ ping -c 4 vm-1
    PING vm-1.3bnkevn3313ujpr5l1kqop4n4d.cx.internal.cloudapp.net (10.0.0.4) 56(84) bytes of data.
    64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=1 ttl=64 time=0.695 ms
    64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=2 ttl=64 time=0.896 ms
    64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=3 ttl=64 time=3.43 ms
    64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=4 ttl=64 time=0.780 ms
    
  5. Zavřete připojení Bastionu k virtuálnímu počítači vm-2.

Vyčištění prostředků

Po dokončení virtuální sítě a virtuálních počítačů odeberte skupinu prostředků a všechny její prostředky pomocí remove-AzResourceGroup :

Remove-AzResourceGroup -Name 'test-rg' -Force

Další kroky

V tomto rychlém startu jste vytvořili virtuální síť s výchozí podsítí, která obsahuje dva virtuální počítače. Nasadili jste Azure Bastion a použili ho k připojení k virtuálním počítačům a bezpečně komunikovali mezi těmito virtuálními počítači. Další informace o nastavení virtuální sítě najdete v tématu Vytvoření, změna nebo odstranění virtuální sítě.