Partilhar via


Criar, excluir ou atualizar redes virtuais do locatário

Neste tópico, você saberá como criar, excluir e atualizar Redes Virtuais de Virtualização de Rede do Hyper-V depois de implantar a SDN (Rede definida pelo software). A Virtualização de Rede do Hyper-V ajuda a isolar redes de locatário para que cada rede de locatário seja uma entidade separada. Não há a possibilidade de uma entidade fazer nenhuma conexão cruzada, a menos que você configure cargas de trabalho de acesso público.

Criar uma nova rede virtual

A criação de uma rede virtual para um locatário a coloca dentro de um domínio de roteamento exclusivo no host do Hyper-V. Sob cada rede virtual, há pelo menos uma sub-rede virtual. As sub-redes virtuais são definidas por um prefixo IP e fazem referência a uma ACL definida anteriormente.

As etapas para criar uma nova rede virtual são:

  1. Identificar os prefixos de endereço IP dos quais você deseja criar as sub-redes virtuais.
  2. Identificar a rede do provedor lógico na qual o tráfego do locatário é encapsulado.
  3. Criar pelo menos uma sub-rede virtual para cada prefixo IP que você identificou na etapa 1.
  4. (Opcional) Adicionar as ACLs criadas anteriormente às sub-redes virtuais ou adicionar a conectividade de gateway aos locatários.

A tabela a seguir inclui IDs de sub-rede de exemplo e prefixos para dois locatários fictícios. O locatário Fabrikam tem duas sub-redes virtuais, enquanto o locatário Contoso tem três sub-redes virtuais.

Nome do locatário ID de Sub-rede Virtual Prefixo de sub-rede virtual
Fabrikam 5001 24.30.1.0/24
Fabrikam 5002 24.30.2.0/20
Contoso 6001 24.30.1.0/24
Contoso 6002 24.30.2.0/24
Contoso 6003 24.30.3.0/24

O script de exemplo a seguir usa comandos do Windows PowerShell exportados do módulo NetworkController para criar a rede virtual da Contoso e uma sub-rede:

import-module networkcontroller
$URI = "https://ncrest.contoso.local"

#Find the HNV Provider Logical Network

$logicalnetworks = Get-NetworkControllerLogicalNetwork -ConnectionUri $uri
foreach ($ln in $logicalnetworks) {
   if ($ln.Properties.NetworkVirtualizationEnabled -eq "True") {
      $HNVProviderLogicalNetwork = $ln
   }
}

#Find the Access Control List to user per virtual subnet

$acllist = Get-NetworkControllerAccessControlList -ConnectionUri $uri -ResourceId "AllowAll"

#Create the Virtual Subnet

$vsubnet = new-object Microsoft.Windows.NetworkController.VirtualSubnet
$vsubnet.ResourceId = "Contoso_WebTier"
$vsubnet.Properties = new-object Microsoft.Windows.NetworkController.VirtualSubnetProperties
$vsubnet.Properties.AccessControlList = $acllist
$vsubnet.Properties.AddressPrefix = "24.30.1.0/24"

#Create the Virtual Network

$vnetproperties = new-object Microsoft.Windows.NetworkController.VirtualNetworkProperties
$vnetproperties.AddressSpace = new-object Microsoft.Windows.NetworkController.AddressSpace
$vnetproperties.AddressSpace.AddressPrefixes = @("24.30.1.0/24")
$vnetproperties.LogicalNetwork = $HNVProviderLogicalNetwork
$vnetproperties.Subnets = @($vsubnet)
New-NetworkControllerVirtualNetwork -ResourceId "Contoso_VNet1" -ConnectionUri $uri -Properties $vnetproperties

Modificar uma rede virtual existente

Você pode usar o Windows PowerShell para atualizar uma sub-rede virtual ou rede existente.

Quando você executar o script de exemplo a seguir, os recursos atualizados serão simplesmente PUT para o Controlador de Rede com a mesma ID de recurso. Se o locatário Contoso quiser adicionar uma nova sub-rede virtual (24.30.2.0/24) à rede virtual dele, você ou o Administrador da Contoso podem usar o script a seguir.

$acllist = Get-NetworkControllerAccessControlList -ConnectionUri $uri -ResourceId "AllowAll"

$vnet = Get-NetworkControllerVirtualNetwork -ResourceId "Contoso_VNet1" -ConnectionUri $uri

$vnet.properties.AddressSpace.AddressPrefixes += "24.30.2.0/24"

$vsubnet = new-object Microsoft.Windows.NetworkController.VirtualSubnet
$vsubnet.ResourceId = "Contoso_DBTier"
$vsubnet.Properties = new-object Microsoft.Windows.NetworkController.VirtualSubnetProperties
$vsubnet.Properties.AccessControlList = $acllist
$vsubnet.Properties.AddressPrefix = "24.30.2.0/24"

$vnet.properties.Subnets += $vsubnet

New-NetworkControllerVirtualNetwork -ResourceId "Contoso_VNet1" -ConnectionUri $uri -properties $vnet.properties

Excluir uma rede virtual

Você pode usar o Windows PowerShell para excluir uma Rede Virtual.

O exemplo do Windows PowerShell a seguir exclui uma Rede Virtual de locatário emitindo uma exclusão HTTP para o URI da ID de recurso.

Remove-NetworkControllerVirtualNetwork -ResourceId "Contoso_Vnet1" -ConnectionUri $uri