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:
- Identificar os prefixos de endereço IP dos quais você deseja criar as sub-redes virtuais.
- Identificar a rede do provedor lógico na qual o tráfego do locatário é encapsulado.
- Criar pelo menos uma sub-rede virtual para cada prefixo IP que você identificou na etapa 1.
- (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