Partilhar via


Guia de início rápido: criar um gateway NAT usando o Azure PowerShell

Neste guia de início rápido, saiba como criar um gateway NAT usando o PowerShell. O serviço Gateway NAT fornece conectividade de saída para máquinas virtuais no Azure.

Diagrama de recursos criados no início rápido do gateway nat.

Pré-requisitos

  • Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.

  • Azure Cloud Shell ou Azure PowerShell.

    As etapas neste início rápido executam os cmdlets do Azure PowerShell interativamente no Azure Cloud Shell. Para executar os comandos no Cloud Shell, selecione Abrir Cloudshell no canto superior direito de um bloco de código. Selecione Copiar para copiar o código e cole-o no Cloud Shell para executá-lo. Você também pode executar o Cloud Shell de dentro do portal do Azure.

    Você também pode instalar o Azure PowerShell localmente para executar os cmdlets. As etapas neste artigo exigem o módulo do Azure PowerShell versão 5.4.1 ou posterior. Execute Get-Module -ListAvailable Az para encontrar a versão instalada. Se você precisar atualizar, consulte Atualizar o módulo do Azure PowerShell.

Criar um grupo de recursos

Crie um grupo de recursos com New-AzResourceGroup. Um grupo de recursos do Azure é um contentor lógico no qual os recursos do Azure são implementados e geridos.

O exemplo a seguir cria um grupo de recursos chamado test-rg no local eastus2:

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

Criar o gateway NAT

Nesta seção, criamos o gateway NAT e os recursos de suporte.

  • Para acessar a Internet, você precisa de um ou mais endereços IP públicos para o gateway NAT. Use New-AzPublicIpAddress para criar um recurso de endereço IP público chamado public-ip-nat em test-rg.

  • Crie um gateway NAT do Azure global com New-AzNatGateway. O resultado desse comando criará um recurso de gateway chamado nat-gateway que usa o endereço IP público public-ip-nat. O tempo limite de inatividade é definido como 10 minutos.

  • Crie uma rede virtual chamada vnet-1 com uma sub-rede chamada subnet-1 usando New-AzVirtualNetworkSubnetConfig no test-rg usando New-AzVirtualNetwork. O espaço de endereço IP para a rede virtual é 10.0.0.0/16. A sub-rede dentro da rede virtual é 10.0.0.0/24.

  • Crie um host do Azure Bastion chamado bastion para acessar a máquina virtual. Use New-AzBastion para criar o host bastião. Crie um endereço IP público para o host bastion com New-AzPublicIpAddress.

## 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

O host bastion pode levar vários minutos para ser implantado. Aguarde a implantação do host bastion antes de passar para a próxima seção.

Máquina virtual

Nesta seção, você criará uma máquina virtual para testar o gateway NAT e verificar o endereço IP público da conexão de saída.

# 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

Aguarde a conclusão da criação da máquina virtual antes de passar para a próxima seção.

Testar gateway NAT

Nesta seção, você testa o gateway NAT. Primeiro, você descobre o IP público do gateway NAT. Em seguida, você se conecta à máquina virtual de teste e verifica a conexão de saída por meio do gateway NAT.

  1. Inicie sessão no portal do Azure.

  2. Na caixa de pesquisa na parte superior do portal, introduza IP Público. Selecione Endereços IP públicos nos resultados da pesquisa.

  3. Selecione public-ip-nat.

  4. Anote o endereço IP público:

    Descubra o endereço IP público do gateway NAT

  5. Na caixa de pesquisa na parte superior do portal, digite Máquina virtual. Selecione Máquinas virtuais nos resultados da pesquisa.

  6. Selecione vm-1.

  7. Na página Visão geral, selecione Conectar e, em seguida, selecione a guia Bastion.

  8. Selecione Usar bastião.

  9. Insira o nome de usuário e a senha inseridos durante a criação da VM. Selecione Ligar.

  10. No prompt bash, digite o seguinte comando:

    curl ifconfig.me
    
  11. Verifique se o endereço IP retornado pelo comando corresponde ao endereço IP público do gateway NAT.

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

Clean up resources (Limpar recursos)

Se você não vai continuar a usar esse aplicativo, exclua a rede virtual, a máquina virtual e o gateway NAT com as seguintes etapas:

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

Próximos passos

Para obter mais informações sobre o Azure NAT Gateway, consulte: