Tutorial: Criar e gerir redes virtuais do Azure para máquinas virtuais do Windows com o Azure PowerShell
Aplica-se a: ✔️ VMs do Windows
As máquinas virtuais do Azure utilizam a rede do Azure para a comunicação de rede interna e externa. Este tutorial mostra a implementação de duas máquinas virtuais e a configuração da rede do Azure para essas VMs Os exemplos neste tutorial pressupõem que as VMs estão a alojar uma aplicação Web com um back-end de base de dados, no entanto, uma aplicação não é implementada no tutorial. Neste tutorial, ficará a saber como:
- Criar uma rede virtual e uma sub-rede
- Crie um endereço IP público
- Criar uma VM de front-end
- Proteger o tráfego de rede
- Criar a VM de back-end
Descrição geral do funcionamento em rede de VMs
As redes virtuais do Azure permitem ligações de rede seguras entre máquinas virtuais, internet e outros serviços do Azure, como SQL do Azure Base de Dados. As redes virtuais são divididas em segmentos lógicos, chamados sub-redes. As sub-redes são utilizadas para controlar o fluxo de rede e como limite de segurança. Ao implementar uma VM, incluem, geralmente, uma interface de rede virtual, que é ligada a uma sub-rede.
Ao concluir este tutorial, pode ver estes recursos serem criados:
- myVNet - a rede virtual que as VMs utilizam para comunicar entre si e com a Internet.
- myFrontendSubnet - a sub-rede em myVNet que os recursos de front-end utilizam.
- myPublicIPAddress - o endereço IP público utilizado para aceder a myFrontendVM a partir da Internet.
- myFrontendNic - a interface de rede utilizada por myFrontendVM para comunicar com myBackendVM.
- myFrontendVM - a VM utilizada para comunicar entre a Internet e myBackendVM.
- myBackendNSG - o grupo de segurança de rede que controla a comunicação entre myFrontendVM e myBackendVM.
- myBackendSubnet - a sub-rede associada a myBackendNSG e utilizada pelos recursos de back-end.
- myBackendNic - a interface de rede utilizada por myBackendVM para comunicar com myFrontendVM.
- myBackendVM - A VM que utiliza a porta 1433 para comunicar com myFrontendVM.
Iniciar o Azure Cloud Shell
O Azure Cloud Shell é um shell interativo gratuito que pode utilizar para executar os passos neste artigo. Tem as ferramentas comuns do Azure pré-instaladas e configuradas para utilização com a sua conta.
Para abrir o Cloud Shell, basta selecionar Experimente no canto superior direito de um bloco de código. Também pode iniciar o Cloud Shell num separador do browser separado ao aceder a https://shell.azure.com/powershell. Selecione Copiar para copiar os blocos de código, cole-o no Cloud Shell e prima Enter para executá-lo.
Criar sub-rede
Neste tutorial, é criada uma rede virtual individual com duas sub-redes. Uma sub-rede de front-end para alojar uma aplicação Web e uma sub-rede de back-end para alojar um servidor de bases de dados.
Antes de poder criar uma rede virtual, crie um grupo de recursos com New-AzResourceGroup. O exemplo seguinte cria um grupo de recursos denominado myRGNetwork na localização EastUS:
New-AzResourceGroup -ResourceGroupName myRGNetwork -Location EastUS
Crie uma configuração de sub-rede com o nome myFrontendSubnet com New-AzVirtualNetworkSubnetConfig:
$frontendSubnet = New-AzVirtualNetworkSubnetConfig `
-Name myFrontendSubnet `
-AddressPrefix 10.0.0.0/24
Crie também uma configuração de sub-rede denominada myBackendSubnet:
$backendSubnet = New-AzVirtualNetworkSubnetConfig `
-Name myBackendSubnet `
-AddressPrefix 10.0.1.0/24
Criar a rede virtual
Crie uma VNET com o nome myVNet com myFrontendSubnet e myBackendSubnet com New-AzVirtualNetwork:
$vnet = New-AzVirtualNetwork `
-ResourceGroupName myRGNetwork `
-Location EastUS `
-Name myVNet `
-AddressPrefix 10.0.0.0/16 `
-Subnet $frontendSubnet, $backendSubnet
Nesta fase, já está criada uma rede e segmentada em duas sub-redes, uma para os serviços de front-end e outra para os de back-end. Na secção seguinte, são criadas máquinas virtuais e ligadas a estas sub-redes.
Crie um endereço IP público
Os endereços IP públicos permitem que os recursos do Azure estejam acessíveis na Internet. O método de atribuição do endereço IP público pode ser configurado como dinâmico ou estático. Por predefinição, o endereço IP público é atribuído dinamicamente. Os endereços IP dinâmicos são libertados quando uma VM é desalocada. Este comportamento faz com que o endereço IP mude durante qualquer operação que inclua desalocar uma VM.
O método de alocação pode ser definido como estático, o que garante que o endereço IP permanece atribuído a uma VM, mesmo durante um estado desalocado. Se estiver a utilizar um endereço IP estático, não é possível especificar o endereço IP propriamente dito. Em vez disso, é alocado a partir de um conjunto de endereços disponíveis.
Crie um endereço IP público com o nome myPublicIPAddress com New-AzPublicIpAddress:
$pip = New-AzPublicIpAddress `
-ResourceGroupName myRGNetwork `
-Location EastUS `
-AllocationMethod Dynamic `
-Name myPublicIPAddress
Pode alterar o parâmetro -AllocationMethod para Static
para atribuir um endereço IP público estático.
Criar uma VM de front-end
Para uma VM comunicar numa rede virtual, necessita de uma interface de rede virtual (NIC). Crie uma NIC com New-AzNetworkInterface:
$frontendNic = New-AzNetworkInterface `
-ResourceGroupName myRGNetwork `
-Location EastUS `
-Name myFrontend `
-SubnetId $vnet.Subnets[0].Id `
-PublicIpAddressId $pip.Id
Defina o nome de utilizador e a palavra-passe necessários para a conta de administrador na VM com Get-Credential. Vai utilizar estas credenciais para ligar à VM nos passos adicionais:
$cred = Get-Credential
Crie as VMs com New-AzVM.
New-AzVM `
-Credential $cred `
-Name myFrontend `
-PublicIpAddressName myPublicIPAddress `
-ResourceGroupName myRGNetwork `
-Location "EastUS" `
-Size Standard_D1 `
-SubnetName myFrontendSubnet `
-VirtualNetworkName myVNet
Proteger o tráfego de rede
Os grupos de segurança de rede (NSG) contêm uma lista de regras de segurança que permitem ou negam o tráfego de rede para recursos ligados a Redes Virtuais do Azure (VNet). Os NSGs podem ser associados a sub-redes ou a interfaces de rede individuais. Um NSG associado a uma interface de rede aplica-se apenas à VM associada. Quando um NSG é associado a uma sub-rede, as regras são aplicadas a todos os recursos ligados à mesma.
Regras do grupo de segurança de rede
As regras do NSG definem as portas de rede através das quais o tráfego é permitido ou recusado. As regras podem incluir intervalos de endereços IP de origem e de destino, para que o tráfego seja controlado entre sistemas ou sub-redes específicos. As regras do NSG também incluem uma prioridade (entre 1 e 4096). As regras são avaliadas por ordem de prioridade. Uma regra com uma prioridade de 100 é avaliada antes de uma regra com prioridade de 200.
Todos os NSGs contêm um conjunto de regras predefinidas. As regras predefinidas não podem ser eliminadas, mas como lhes é atribuída a prioridade mais baixa, podem ser substituídas pelas regras que criar.
- Rede virtual - o tráfego que tem origem e termina numa rede virtual é permitido nas direções de entrada e de saída.
- Internet - o tráfego de saída é permitido, mas o tráfego de entrada é bloqueado.
- Balanceador de carga - permitir que o balanceador de carga do Azure sonde o estado de funcionamento das VMs e das instâncias de função. Se não estiver a utilizar um conjunto com balanceamento de carga, pode substituir esta regra.
Criar grupos de segurança de rede
Crie uma regra de entrada com o nome myFrontendNSGRule para permitir o tráfego web recebido em myFrontendVM com New-AzNetworkSecurityRuleConfig:
$nsgFrontendRule = New-AzNetworkSecurityRuleConfig `
-Name myFrontendNSGRule `
-Protocol Tcp `
-Direction Inbound `
-Priority 200 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 80 `
-Access Allow
Pode limitar o tráfego interno para myBackendVM a partir de apenas myFrontendVM ao criar um NSG para a sub-rede de back-end. O exemplo seguinte cria uma regra de NSG denominada myBackendNSGRule:
$nsgBackendRule = New-AzNetworkSecurityRuleConfig `
-Name myBackendNSGRule `
-Protocol Tcp `
-Direction Inbound `
-Priority 100 `
-SourceAddressPrefix 10.0.0.0/24 `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 1433 `
-Access Allow
Adicione um grupo de segurança de rede com o nome myFrontendNSG com New-AzNetworkSecurityGroup:
$nsgFrontend = New-AzNetworkSecurityGroup `
-ResourceGroupName myRGNetwork `
-Location EastUS `
-Name myFrontendNSG `
-SecurityRules $nsgFrontendRule
Agora, adicione um grupo de segurança de rede com o nome myBackendNSG com New-AzNetworkSecurityGroup:
$nsgBackend = New-AzNetworkSecurityGroup `
-ResourceGroupName myRGNetwork `
-Location EastUS `
-Name myBackendNSG `
-SecurityRules $nsgBackendRule
Adicione os grupos de segurança de rede às sub-redes:
$vnet = Get-AzVirtualNetwork `
-ResourceGroupName myRGNetwork `
-Name myVNet
$frontendSubnet = $vnet.Subnets[0]
$backendSubnet = $vnet.Subnets[1]
$frontendSubnetConfig = Set-AzVirtualNetworkSubnetConfig `
-VirtualNetwork $vnet `
-Name myFrontendSubnet `
-AddressPrefix $frontendSubnet.AddressPrefix `
-NetworkSecurityGroup $nsgFrontend
$backendSubnetConfig = Set-AzVirtualNetworkSubnetConfig `
-VirtualNetwork $vnet `
-Name myBackendSubnet `
-AddressPrefix $backendSubnet.AddressPrefix `
-NetworkSecurityGroup $nsgBackend
Set-AzVirtualNetwork -VirtualNetwork $vnet
Criar uma VM de back-end
A forma mais fácil de criar a VM de back-end para este tutorial é utilizar uma imagem do SQL Server. Este tutorial apenas cria a VM com o servidor de base de dados, mas não fornece informações sobre como aceder à base de dados.
Crie myBackendNic:
$backendNic = New-AzNetworkInterface `
-ResourceGroupName myRGNetwork `
-Location EastUS `
-Name myBackend `
-SubnetId $vnet.Subnets[1].Id
Defina o nome de utilizador e a palavra-passe necessários para a conta de administrador na VM com Get-Credential:
$cred = Get-Credential
Crie myBackendVM.
New-AzVM `
-Credential $cred `
-Name myBackend `
-ImageName "MicrosoftSQLServer:SQL2016SP1-WS2016:Enterprise:latest" `
-ResourceGroupName myRGNetwork `
-Location "EastUS" `
-SubnetName MyBackendSubnet `
-VirtualNetworkName myVNet
A imagem neste exemplo tem SQL Server instalada, mas não é utilizada neste tutorial. Está incluído para lhe mostrar como pode configurar uma VM para processar o tráfego web e uma VM para processar a gestão de bases de dados.
Passos seguintes
Neste tutorial, criou e protegeu redes do Azure relacionadas com máquinas virtuais.
- Criar uma rede virtual e uma sub-rede
- Crie um endereço IP público
- Criar uma VM de front-end
- Proteger o tráfego de rede
- Criar uma VM de back-end
Para saber mais sobre como proteger os discos da VM, veja Cópia de segurança e recuperação após desastre para discos.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários