Rövid útmutató: Virtuális hálózat létrehozása az Azure PowerShell használatával
Ez a rövid útmutató bemutatja, hogyan hozhat létre virtuális hálózatot az Azure PowerShell használatával. Ezután két virtuális gépet (virtuális gépet) hoz létre a hálózaton, biztonságosan csatlakozik a virtuális gépekhez az internetről, és privát kommunikációt indít el a virtuális gépek között.
A virtuális hálózat az Azure-beli magánhálózatok alapvető építőeleme. Az Azure Virtual Network lehetővé teszi, hogy az Azure-erőforrások, például a virtuális gépek biztonságosan kommunikáljanak egymással és az internettel.
Előfeltételek
Egy Azure-fiók, aktív előfizetéssel. Ingyenesen létrehozhat fiókot.
Azure Cloud Shell vagy Azure PowerShell.
A rövid útmutató lépései interaktívan futtatják az Azure PowerShell-parancsmagokat az Azure Cloud Shellben. A Cloud Shell parancsainak futtatásához válassza a Kódblokk jobb felső sarkában található Open CloudShell lehetőséget . Válassza a Másolás lehetőséget a kód másolásához, majd illessze be a Cloud Shellbe a futtatáshoz. A Cloud Shellt az Azure Portalon is futtathatja.
Az Azure PowerShellt helyileg is telepítheti a parancsmagok futtatásához. A cikkben ismertetett lépésekhez az Azure PowerShell-modul 5.4.1-es vagy újabb verziója szükséges. Futtassa
Get-Module -ListAvailable Az
a telepített verziót. Ha frissítenie kell, tekintse meg az Azure PowerShell-modul frissítését.Ha helyileg futtatja a PowerShellt, futtassa
Connect-AzAccount
az Azure-hoz való csatlakozást.
Erőforráscsoport létrehozása
A New-AzResourceGroup használatával hozzon létre egy erőforráscsoportot a virtuális hálózat üzemeltetéséhez. Futtassa a következő kódot egy test-rg nevű erőforráscsoport létrehozásához az Eastus2 Azure-régióban:
$rg = @{
Name = 'test-rg'
Location = 'eastus2'
}
New-AzResourceGroup @rg
Virtuális hálózat létrehozása
A New-AzVirtualNetwork használatával hozzon létre egy vnet-1 nevű virtuális hálózatot a 10.0.0.0/16 IP-címelőtaggal a test-rg erőforráscsoportban és eastus2 helyen:
$vnet = @{ Name = 'vnet-1' ResourceGroupName = 'test-rg' Location = 'eastus2' AddressPrefix = '10.0.0.0/16' } $virtualNetwork = New-AzVirtualNetwork @vnet
Az Azure erőforrásokat helyez üzembe egy virtuális hálózaton belüli alhálózaton. Az Add-AzVirtualNetworkSubnetConfig használatával hozzon létre egy alhálózat-konfigurációt az 1.0.0.0/24 címelőtaggal:
$subnet = @{ Name = 'subnet-1' VirtualNetwork = $virtualNetwork AddressPrefix = '10.0.0.0/24' } $subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
Társítsa az alhálózat konfigurációját a virtuális hálózathoz a Set-AzVirtualNetwork használatával:
$virtualNetwork | Set-AzVirtualNetwork
Az Azure Bastion üzembe helyezése
Az Azure Bastion a böngésző használatával csatlakozik a virtuális hálózat virtuális gépeihez a Secure Shell (SSH) vagy a Távoli asztali protokoll (RDP) használatával a privát IP-címek használatával. A virtuális gépeknek nincs szükségük nyilvános IP-címekre, ügyfélszoftverekre vagy speciális konfigurációra. További információ a Bastionról: Mi az az Azure Bastion?.
Az óránkénti díjszabás a Bastion üzembe helyezésének pillanatától kezdődik, a kimenő adathasználattól függetlenül. További információ: Díjszabás és termékváltozatok. Ha a Bastiont egy oktatóanyag vagy teszt részeként helyezi üzembe, javasoljuk, hogy a használat befejezése után törölje ezt az erőforrást.
Konfiguráljon egy Bastion-alhálózatot a virtuális hálózathoz. Ez az alhálózat kizárólag Bastion-erőforrások számára van fenntartva, és AzureBastionSubnetnek kell lennie.
$subnet = @{ Name = 'AzureBastionSubnet' VirtualNetwork = $virtualNetwork AddressPrefix = '10.0.1.0/26' } $subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
A konfiguráció beállítása:
$virtualNetwork | Set-AzVirtualNetwork
Hozzon létre egy nyilvános IP-címet a Bastion számára. A Bastion-gazdagép a nyilvános IP-cím használatával éri el az SSH-t és az RDP-t a 443-as porton keresztül.
$ip = @{ ResourceGroupName = 'test-rg' Name = 'public-ip' Location = 'eastus2' AllocationMethod = 'Static' Sku = 'Standard' Zone = 1,2,3 } New-AzPublicIpAddress @ip
A New-AzBastion paranccsal hozzon létre egy új Standard SKU Bastion-gazdagépet az AzureBastionSubnetben:
$bastion = @{ Name = 'bastion' ResourceGroupName = 'test-rg' PublicIpAddressRgName = 'test-rg' PublicIpAddressName = 'public-ip' VirtualNetworkRgName = 'test-rg' VirtualNetworkName = 'vnet-1' Sku = 'Basic' } New-AzBastion @bastion
A Bastion-erőforrások üzembe helyezése körülbelül 10 percet vesz igénybe. A következő szakaszban virtuális gépeket hozhat létre, miközben a Bastion üzembe helyezi a virtuális hálózatát.
Virtuális gépek létrehozása
A New-AzVM használatával hozzon létre két vm-1 és vm-2 nevű virtuális gépet a virtuális hálózat 1. alhálózatában. Amikor a rendszer hitelesítő adatokat kér, adja meg a virtuális gépekhez tartozó felhasználóneveket és jelszavakat.
Az első virtuális gép létrehozásához használja a következő kódot:
# 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
A második virtuális gép létrehozásához használja a következő kódot:
# 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
Tipp.
Ezzel a -AsJob
beállítással virtuális gépet hozhat létre a háttérben, miközben más feladatokat folytat. Futtassa például a következőt New-AzVM @vm1 -AsJob
: Amikor az Azure elkezdi létrehozni a virtuális gépet a háttérben, a következő kimenethez hasonló eredményt kap:
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
1 Long Running... AzureLongRun... Running True localhost New-AzVM
Az Azure néhány percet vesz igénybe a virtuális gépek létrehozásához. Amikor az Azure befejezi a virtuális gépek létrehozását, a kimenetet a PowerShell-be adja vissza.
Feljegyzés
A Bastion-gazdagéppel rendelkező virtuális hálózatok virtuális gépeinek nincs szükségük nyilvános IP-címekre. A Bastion biztosítja a nyilvános IP-címet, a virtuális gépek pedig privát IP-címeket használnak a hálózaton belüli kommunikációhoz. A nyilvános IP-címeket a Bastion által üzemeltetett virtuális hálózatokon lévő virtuális gépekről is eltávolíthatja. További információ: Nyilvános IP-cím társítása azure-beli virtuális gépről.
Feljegyzés
Az Azure alapértelmezett kimenő hozzáférési IP-címet biztosít azokhoz a virtuális gépekhez, amelyek vagy nincsenek hozzárendelve nyilvános IP-címhez, vagy egy belső alapszintű Azure-terheléselosztó háttérkészletében találhatók. Az alapértelmezett kimenő hozzáférési IP-mechanizmus olyan kimenő IP-címet biztosít, amely nem konfigurálható.
Az alapértelmezett kimenő hozzáférési IP-cím le van tiltva az alábbi események egyike esetén:
- A virtuális géphez nyilvános IP-cím van hozzárendelve.
- A virtuális gép egy standard terheléselosztó háttérkészletébe kerül kimenő szabályokkal vagy anélkül.
- Egy Azure NAT Gateway-erőforrás van hozzárendelve a virtuális gép alhálózatához.
A virtuálisgép-méretezési csoportok rugalmas vezénylési módban történő használatával létrehozott virtuális gépek nem rendelkeznek alapértelmezett kimenő hozzáféréssel.
Az Azure-beli kimenő kapcsolatokról további információt az Alapértelmezett kimenő hozzáférés az Azure-ban és a Kimenő kapcsolatok forráshálózati címfordításának (SNAT) használata című témakörben talál.
Csatlakozás virtuális géphez
A portálon keresse meg és válassza ki a virtuális gépeket.
A Virtuális gépek lapon válassza a vm-1 elemet.
Az 1. virtuális gép áttekintési információi között válassza a Csatlakozás lehetőséget.
A Csatlakozás a virtuális géphez lapon válassza a Bastion lapot.
Válassza a Bastion használata lehetőséget.
Adja meg a virtuális gép létrehozásakor létrehozott felhasználónevet és jelszót, majd válassza a Csatlakozás lehetőséget.
Virtuális gépek közötti kommunikáció indítása
A vm-1 bash parancssorában adja meg a következőt
ping -c 4 vm-2
: .A következő üzenethez hasonló választ kap:
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
Zárja be a Bastion-kapcsolatot a vm-1-hez.
Ismételje meg a Csatlakozás virtuális géphez lépésekkel a vm-2-hez való csatlakozáshoz.
A 2. vm-hez tartozó bash-parancssorba írja be a következőt
ping -c 4 vm-1
: .A következő üzenethez hasonló választ kap:
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
Zárja be a Bastion-kapcsolatot a vm-2-hez.
Az erőforrások eltávolítása
Amikor befejezi a virtuális hálózatot és a virtuális gépeket, a Remove-AzResourceGroup használatával távolítsa el az erőforráscsoportot és annak összes erőforrását:
Remove-AzResourceGroup -Name 'test-rg' -Force
Következő lépések
Ebben a rövid útmutatóban létrehozott egy két virtuális gépet tartalmazó alapértelmezett alhálózattal rendelkező virtuális hálózatot. Üzembe helyezte az Azure Bastiont, és arra használta, hogy csatlakozzon a virtuális gépekhez, és biztonságosan kommunikáljon a virtuális gépek között. A virtuális hálózati beállításokról további információt a virtuális hálózat létrehozása, módosítása vagy törlése című témakörben talál.