Saiba como criar e remover um recurso de gateway da NAT de uma sub-rede de rede virtual. Um gateway da NAT habilita a conectividade de saída para recursos em um Rede Virtual do Azure. Você pode alterar os endereços IP públicos e os prefixos de endereço IP públicos associados ao gateway da NAT após a implantação.
Este artigo explica como gerenciar os seguintes aspectos do gateway da NAT:
Crie um gateway da NAT e associe-o a uma sub-rede existente.
Remova um gateway da NAT de uma sub-rede existente e exclua o gateway da NAT.
Adicione ou remova um endereço IP público ou um prefixo de IP público.
A rede virtual de exemplo usada neste artigo é chamada vnet-1.
A sub-rede de exemplo é denominada subnet-1.
O gateway NAT de exemplo é denominado nat-gateway.
Para usar o Azure PowerShell para este artigo, você precisa:
O Azure PowerShell instalado localmente ou o Azure Cloud Shell.
Se você optar por instalar e usar o PowerShell localmente, este artigo exigirá o módulo do Azure PowerShell versão 5.4.1 ou posterior. Execute Get-Module -ListAvailable Az para localizar a versão instalada. Se você precisa atualizar, consulte Instalar o módulo do Azure PowerShell.
Se você estiver executando o PowerShell localmente, também precisará executar o Connect-AzAccount para criar uma conexão com o Azure.
Verifique se o módulo Az.Network é da versão 4.3.0 ou posterior. Para verificar o módulo instalado, use o comando Get-InstalledModule -Name "Az.Network". Se o módulo exigir uma atualização, use o comando Update-Module -Name Az.Network.
Entrar no Azure PowerShell e selecionar a assinatura que deseja usar. Para obter mais informações, veja Entrar com o Azure PowerShell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Para execuções no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para ver outras opções de entrada, confira Conectar-se com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar extensões com a CLI do Azure.
Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.
A rede virtual de exemplo usada neste artigo é chamada vnet-1.
A sub-rede de exemplo é denominada subnet-1.
O gateway NAT de exemplo é denominado nat-gateway.
Criar um gateway da NAT e associá-lo a uma sub-rede existente
Você pode criar um recurso de gateway NAT e adicioná-lo a uma sub-rede existente usando o portal do Azure, o Azure PowerShell, a CLI do Azure ou o Bicep.
Selecione a guia IP de saída ou selecione Próximo: IP de saída.
Você pode selecionar um endereço IP público ou prefixo existente ou ambos para associar ao gateway da NAT e habilitar a conectividade de saída.
Para criar um IP público para o gateway da NAT, selecione Criar um endereço IP público. Insira public-ip-nat em Nome. Selecione OK.
Para criar um prefixo de IP público para o gateway da NAT, selecione Criar um prefixo de IP público. Insira public-ip-prefix-nat em Nome. Selecione um Tamanho do prefixo. Selecione OK.
Selecione a guia Sub-rede ou selecione Avançar: Sub-rede.
Selecione sua rede virtual. Neste exemplo, selecione vnet-1 na lista suspensa.
Marque a caixa de seleção ao lado da subnet-1.
Selecione Examinar + criar.
Selecione Criar.
Endereço IP público
Para criar um gateway da NAT com um endereço IP público, execute os comandos do PowerShell a seguir.
Use o cmdlet New-AzPublicIpAddress para criar um endereço IP público para o gateway da NAT.
## Create public IP address for NAT gateway ##
$ip = @{
Name = 'public-ip-nat'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Sku = 'Standard'
AllocationMethod = 'Static'
}
New-AzPublicIpAddress @ip
Use o cmdlet New-AzNatGateway para criar um recurso de gateway da NAT e associar o endereço IP público que você criou. Use o cmdlet Set-AzVirtualNetworkSubnetConfig para configurar o gateway da NAT para sua sub-rede de rede virtual.
## Place the virtual network into a variable. ##
$net = @{
Name = 'vnet-1'
ResourceGroupName = 'test-rg'
}
$vnet = Get-AzVirtualNetwork @net
## Place the public IP address you created previously into a variable. ##
$pip = @{
Name = 'public-ip-nat'
ResourceGroupName = 'test-rg'
}
$publicIP = Get-AzPublicIPAddress @pip
## Create NAT gateway resource ##
$nat = @{
ResourceGroupName = 'test-rg'
Name = 'nat-gateway'
IdleTimeoutInMinutes = '4'
Sku = 'Standard'
Location = 'eastus2'
PublicIpAddress = $publicIP
}
$natGateway = New-AzNatGateway @nat
## Create the subnet configuration. ##
$sub = @{
Name = 'subnet-1'
VirtualNetwork = $vnet
NatGateway = $natGateway
AddressPrefix = '10.0.0.0/24'
}
Set-AzVirtualNetworkSubnetConfig @sub
## Save the configuration to the virtual network. ##
$vnet | Set-AzVirtualNetwork
Prefixo de IP público
Para criar um gateway da NAT com um prefixo de IP público, use estes comandos.
Use o cmdlet New-AzPublicIpPrefix para criar um prefixo de IP público para o gateway da NAT.
## Create public IP prefix for NAT gateway ##
$ip = @{
Name = 'public-ip-prefix-nat'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Sku = 'Standard'
PrefixLength ='29'
}
New-AzPublicIpPrefix @ip
Use o cmdlet New-AzNatGateway para criar um recurso de gateway da NAT e associar o prefixo de IP público que você criou. Use o cmdlet Set-AzVirtualNetworkSubnetConfig para configurar o gateway da NAT para sua sub-rede de rede virtual.
## Place the virtual network into a variable. ##
$net = @{
Name = 'vnet-1'
ResourceGroupName = 'test-rg'
}
$vnet = Get-AzVirtualNetwork @net
## Place the public IP prefix you created previously into a variable. ##
$pip = @{
Name = 'public-ip-prefix-nat'
ResourceGroupName = 'test-rg'
}
$publicIPprefix = Get-AzPublicIPPrefix @pip
## Create NAT gateway resource ##
$nat = @{
ResourceGroupName = 'test-rgNAT'
Name = 'nat-gateway'
IdleTimeoutInMinutes = '4'
Sku = 'Standard'
Location = 'eastus2'
PublicIpPrefix = $publicIPprefix
}
$natGateway = New-AzNatGateway @nat
## Create the subnet configuration. ##
$sub = @{
Name = 'subnet-1'
VirtualNetwork = $vnet
NatGateway = $natGateway
AddressPrefix = '10.0.0.0/24'
}
Set-AzVirtualNetworkSubnetConfig @sub
## Save the configuration to the virtual network. ##
$vnet | Set-AzVirtualNetwork
Endereço IP público
Para criar um gateway da NAT com um endereço IP público, use os comandos a seguir.
Na caixa de pesquisa na parte superior do portal do Azure, insira Gateway da NAT. Selecione Gateways da NAT nos resultados da pesquisa.
Selecione nat-gateway.
Em Configurações, selecione Sub-redes.
Para remover o gateway NAT de todas as sub-redes, selecione Desassociar.
Para remover o gateway NAT de apenas uma das várias sub-redes, desmarque a caixa de seleção ao lado da sub-rede e selecione Salvar.
Agora você pode associar o gateway da NAT a uma sub-rede ou rede virtual diferente em sua assinatura. Para excluir o recurso de gateway da NAT, conclua as etapas a seguir.
Na caixa de pesquisa na parte superior do portal do Azure, insira Gateway da NAT. Selecione Gateways da NAT nos resultados da pesquisa.
# Specify the resource group and NAT gateway name
$resourceGroupName = "test-rg"
# Specify the virtual network name and subnet name
$virtualNetworkName = "vnet-1"
$subnetName = "subnet-1"
# Get the virtual network
$vnet = @{
Name = $virtualNetworkName
ResourceGroupName = $resourceGroupName
}
$virtualNetwork = Get-AzVirtualNetwork @vnet
# Get the subnet
$subnet = $virtualNetwork.Subnets | Where-Object {$_.Name -eq $subnetName}
# Remove the NAT gateway association from the subnet
$subnet.NatGateway = $null
# Update the subnet configuration
$subConfig = @{
Name = $subnetName
VirtualNetwork = $virtualNetwork
AddressPrefix = $subnet.AddressPrefix
}
Set-AzVirtualNetworkSubnetConfig @subConfig
# Update the virtual network
Set-AzVirtualNetwork -VirtualNetwork $virtualNetwork
Na caixa de pesquisa na parte superior do portal do Azure, insira Endereço IP público. Selecione Endereços IP públicos nos resultados da pesquisa.
Selecione Criar.
Insira ou selecione as informações a seguir em Criar endereço IP público.
Configuração
Valor
Subscription
Selecione sua assinatura.
Resource group
Selecione o grupo de recursos. O exemplo usa test-rg.
Region
Selecione uma região. Este exemplo usa Leste dos EUA 2.
Nome
Insira public-ip-nat2.
Versão do IP
Selecione IPv4.
SKU
Selecione Padrão.
Zona de disponibilidade
Selecione o padrão de Redundância de zona.
Camada
Selecione Regional.
Selecione Examinar + Criar e, em seguida, selecione Criar.
Na caixa de pesquisa na parte superior do portal do Azure, insira Gateway da NAT. Selecione Gateways da NAT nos resultados da pesquisa.
Selecione nat-gateway.
Em Configurações, selecione IP de saída.
Os endereços IP e os prefixos associados ao gateway da NAT são exibidos. Ao lado de Endereços IP públicos, selecione Alterar.
Ao lado de Endereços IP públicos, selecione a lista suspensa de endereços IP. Selecione o endereço IP que você criou para adicioná-lo ao gateway da NAT. Para remover um endereço, desmarque-o.
Selecione OK.
Selecione Salvar.
Adicionar endereço IP público
Para adicionar um endereço IP público ao gateway da NAT, adicione-o a um objeto de matriz junto com os endereços IP atuais. Os cmdlets do PowerShell substituem todos os endereços.
Neste exemplo, o endereço IP existente associado ao gateway NAT é denominado public-ip-nat. Substitua esse valor por uma matriz que contenha public-ip-nat e um novo endereço IP. Se você tiver vários endereços IP já configurados, também deverá adicioná-los à matriz.
## Create public IP address for NAT gateway ##
$ip = @{
Name = 'public-ip-nat2'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Sku = 'Standard'
AllocationMethod = 'Static'
}
New-AzPublicIpAddress @ip
Use Set-AzNatGateway para adicionar o endereço IP público ao gateway da NAT.
## Place NAT gateway into a variable. ##
$ng = @{
Name = 'nat-gateway'
ResourceGroupName = 'test-rg'
}
$nat = Get-AzNatGateway @ng
## Place the existing public IP address associated with the NAT gateway into a variable. ##
$ip = @{
Name = 'public-ip-nat'
ResourceGroupName = 'test-rg'
}
$publicIP1 = Get-AzPublicIPaddress @ip
## Place the public IP address you created previously into a variable. ##
$ip = @{
Name = 'public-ip-nat2'
ResourceGroupName = 'test-rg'
}
$publicIP2 = Get-AzPublicIPaddress @ip
## Place the public IP address variables into an array. ##
$pipArray = $publicIP1,$publicIP2
## Add the IP address to the NAT gateway. ##
$nt = @{
NatGateway = $nat
PublicIpAddress = $pipArray
}
Set-AzNatGateway @nt
Remover um endereço IP público
Para remover um IP público de um gateway da NAT, crie um objeto de matriz que não contenha o endereço IP que você deseja remover. Por exemplo, você tem um gateway da NAT configurado com dois endereços IP públicos. Você deseja remover um dos endereços IP. Os endereços IP associados ao gateway NAT são chamados public-ip-nat e public-ip-nat2. Para remover public-ip-nat2, crie um objeto de matriz para o comando do PowerShell que contém apenas public-ip-nat. Quando você aplica o comando, a matriz é reaplicada ao gateway NAT e public-ip-nat é o único endereço IP público associado.
Use Set-AzNatGateway para remover um endereço IP público do gateway da NAT.
## Place NAT gateway into a variable. ##
$ng = @{
Name = 'nat-gateway'
ResourceGroupName = 'test-rg'
}
$nat = Get-AzNatGateway @ng
## Place the existing public IP address associated with the NAT gateway into a variable. ##
$ip = @{
Name = 'public-ip-nat'
ResourceGroupName = 'test-rg'
}
$publicIP1 = Get-AzPublicIPaddress @ip
## Place the second public IP address into a variable. ##
$ip = @{
Name = 'public-ip-nat2'
ResourceGroupName = 'test-rg'
}
$publicIP2 = Get-AzPublicIPAddress @ip
## Place ONLY the public IP you wish to keep in the array. ##
$pipArray = $publicIP1
## Add the public IP address to the NAT gateway. ##
$nt = @{
NatGateway = $nat
PublicIpAddress = $pipArray
}
Set-AzNatGateway @nt
Adicionar endereço IP público
Neste exemplo, o endereço IP público existente associado ao gateway NAT é denominado public-ip-nat.
az network public-ip create \
--resource-group test-rg \
--location eastus2 \
--name public-ip-nat2 \
--sku standard
Use az network nat gateway update para adicionar o endereço IP público que você criou ao gateway da NAT. O comando da CLI do Azure substitui os valores. Ele não adiciona um novo valor. Para adicionar o novo endereço IP ao gateway da NAT, você também deve incluir outros endereços IP associados ao gateway da NAT.
Use az network nat gateway update para remover um endereço IP público do gateway da NAT. O comando da CLI do Azure substitui os valores. Ele não remove um valor. Para remover um endereço IP público, inclua qualquer endereço IP no comando que você deseja manter. Omita o valor que você deseja remover. Por exemplo, você tem um gateway da NAT configurado com dois endereços IP públicos. Você deseja remover um dos endereços IP. Os endereços IP associados ao gateway NAT são chamados public-ip-nat e public-ip-nat2. Para remover public-ip-nat2, omita o nome do endereço IP do comando. O comando reaplica os endereços IP listados no comando ao gateway da NAT. Ele remove qualquer endereço IP não listado.
Na caixa de pesquisa na parte superior do portal do Azure, insira Prefixo de IP público. Selecione Prefixos de IP público nos resultados da pesquisa.
Selecione Criar.
Insira as seguintes informações na guia Informações básicas em Criar um prefixo de IP público.
Configuração
Valor
Detalhes do projeto
Subscription
Selecione sua assinatura.
Resource group
Selecione o grupo de recursos. Este exemplo usa test-rg.
Detalhes da instância
Nome
Insira public-ip-prefix-nat.
Region
Selecione sua região. Este exemplo usa Leste dos EUA 2.
Versão IP
Selecione IPv4.
Propriedade do prefixo
Selecione Propriedade da Microsoft.
Tamanho do prefixo
Selecione um tamanho do prefixo. Este exemplo usa /28 (16 endereços).
Selecione Examinar + criare Criar.
Na caixa de pesquisa na parte superior do portal do Azure, insira Gateway da NAT. Selecione Gateways da NAT nos resultados da pesquisa.
Selecione nat-gateway.
Em Configurações, selecione IP de saída.
A página exibe os endereços IP e os prefixos associados ao gateway da NAT. Ao lado de Prefixos de IP público, selecione Alterar.
Ao lado de Prefixos de IP público, selecione a caixa suspensa. Selecione o prefixo de endereço IP que você criou para adicionar o prefixo ao gateway da NAT. Para remover um prefixo, desmarque-o.
Selecione OK.
Selecione Salvar.
Adicionar prefixo de IP público
Para adicionar um prefixo de IP público ao gateway da NAT, adicione-o a um objeto de matriz junto com os prefixos de IP atuais. Os cmdlets do PowerShell substituem todos os prefixos de IP.
Neste exemplo, o prefixo IP público existente associado ao gateway NAT é denominado public-ip-prefix-nat. Substitua esse valor por uma matriz que contém public-ip-prefix-nat e um novo prefixo de endereço IP. Se você tiver vários prefixos de IP já configurados, também deverá adicioná-los à matriz.
Use New-AzPublicIpPrefix para criar um novo prefixo de IP público para o gateway da NAT.
## Create public IP prefix for NAT gateway ##
$ip = @{
Name = 'public-ip-prefix-nat2'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Sku = 'Standard'
PrefixLength = '29'
}
New-AzPublicIpPrefix @ip
Use Set-AzNatGateway para adicionar o prefixo de IP público ao gateway da NAT.
## Place NAT gateway into a variable. ##
$ng = @{
Name = 'nat-gateway'
ResourceGroupName = 'test-rg'
}
$nat = Get-AzNatGateway @ng
## Place the existing public IP prefix associated with the NAT gateway into a variable. ##
$ip = @{
Name = 'public-ip-prefix-nat'
ResourceGroupName = 'test-rg'
}
$prefixIP1 = Get-AzPublicIPPrefix @ip
## Place the public IP prefix you created previously into a variable. ##
$ip = @{
Name = 'public-ip-prefix-nat2'
ResourceGroupName = 'test-rg'
}
$prefixIP2 = Get-AzPublicIPprefix @ip
## Place the public IP address variables into an array. ##
$preArray = $prefixIP1,$prefixIP2
## Add the IP address prefix to the NAT gateway. ##
$nt = @{
NatGateway = $nat
PublicIpPrefix = $preArray
}
Set-AzNatGateway @nt
Remover prefixo de IP público
Para remover um prefixo de IP público de um gateway da NAT, crie um objeto de matriz que não contenha o prefixo de endereço IP que deseja remover. Por exemplo, você tem um gateway da NAT configurado com dois prefixos IP públicos. Você deseja remover um dos prefixos de IP. Os prefixos IP associados ao gateway NAT são chamados public-ip-prefix-nat e public-ip-prefix-nat2. Para remover public-ip-prefix-nat2, crie um objeto de matriz para o comando do PowerShell que contém apenas public-ip-prefix-nat. Quando você aplica o comando, a matriz é reaplicada ao gateway NAT e public-ip-prefix-nat é o único prefixo associado.
Use o cmdlet Set-AzNatGateway para remover um prefixo de IP público do gateway da NAT.
## Place NAT gateway into a variable. ##
$ng = @{
Name = 'nat-gateway'
ResourceGroupName = 'test-rg'
}
$nat = Get-AzNatGateway @ng
## Place the existing public IP prefix associated with the NAT gateway into a variable. ##
$ip = @{
Name = 'public-ip-prefix-nat'
ResourceGroupName = 'test-rg'
}
$prefixIP1 = Get-AzPublicIPPrefix @ip
## Place the secondary public IP prefix into a variable. ##
$ip = @{
Name = 'public-ip-prefix-nat2'
ResourceGroupName = 'test-rg'
}
$prefixIP2 = Get-AzPublicIPprefix @ip
## Place ONLY the prefix you wish to keep in the array. DO NOT ADD THE SECONDARY VARIABLE ##
$preArray = $prefixIP1
## Add the IP address prefix to the NAT gateway. ##
$nt = @{
NatGateway = $nat
PublicIpPrefix = $preArray
}
Set-AzNatGateway @nt
Adicionar prefixo de IP público
Neste exemplo, o prefixo IP público existente associado ao gateway NAT é denominado public-ip-prefix-nat.
Use az network nat gateway update para adicionar o prefixo de IP público que você criou ao gateway da NAT. O comando da CLI do Azure substitui valores. Ele não adiciona um valor. Para adicionar o prefixo de endereço IP ao gateway da NAT, você também deve incluir outros prefixos IP associados ao gateway da NAT.
Use az network nat gateway update para remover um prefixo de IP público do gateway da NAT. O comando da CLI do Azure substitui os valores. Ele não remove um valor. Para remover um prefixo de IP público, inclua qualquer prefixo no comando que deseja manter. Omita aquele que você deseja remover. Por exemplo, você tem um gateway da NAT configurado com dois prefixos IP públicos. Você deseja remover um dos prefixos. Os prefixos IP associados ao gateway NAT são chamados public-ip-prefix-nat e public-ip-prefix-nat2. Para remover public-ip-prefix-nat2, omita o nome do prefixo IP do comando. O comando reaplica os prefixos de IP listados no comando ao gateway da NAT. Ele remove qualquer endereço IP não listado.