Nested virtualization no azure
O Windows server 2016 trouxe a virtualização aninhada (nested virtualization) para que pudéssemos criar maquinas virtuais dentro de maquinas virtuais. Para alguns esse feito pode parecer algo sem importância, mas para estudantes ou profissionais que precisam criar ambientes de testes esse recurso acaba se tornando um valioso aliado.
Para usarmos esse recurso precisamos estar atentos aos SKUs que possuem essa especificação. São eles:
- D_v3
- Ds_v3
- E_v3
- Es_v3
- F2s_v2-F72s_v2
- M
Pra mais informações acesse https://docs.microsoft.com/en-us/azure/virtual-machines/windows/acu
Vamos a criação da VM
Se tratando de virtualização não recomendo economizar no disco, SSD Premium vai ser a melhor escolha.
Adicionei também um segundo disco SSD de 128GB onde as Vms serão armazenadas .
Clique em revisar e criar .
Preparação da VM
Faça logon na máquina virtual, os próximos passos serão realizados a partir do powershell da VM que servirá como Host (Servidor Hyper-v).
Precisamos instalar o hyper-v, para isso usaremos o powershell
Install-WindowsFeature -Name Hyper-v -IncludeManagementTools -Restart
No termino da instalação a VM será reiniciada.
Ao logar na VM voce ja verá o console do Hyper-v, mas ainda precisamos definir algumas configurações para começarmos a utilizar esse ambiente.
Vamos preparar o disco onde serão armazenadas as VMs.
- Abra o Disk Management
- Inicialize o nodo disco (Disk2)
- Selecione o novo disco, clique com o botão direito e New Simple Volume Wizard.
- Avance as demais telas.
- Pronto adicionamos o novo disco e criamos a partição onde as Vms ficarão armazenadas. Recomendo colocar um rotulo para facilitar a identificação
No console do hyper-v clique em Hyper-v Settings e altere a localização das VMs e dos VHDs para a nova partição
Criando um NAT-Switch
Claro que dependendo do seu lab voce pode precisar acessar a internet e para isso eu vou ensinar tambem como criar um NAT Switch em seu Host.
No Powershell digite o seguinte comando:
New-VMSwitch -Name "NatSwitch" -SwitchType Internal
Para os proximos comandos precisaremos identificar o indice da interface do Switch “NatSwitch” com o comando Get-NetAdapter.
Get-NetAdapter
Vamos definir o endereço que será usado como gateway para que as VMs possam acessar a internet.
New-NetIPAddress -IPAddress <endereço IP> -PrefixLength 24 -InterfaceIndex <ifIndex>
Com o comando New-NetNat vamos criar o objeto NAT que será responsável por converter os endereços usados na rede interno em endereços da rede externa
New-NetNat -Name <nome> -InternalIPInterfaceAddressPrefix <prefixo do endereço>
Nosso próximo passo será atribuir esse novo Switch Virtual a uma VM dentro do nosso host.
Crie a VM , instale o Sistema operacional, defina as suas personalizações.
Na VM criada em Host1 (Eu chamei de Srv01) acesse Settings > Network Adapter e selecione o Switch Virtual chamado NatSwitch.
Clique em OK
Logue na VM Srv01 e abra as configurações de rede.
Você poderá configurar qualquer IP da rede 192.168.0.0/24 em suas VMs com exceção do IP 192.168.0.254 que será o gateway usado para acessar a internet.
Nesse momento sua VM já terá conectividade com a internet mas é importante lembrar que para resolver nomes você precisa do DNS configurado. Nesse caso use o servidor DNS de sua preferencia e assim a navegação será 100%.
Para diminuir seus gastos sempre defina o desligamento automático de sua VM. Vamos supor que você utilize sempre das 14h as 17h, configure o desligamento automático sempre as 17:10 e assim voce não correrá o risco de esquece-la ligada e ser tarifado por isso
E é isso galera, nesse post você aprendeu como montar seu LAb virtual no Azure usando o Nested Virtualization. Vale lembrar que essas dicas são para ambiente de testes / homologação e não devem ser usadas em produção.
Aquele abraço e até o próximo post!
Ótima dica.
Abraço!
Valeu pelo feedback!
Boa!!! Gostei do artigo, já precisei usar para um ambiente de homologação e apanhei por não achar os SKUs Corretos.
Olá, Henrique. Já passei por esse problema também. Kkk
Continue acompanhando nossas dicas. ✌
Muito bom, Finet! Parabéns pelo artigo!!