Neste artigo, você cria uma máquina virtual no Azure com o portal do Azure. A máquina virtual é criada juntamente com a rede dual-stack como parte dos procedimentos. Você escolhe entre o portal do Azure, a CLI do Azure ou o Azure PowerShell para concluir as etapas neste artigo. Ao concluir, a máquina virtual dará suporte à comunicação IPv4 e IPv6.
Pré-requisitos
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Introdução ao Azure Cloud Shell.
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 obter outras opções de entrada, consulte Autenticar no Azure usando 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 e gerenciar 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.
- Este tutorial exige a versão 2.0.28 ou posterior da CLI do Azure. Se você está usando o Azure Cloud Shell, a versão mais recente já está instalada.
- Uma conta do Azure com uma assinatura ativa.
Crie uma conta gratuitamente.
- O Azure PowerShell instalado localmente ou o Azure Cloud Shell.
- Entre no Azure PowerShell e selecione a assinatura que você deseja usar. Para obter mais informações, veja Entrar com o Azure PowerShell.
- Verifique se o Az. A versão do módulo de rede é 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. Rede".
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.
Criar um grupo de recursos e uma rede virtual
Nesta seção, você criará um grupo de recursos e uma rede virtual de pilha dupla para a máquina virtual no portal do Azure.
Criar um grupo de recursos
Entre no portal do Azure.
No portal, pesquise e selecione Grupos de recursos.
Selecione + Criar.
Na guia Noções básicas, insira ou selecione os seguintes valores:
| Configuração |
Valor |
|
Subscription |
Selecione sua assinatura. |
|
Grupo de recursos |
Insira myResourceGroup. |
|
Região |
Selecione (EUA) Leste dos EUA 2. |
Selecione Examinar + Criar e, em seguida, selecione Criar.
Criar uma rede virtual
Na caixa de pesquisa na parte superior do portal, insira Rede virtual. Selecione Redes virtuais nos resultados da pesquisa.
Selecione + Criar.
Na guia Informações Básicas em Criar rede virtual, insira ou selecione as informações a seguir.
| Configuração |
Valor |
|
Detalhes do projeto |
|
| Assinatura |
Selecione sua assinatura. |
| Grupo de recursos |
Selecione myResourceGroup. |
|
Detalhes da instância |
|
| Nome |
Insira myVNet. |
| Região |
Selecione Leste dos EUA 2. |
Selecione a guia Endereços IP ou Avançar>Avançar.
Mantenha o espaço de endereço IPv4 padrão de 10.0.0.0/16. Se o padrão estiver ausente ou diferente, insira um espaço de endereço IPv4 de 10.0.0.0/16.
Selecione a sub-rede padrão.
Na página Editar sub-rede, insira myBackendSubnet no Nome da sub-rede e selecione Salvar.
Selecione Adicionar espaço de endereço IPv6 no menu suspenso.
No espaço de endereço IPv6, edite o espaço de endereço padrão e altere seu valor para 2404:f800:8000:122::/63.
Para adicionar uma sub-rede IPv6, selecione + Adicionar uma sub-rede e insira ou selecione as seguintes informações:
| Configuração |
Valor |
|
Sub-rede |
|
| Nome da sub-rede |
Insira myBackendSubnet. |
| Intervalo de endereços |
Mantenha o padrão de 2404:f800:8000:122::. |
| Tamanho |
Mantenha o padrão de /64. |
Selecione Adicionar.
Selecione Examinar + criar.
Selecione Criar.
Nesta seção, você criará um grupo de recursos e uma rede virtual de pilha dupla para a máquina virtual com a CLI do Azure.
Crie um grupo de recursos com az group create chamado myResourceGroup na localização eastus2.
az group create \
--name myResourceGroup \
--location eastus2
Use az network vnet create para criar a rede virtual.
az network vnet create \
--resource-group myResourceGroup \
--location eastus2 \
--name myVNet \
--address-prefixes 10.0.0.0/16 2404:f800:8000:122::/63 \
--subnet-name myBackendSubnet \
--subnet-prefixes 10.0.0.0/24 2404:f800:8000:122::/64
Nesta seção, você criará uma rede virtual de pilha dupla para a máquina virtual com o Azure PowerShell.
Crie um grupo de recursos com New-AzResourceGroup chamado myResourceGroup na localização eastus2.
$rg =@{
Name = 'myResourceGroup'
Location = 'eastus2'
}
New-AzResourceGroup @rg
Use New-AzVirtualNetwork e New-AzVirtualNetworkSubnetConfig para criar uma rede virtual.
## Create backend subnet config ##
$subnet = @{
Name = 'myBackendSubnet'
AddressPrefix = '10.0.0.0/24','2404:f800:8000:122::/64'
}
$subnetConfig = New-AzVirtualNetworkSubnetConfig @subnet
## Create the virtual network ##
$net = @{
Name = 'myVNet'
ResourceGroupName = 'myResourceGroup'
Location = 'eastus2'
AddressPrefix = '10.0.0.0/16','2404:f800:8000:122::/63'
Subnet = $subnetConfig
}
New-AzVirtualNetwork @net
Criar endereços IP públicos
Você cria dois endereços IP públicos nesta seção, IPv4 e IPv6, no portal do Azure.
Criar um endereço IP público IPv4
Na caixa de pesquisa na parte superior do portal, 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 |
|
Detalhes do projeto |
|
| Assinatura |
Selecione sua assinatura. |
| Grupo de recursos |
Selecione myResourceGroup. |
| Localização |
Selecione Leste dos EUA 2. |
| Zona de disponibilidade |
Selecione Com redundância de zona. |
|
Detalhes da instância |
|
| Nome |
Insira myPublicIP-IPv4. |
| Versão IP |
Selecione IPv4. |
| SKU |
Deixe o padrão de Standard. |
| Camada |
Mantenha o padrão de Regional. |
|
Atribuição de endereço IP |
|
| Preferência de roteamento |
Deixe o padrão da rede da Microsoft. |
| Tempo limite de inatividade (minutos) |
Mantenha o padrão de 4. |
| Rótulo do nome DNS |
Insira myPublicIP-IPv4. |
Selecione Examinar + criar e, em seguida, Criar.
Criar um endereço IP público IPv6
Na caixa de pesquisa na parte superior do portal, 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 |
|
Detalhes do projeto |
|
| Assinatura |
Selecione sua assinatura. |
| Grupo de recursos |
Selecione myResourceGroup. |
| Localização |
Selecione Leste dos EUA 2. |
| Zona de disponibilidade |
Selecione Redundância de zona. |
|
Detalhes da instância |
|
| Nome |
Insira myPublicIP-IPv6. |
| Versão IP |
Selecione IPv6. |
| SKU |
Deixe o padrão de Standard. |
| Camada |
Mantenha o padrão de Regional. |
|
Atribuição de endereço IP |
|
| Rótulo do nome DNS |
Insira myPublicIP-IPv6. |
Selecione Examinar + criar e, em seguida, Criar.
Você cria dois endereços IP públicos nesta seção, IPv4 e IPv6, com a CLI do Azure.
Use az network public-ip create para criar os endereços IP públicos.
az network public-ip create \
--resource-group myResourceGroup \
--name myPublicIP-Ipv4 \
--sku Standard \
--version IPv4 \
--zone 1 2 3
az network public-ip create \
--resource-group myResourceGroup \
--name myPublicIP-Ipv6 \
--sku Standard \
--version IPv6 \
--zone 1 2 3
Você cria dois endereços IP públicos nesta seção, IPv4 e IPv6.
Use New-AzPublicIpAddress para criar os endereços IP públicos.
$ip4 = @{
Name = 'myPublicIP-IPv4'
ResourceGroupName = 'myResourceGroup'
Location = 'eastus2'
Sku = 'Standard'
AllocationMethod = 'Static'
IpAddressVersion = 'IPv4'
Zone = 1,2,3
}
New-AzPublicIpAddress @ip4
$ip6 = @{
Name = 'myPublicIP-IPv6'
ResourceGroupName = 'myResourceGroup'
Location = 'eastus2'
Sku = 'Standard'
AllocationMethod = 'Static'
IpAddressVersion = 'IPv6'
Zone = 1,2,3
}
New-AzPublicIpAddress @ip6
Criar máquina virtual
Nesta seção, você cria a máquina virtual e seus recursos de suporte.
Criar máquina virtual
Na caixa de pesquisa na parte superior do portal insira Máquina virtual. Selecione Máquinas virtuais nos resultados da pesquisa.
Selecione + Criar e depois a máquina virtual do Azure.
Na guia Básico, insira ou selecione as informações a seguir.
| Configuração |
Valor |
|
Detalhes do projeto |
|
| Assinatura |
Selecione sua assinatura. |
| Grupo de recursos |
Selecione myResourceGroup. |
|
Detalhes da instância |
|
| Nome da máquina virtual |
Insira a opção myVM. |
| Região |
Selecione Leste dos EUA 2. |
| Opções de disponibilidade |
Selecione Nenhuma redundância de infraestrutura necessária. |
| Tipo de segurança |
Selecione Padrão. |
| Imagem |
Selecione Ubuntu Server 20.04 LTS - Gen2. |
| Tamanho |
Selecione o tamanho padrão. |
|
Conta de administrador |
|
| Tipo de autenticação |
Selecione Chave pública SSH. |
| Nome de Usuário |
Digite um nome de usuário. |
| Origem de chave pública SSH |
Selecione Gerar novo par de chaves. |
| Nome do par de chaves |
Insira mySSHKey. |
| Regras de porta de entrada |
|
| Portas de entrada públicas |
Selecione Nenhum. |
Selecione a guia Rede ou Avançar: discos e, em seguida, Avançar: rede.
Insira ou selecione as seguintes informações na guia Rede.
| Configuração |
Valor |
|
Interface de rede |
|
| Rede virtual |
Selecione myVNet. |
| Sub-rede |
Selecione myBackendSubnet (10.1.0.0/24,2404:f800:8000:122:/64). |
| IP público |
Selecione myPublicIP-IPv4. |
| Grupo de segurança de rede da NIC |
Selecione Avançado. |
| Configurar um grupo de segurança de rede |
Selecione Criar novo.
Insira myNSG em Nome.
Selecione OK. |
Selecione Examinar + criar.
Selecione Criar.
Gerar um novo par de chaves é exibido. Selecione Baixar chave privada e criar recurso.
A chave privada será baixada no computador local. Copie a chave privada para um diretório em seu computador. No exemplo a seguir, ela é ~/.ssh.
Uma interface de rede é criada e anexada automaticamente à rede virtual escolhida durante a criação. Nesta seção, você adiciona a configuração IPv6 ao adaptador de rede existente.
Na caixa de pesquisa na parte superior do portal insira Máquina virtual. Selecione Máquinas virtuais nos resultados da pesquisa.
Selecione myVM ou o nome da máquina virtual existente.
Selecione Rede em Configurações.
O nome do adaptador de rede padrão será myvmxx, sendo xx um número aleatório. Neste exemplo, é myvm281. Selecione myvm281 ao lado de Adaptador de rede:.
Nas propriedades do adaptador de rede, selecione Configurações de IP em Configurações.
Em Configurações de IP, selecione + Adicionar.
Em Adicionar configurações de IP, insira ou selecione as informações a seguir.
| Configuração |
Valor |
| Nome |
Insira Ipv6config. |
| Versão IP |
Selecione IPv6. |
|
Configurações de endereço IP privado |
|
| Alocação |
Deixe o padrão Dinâmico. |
| Endereço IP público |
Selecione Associar. |
| Endereço IP público |
Selecione myPublicIP-IPv6. |
Selecione OK.
Nesta seção, você cria a máquina virtual e seus recursos de suporte.
Criar um grupo de segurança de rede
Crie um grupo de segurança de rede com az network nsg create. As regras padrão no grupo de segurança de rede negam todo o acesso de entrada da Internet.
az network nsg create \
--resource-group myResourceGroup \
--name myNSG
Criar interface de rede
Você usa az network nic create para criar a interface de rede para a máquina virtual. Os endereços IP públicos e os NSG criados anteriormente são associados à NIC. A interface de rede é anexada à rede virtual criada anteriormente.
az network nic create \
--resource-group myResourceGroup \
--name myNIC1 \
--vnet-name myVNet \
--subnet myBackEndSubnet \
--network-security-group myNSG \
--public-ip-address myPublicIP-IPv4
Criar configuração de IP IPv6
Use az network nic ip-config create para criar a configuração do IPv6 da NIC.
az network nic ip-config create \
--resource-group myResourceGroup \
--name myIPv6config \
--nic-name myNIC1 \
--private-ip-address-version IPv6 \
--vnet-name myVNet \
--subnet myBackendSubnet \
--public-ip-address myPublicIP-IPv6
Criar máquina virtual
Use az vm create para criar a máquina virtual.
az vm create \
--resource-group myResourceGroup \
--name myVM \
--nics myNIC1 \
--image Ubuntu2204 \
--admin-username azureuser \
--authentication-type ssh \
--generate-ssh-keys
Nesta seção, você cria a máquina virtual e seus recursos de suporte.
Criar um grupo de segurança de rede
Crie um grupo de segurança de rede com New-AzNetworkSecurityGroup. As regras padrão no grupo de segurança de rede negam todo o acesso de entrada da Internet.
$nsg = @{
Name = 'myNSG'
ResourceGroupName = 'myResourceGroup'
Location = 'eastus2'
}
New-AzNetworkSecurityGroup @nsg
Criar interface de rede
Você usa New-AzNetworkInterface e New-AzNetworkInterfaceIpConfig para criar a interface de rede para a máquina virtual. Os endereços IP públicos e os NSG criados anteriormente são associados à NIC. A interface de rede é anexada à rede virtual criada anteriormente.
## Place the virtual network into a variable. ##
$net = @{
Name = 'myVNet'
ResourceGroupName = 'myResourceGroup'
}
$vnet = Get-AzVirtualNetwork @net
## Place the network security group into a variable. ##
$ns = @{
Name = 'myNSG'
ResourceGroupName = 'myResourceGroup'
}
$nsg = Get-AzNetworkSecurityGroup @ns
## Place the IPv4 public IP address into a variable. ##
$pub4 = @{
Name = 'myPublicIP-IPv4'
ResourceGroupName = 'myResourceGroup'
}
$pubIPv4 = Get-AzPublicIPAddress @pub4
## Place the IPv6 public IP address into a variable. ##
$pub6 = @{
Name = 'myPublicIP-IPv6'
ResourceGroupName = 'myResourceGroup'
}
$pubIPv6 = Get-AzPublicIPAddress @pub6
## Create IPv4 configuration for NIC. ##
$IP4c = @{
Name = 'ipconfig-ipv4'
Subnet = $vnet.Subnets[0]
PrivateIpAddressVersion = 'IPv4'
PublicIPAddress = $pubIPv4
}
$IPv4Config = New-AzNetworkInterfaceIpConfig @IP4c
## Create IPv6 configuration for NIC. ##
$IP6c = @{
Name = 'ipconfig-ipv6'
Subnet = $vnet.Subnets[0]
PrivateIpAddressVersion = 'IPv6'
PublicIPAddress = $pubIPv6
}
$IPv6Config = New-AzNetworkInterfaceIpConfig @IP6c
## Command to create network interface for VM ##
$nic = @{
Name = 'myNIC1'
ResourceGroupName = 'myResourceGroup'
Location = 'eastus2'
NetworkSecurityGroup = $nsg
IpConfiguration = $IPv4Config,$IPv6Config
}
New-AzNetworkInterface @nic
Criar máquina virtual
Use os seguintes comandos para criar a máquina virtual:
$cred = Get-Credential
## Place network interface into a variable. ##
$nic = @{
Name = 'myNIC1'
ResourceGroupName = 'myResourceGroup'
}
$nicVM = Get-AzNetworkInterface @nic
## Create a virtual machine configuration for VMs ##
$vmsz = @{
VMName = 'myVM'
VMSize = 'Standard_DS1_v2'
}
$vmos = @{
ComputerName = 'myVM'
Credential = $cred
}
$vmimage = @{
PublisherName = 'Debian'
Offer = 'debian-11'
Skus = '11'
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 = 'myResourceGroup'
Location = 'eastus2'
VM = $vmConfig
SshKeyName = 'mySSHKey'
}
New-AzVM @vm -GenerateSshKey
Instalar nginx
Nesta seção, você criará uma regra de grupo de segurança de rede para permitir o tráfego HTTP e instalar o nginx na máquina virtual usando o recurso Executar Comando.
Criar uma regra de segurança de entrada
Na caixa de pesquisa na parte superior do portal, digite Grupo de segurança de rede. Selecione Grupos de segurança de rede nos resultados da pesquisa.
Escolha myNSG.
Selecione regras de segurança de entrada em Configurações.
Selecione + Adicionar.
Insira ou selecione as seguintes informações:
| Configuração |
Valor |
| Source |
Mantenha o padrão de Any. |
| Intervalos de portas de origem |
Mantenha o padrão de *. |
| Destino |
Mantenha o padrão de Any. |
| Serviço |
Selecione HTTP. |
| Ação |
Mantenha o padrão de Allow. |
| Prioridade |
Insira 100. |
| Nome |
Insira myNSGRuleHTTP. |
Selecione Adicionar.
Utilizar o comando Executar para instalar o nginx
Na caixa de pesquisa na parte superior do portal insira Máquina virtual. Selecione Máquinas virtuais nos resultados da pesquisa.
Selecione myVM.
Em Operações, selecione Executar comando.
Selecione RunShellScript.
Digite os seguintes comandos:
sudo apt-get update
sudo apt-get install -y nginx
Selecione Executar.
Aguarde até que o comando seja concluído. O painel de saída exibe Habilitação concluída com sucesso quando concluído.
Criar uma regra de segurança de entrada
Use az network nsg rule create para criar uma regra de grupo de segurança de rede para permitir o tráfego HTTP.
az network nsg rule create \
--resource-group myResourceGroup \
--nsg-name myNSG \
--name myNSGRuleHTTP \
--protocol '*' \
--direction inbound \
--source-address-prefix '*' \
--source-port-range '*' \
--destination-address-prefix '*' \
--destination-port-range 80 \
--access allow \
--priority 100
Instalar nginx
Use az vm run-command invoke para instalar o nginx na máquina virtual.
az vm run-command invoke \
--resource-group myResourceGroup \
--name myVM \
--command-id RunShellScript \
--scripts "sudo apt-get update && sudo apt-get install -y nginx"
Criar uma regra de segurança de entrada
Use Get-AzNetworkSecurityGroup e Add-AzNetworkSecurityRuleConfig para criar uma regra de grupo de segurança de rede para permitir o tráfego HTTP.
## Place the network security group into a variable. ##
$nsg = @{
Name = 'myNSG'
ResourceGroupName = 'myResourceGroup'
}
$nsgObj = Get-AzNetworkSecurityGroup @nsg
## Create the network security group rule. ##
$nsgRule = @{
Name = 'myNSGRuleHTTP'
Protocol = '*'
Direction = 'Inbound'
Priority = 100
SourceAddressPrefix = '*'
SourcePortRange = '*'
DestinationAddressPrefix = '*'
DestinationPortRange = 80
Access = 'Allow'
}
$nsgObj | Add-AzNetworkSecurityRuleConfig @nsgRule | Set-AzNetworkSecurityGroup
Instalar nginx
Use Invoke-AzVMRunCommand para realizar a instalação do nginx na máquina virtual.
$vm = @{
ResourceGroupName = 'myResourceGroup'
Name = 'myVM'
CommandId = 'RunShellScript'
ScriptString = 'sudo apt-get update && sudo apt-get install -y nginx'
}
Invoke-AzVMRunCommand @vm
Testar a conectividade de dual-stack
Verifique se o nginx está em execução conectando-se ao endereço IPv4 público da máquina virtual.
Na caixa de pesquisa na parte superior do portal, insira Endereço IP Público. Selecione Endereços IP públicos nos resultados da pesquisa.
Selecione myPublicIP-IPv4.
Observe o endereço IPv4 público na visão geral em endereço IP. Neste exemplo, é 203.0.113.77.
Abra seu navegador da Web e navegue até http://203.0.113.77. Substitua o endereço IP pelo endereço IPv4 público da sua máquina virtual.
A página de boas-vindas nginx padrão é exibida, confirmando que o servidor Web está em execução e acessível por IPv4.
Use az network public-ip show para exibir os endereços IP da máquina virtual.
az network public-ip show \
--resource-group myResourceGroup \
--name myPublicIP-IPv4 \
--query ipAddress \
--output tsv
Abra o navegador da Web e navegue até o endereço IPv4 exibido. A página de boas-vindas nginx padrão confirma que o servidor Web está em execução e acessível.
Use o seguinte comando para exibir o endereço IPv6:
az network public-ip show \
--resource-group myResourceGroup \
--name myPublicIP-IPv6 \
--query ipAddress \
--output tsv
Use Get-AzPublicIpAddress para exibir os endereços IP da máquina virtual.
$ip4 = @{
ResourceGroupName = 'myResourceGroup'
Name = 'myPublicIP-IPv4'
}
Get-AzPublicIPAddress @ip4 | select IpAddress
Abra o navegador da Web e navegue até o endereço IPv4 exibido. A página de boas-vindas nginx padrão confirma que o servidor Web está em execução e acessível.
Use o seguinte comando para exibir o endereço IPv6:
$ip6 = @{
ResourceGroupName = 'myResourceGroup'
Name = 'myPublicIP-IPv6'
}
Get-AzPublicIPAddress @ip6 | select IpAddress
Limpar os recursos
Quando terminar de usar os recursos criados neste artigo, exclua o grupo de recursos e todos os recursos que ele contém:
Na caixa Pesquisar na parte superior do portal insira myResourceGroup. Selecione myResourceGroup nos resultados da pesquisa em Grupos de recursos.
Selecione Excluir grupo de recursos.
Insira myResourceGroup para DIGITAR O NOME DO GRUPO DE RECURSOS: e selecione Excluir.
Quando o grupo de recursos, a máquina virtual e todos os recursos relacionados não forem mais necessários, use o comando az group delete para removê-los.
az group delete \
--name myResourceGroup
Quando não for mais necessário, use o comando Remove-AzResourceGroup para remover o grupo de recursos, a máquina virtual e todos os recursos relacionados.
Remove-AzResourceGroup -Name 'myResourceGroup'
Próximas etapas
Neste artigo, você aprendeu a criar uma máquina virtual do Azure com uma rede de pilha dupla.
Para obter mais informações sobre IPv6 e endereços IP no Azure, confira: