Sdílet prostřednictvím


Rychlý start: Vytvoření brány NAT pomocí Azure PowerShellu

V tomto rychlém startu se dozvíte, jak pomocí PowerShellu vytvořit bránu NAT Gateway. Služba NAT Gateway poskytuje odchozí připojení pro virtuální počítače v Azure.

Diagram prostředků vytvořených v rychlém startu nat Gateway

Požadavky

  • Účet Azure s aktivním předplatným. Vytvoření účtu 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. Výběrem možnosti Kopírovat zkopírujte kód a vložte ho do Cloud Shellu a spusťte ho. Cloud Shell můžete spustit také z 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.

Vytvoření skupiny zdrojů

Vytvořte skupinu prostředků pomocí rutiny New-AzResourceGroup. Skupina prostředků Azure je logický kontejner, ve kterém se nasazují a spravují prostředky Azure.

Následující příklad vytvoří skupinu prostředků s názvem test-rg v umístění eastus2 :

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

Vytvoření služby NAT Gateway

V této části vytvoříme bránu NAT a podpůrné prostředky.

## Create public IP address for NAT gateway ##
$ip = @{
    Name = 'public-ip-nat'
    ResourceGroupName = 'test-rg'
    Location = 'eastus2'
    Sku = 'Standard'
    AllocationMethod = 'Static'
    Zone = 1,2,3
}
$publicIP = New-AzPublicIpAddress @ip

## Create NAT gateway resource ##
$nat = @{
    ResourceGroupName = 'test-rg'
    Name = 'nat-gateway'
    IdleTimeoutInMinutes = '10'
    Sku = 'Standard'
    Location = 'eastus2'
    PublicIpAddress = $publicIP
}
$natGateway = New-AzNatGateway @nat

## Create subnet config and associate NAT gateway to subnet##
$subnet = @{
    Name = 'subnet-1'
    AddressPrefix = '10.0.0.0/24'
    NatGateway = $natGateway
}
$subnetConfig = New-AzVirtualNetworkSubnetConfig @subnet 

## Create Azure Bastion subnet. ##
$bastsubnet = @{
    Name = 'AzureBastionSubnet' 
    AddressPrefix = '10.0.1.0/26'
}
$bastsubnetConfig = New-AzVirtualNetworkSubnetConfig @bastsubnet

## Create the virtual network ##
$net = @{
    Name = 'vnet-1'
    ResourceGroupName = 'test-rg'
    Location = 'eastus2'
    AddressPrefix = '10.0.0.0/16'
    Subnet = $subnetConfig,$bastsubnetConfig
}
$vnet = New-AzVirtualNetwork @net

## Create public IP address for bastion host. ##
$ip = @{
    Name = 'public-ip'
    ResourceGroupName = 'test-rg'
    Location = 'eastus2'
    Sku = 'Standard'
    AllocationMethod = 'Static'
    Zone = 1,2,3
}
$publicip = New-AzPublicIpAddress @ip

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

Nasazení hostitele bastionu může trvat několik minut. Než přejdete k další části, počkejte, než se hostitel bastionu nasadí.

Virtuální počítač

V této části vytvoříte virtuální počítač, který otestuje bránu NAT a ověří veřejnou IP adresu odchozího připojení.

# Set the administrator and password for the VMs. ##
$cred = Get-Credential

## Place the virtual network into a variable. ##
$vnet = Get-AzVirtualNetwork -Name 'vnet-1' -ResourceGroupName 'test-rg'

## Create network interface for virtual machine. ##
$nic = @{
    Name = "nic-1"
    ResourceGroupName = 'test-rg'
    Location = 'eastus2'
    Subnet = $vnet.Subnets[0]
}
$nicVM = New-AzNetworkInterface @nic

## Create a virtual machine configuration for VMs ##
$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 virtual machine for VMs ##
$vm = @{
    ResourceGroupName = 'test-rg'
    Location = 'eastus2'
    VM = $vmConfig
}
New-AzVM @vm

Než přejdete k další části, počkejte, než se vytvoření virtuálního počítače dokončí.

Testování služby NAT Gateway

V této části otestujete bránu NAT Gateway. Nejprve zjistíte veřejnou IP adresu služby NAT Gateway. Pak se připojíte k testovacímu virtuálnímu počítači a ověříte odchozí připojení přes bránu NAT Gateway.

  1. Přihlaste se k portálu Azure.

  2. Do vyhledávacího pole v horní části portálu zadejte veřejnou IP adresu. Ve výsledcích hledání vyberte veřejné IP adresy .

  3. Vyberte public-ip-nat.

  4. Poznamenejte si veřejnou IP adresu:

    Zjištění veřejné IP adresy služby NAT Gateway

  5. Do vyhledávacího pole v horní části portálu zadejte virtuální počítač. Ve výsledcích hledání vyberte virtuální počítače .

  6. Vyberte vm-1.

  7. Na stránce Přehled vyberte Připojení a pak vyberte kartu Bastion.

  8. Vyberte Použít Bastion.

  9. Zadejte uživatelské jméno a heslo zadané během vytváření virtuálního počítače. Vyberte Připojit.

  10. Do příkazového řádku Bash zadejte následující příkaz:

    curl ifconfig.me
    
  11. Ověřte, že IP adresa vrácená příkazem odpovídá veřejné IP adrese služby NAT Gateway.

    azureuser@vm-1:~$ curl ifconfig.me
    20.7.200.36
    

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

Pokud nebudete tuto aplikaci dál používat, odstraňte virtuální síť, virtuální počítač a bránu NAT pomocí následujících kroků:

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

Další kroky

Další informace o službě Azure NAT Gateway najdete tady: