Azure VMs – Adicionando uma máquina virtual à uma Virtual Network

Uma Virtual Network, ou VNet como também é conhecida, permite que um recurso do Azure, como uma VM, um Web APP, etc, tenha comunicação com outros recursos, com uma outra rede, ou até mesmo com a Internet .

Quando uma nova máquina virtual é criada, automaticamente é criada também uma nova VNet, uma subnet, um NIC (Network Interface Card) e um IP público (PIP). No caso da VNet e IP, é possível também selecionar umrecurso existente.

Configure Virtual Networks

  • Virtual network: Em qual VNet a VM será configurada. Por padrão é criada uma nova, mas pode ser selecionada uma existente.
  • Subnet: Qual subnet relacionada a VNet será utilizada.
  • Public IP: Qual será o IP público utilizado. É importante atenção nesse momento, pois caso sejá haja necessidade que o IP seja fixo, é necessário definilo como Static:
  • NIC network securiy group: É o grupo de segurança ao qual a VM será relacionada. Na recomendação básica, será criado um novo Network Securit Group (NSG) com as regras definidas na própria tela de criação da VM:
  • Public inbound ports: São as portas que serão liberadas na VM após sua criação. Normalmente para que seja possível acessar a VM remotamente são liberadas as portas de RDP no Windows (3389) e de SSH no Linux (22).
  • Acelerated Network: Reduz a latência de rede, ignorando o host físico onde a VM está hospedada:
Comparação

Conclusão

Para que seja possível comunicação com qualquer outro tipo de recurso, uma máquina virtual sempre irá necessitar de uma rede virtual e suas corretas configurações podem determinar se sua rede está ou não segura, sendo sucetível à ataques. Por isso, apesar de simples, é uma etapa da criação da VM que deve ser feita com cautela.

Azure VMs – Adicionando discos à uma máquina virtual

Os discos são os conhecidos HDs, onde armazenamos os dados do sistema operacional, arquivos, fotos, etc. Existem dois tipos de discos para VMs no Azure:

  • OS Disks que é o local de instalação do sistema operacional da VM
  • Data Disks onde é adicionado um disco extra que poderá ser utilizado pelas aplicações instaladas.

Existem 4 tipos de discos para as VMs onde estão em ordem de maior performance e preço (A opção premium é em médio 3 vezes mais cara que um HDD por exemplo):

  • Ultra SSD
  • Premium SSD
  • Standard SSD
  • Standard HDD

Disk Options


  • OS disk type: É o disco que será selecionado para o seu sistema operacional.

Data Disks

Como mencionado acima, são discos que poderão ser utilizados pelas aplicações das VMs. Por padrão não são adicionados discos de dados.

Advanced

Aqui é possível escolher entre um disco gerenciado ou não. A recomendação é a utilização de discos gerenciados, pois são mais escalonáveis, possuem maior disponibilidade, suporte a backup entre outras vantagens.

Conclusão

Os discos são uma parte importante no momento de criação de uma VM, podendo determinar se a VM terá performance, ou até mesmo se irá ultrapassar o orçamento destinado, por isso devemos escolher com atenção.

Demais posts da série:

Azure VMs – Criando e gerenciando uma máquina virtual

Olá pessoal, estou iniciando uma série de artigos sobre as máquinas virtuais no Azure. Vou passar por todas as etapas e explicar os detalhes da criação e gerenciamento das VMs.

Irei escrever um artigo para cada assunto, para que fique mais objetivo e fácil de encontrar os conteúdos. Conforme forem criados, vou atualizando essa páginas com os links:

Azure VM’s – Criando uma Máquina Virtual

Para criar uma nova máquina virtual, acesse o portal do Azure e selecione Virtual Machines, em seguida clique em adicionar:

Para a criação existem várias etapas que deverão ser configuradas, como discos e rede, neste artigo iremos falar das configurações básicas:

Nesta etapa são configuradas as informações essenciais para a criação da máquina virtual,

Project Details

São informações a respeito da organização lógica da VM. É importante seguir uma estratégia de organização nesse passo, pois irá facilitar posteriormente o controle dos recursos, informações sobre billing, etc.

Os itens que deverão ser preenchidos são:

  • Subscription: É um agrupamento de recursos, em que todos são cobrados juntos, na mesma fatura.
  • Resource Group: Também é um tipo de agrupamento de recursos. Devem ser divididos de acordo com contextos como ciclo de vida e permissões e políticas de acesso.

Instance Details

  • Virtual Machine Name: Nome que será dado à VM, também será seu Hostname.
  • Region: Onde estará localizada sua VM. Esta escolha deverá ser feita de acordo com seu objetivo, como por exemplo, custo e latência.
  • Availability options: São as opções de disponibilidade da VM, a fim de manter sua resiliencia e tolerancia a falhas. As opções podem ser Redundancia não requerida, Availability Zone, e Availability Set.
  • Image: Qual sistema operacional será utilizado.
  • Size: É uma das informações mais importantes, pois é nela que será estimado o custo da sua máquina virtual. Você poderá escolher de acordo com a quantidade de processamento e memória necessária para a VM.

Administrator Account

São as informações referentes ao usuário adminstrador da máquina virtual. Em caso de esquecimento, essas informações poderão ser alteradas posteriormente ;).

Inbound Port Rules

São as portas que serão liberadas na VM após sua criação. Normalmente para que seja possível acessar a VM remotamente são liberadas as portas de RDP no Windows (3389) e de SSH no Linux (22).

Save Money

Essa opção deverá ser selecionada no caso de sua empresa possuir alguma licença válida para o sistema operacional. Caso não possua, mantenha em No.

Conclusão

Essas são as opções básicas para a criação de máquinas virtuais no Azure. Para não ficar muito extenso nos próximos artigos irei demonstrar as demais opções.

Até mais pessoal!

Conectando WebApps a redes existentes

Em algumas situações quando utilizamos WebApps pode ser necessária a comunicação com algum recurso já existente em nossa rede, como por exemplo um banco de dados IaaS, uma API, ou até mesmo um outro WebApp.

A maneira mais simples de realizar essa comunicação é através da internet, mas, apesar de ser mais fácil isso pode expor sua aplicação a vários riscos de segurança, como invasões, roubos de dados, etc.

Para solucionar esse problema, o Microsoft Azure possui um recurso chamado VNet Integration, que permite a conexão de um WebApp a uma rede existente.

Agora irei demonstrar como realizar a conexão:

Criando a Virtual Network (VNet)

Se você já possuir uma VNet pode pular para a próxima etapa. Para a criação não existem muitos segredos, a VNet  pode seguir as configurações padrão sugeridas:

Após a criação da VNet, precisamos criar um VNet Gateway, que será utilizado para realizar uma conexão VPN Point to Site (P2S) do seu WebApp para a sua VNet, para isso é necessário adicionar uma subnet exclusiva para gateways. Vá em “Subnets” e clique em “Gateway subnet”:

Repare que a subnet é nomeada automaticamente, isso acontece pois no momento da criação do VNet Gateway ele irá buscar por esse nome:

Com a subnet criada, vamos à criação do Gateway.

Criando o Virtual Network Gateway

Em Gateway type selecione “VPN”, em VPN type “Route-based” e em Virtual network, escolha a VNet criada:

Essa etapa pode ser um pouco demorada, no geral demora em torno de 30 minutos  para a criação do gateway.

Após criado vá em Point-to-site configuration, desabilite a opção IkeV2, e adicione a chave de um certificado do tipo CER. Este certificado será baixado automaticamente pelo WebApp para realizar a autenticação na VPN.

Ao realizar a configuração do WebApp para a conexão do Gateway, você poderá receber a mensagem de erro abaixo dizendo que o protocolo IkeV2 não é compatível, certifique-se que a opção está desabilitada conforme a imagem acima.

Conectando o WebApp

Assim como a VNet, caso já possua o WebApp vá para o próximo passo. Caso ainda não tenha, pode manter as configurações padrão.

Vá em networking e em VNet Integration clique em Setup, e depois escolha a VNet que possui o VNet Gateway:

Problemas comuns

Outro problema muito comum, é o certificado estar fora de sincronia:

Para resolver isso, vá ao Service Plan do seu WebApp, e force o sincronismo:

Após esses passos seu WebApp será capaz de acessar os recursos da sua rede!

Abraço!

O que são Máquinas Virtuais?

Para realizarmos qualquer tarefa em um computador, precisamos invariavelmente escolher um sistema operacional. Quando fazemos essa escolha, colocamos na balança todos os prós e contras entre o sistema A ou B, e escolhemos aquele que nos trará mais vantagens, tendo que deixar o outro de lado.

Mas o que você acha de poder aproveitar o que cada SO tem de melhor? E se você pudesse escolher qual utilizar em um momento ou outro?

Com uma máquina virtual você pode!

Claro que existem outras maneiras de fazer isso, como várias máquinas físicas, utilizar dual boot, mas com máquinas virtuais isso se torna bem simples, rápido e barato.

O que é uma máquina virtual?

Uma máquina virtual ou VM, é um computador emulado em um ambiente de virtualização. Isso quer dizer que você pode implementar novos computadores através de software, e isso se torna muito interessante, pois permite instalar sistemas operacionais diferentes do que sua máquina física possuí, criar ambientes isolados, onde as aplicações não podem interferir umas nas outras, fazer o escalonamento vertical da VM dependendo da sua necessidade, entre várias outras vantagens que só conseguimos utilizando uma máquina virtual.

Atualmente os principais softwares utilizados para virtualização são:

  • Hyper-V
  • VMWare
  • Virtual Box
  • Xenserver (na verdade não é um software, mas uma espécie de distro Linux especializada para virtualização)

Aqui vou falar um pouco mais o Hyper-V, pois tenho utilizado muito ultimamente.

Hyper-V

Em quase todas as versões desktop do Windows 7 em diante é possível habilitar o Hyper-V nas features do Windows.

Quando o Hyper-V é habilitado, as máquinas virtuais não acessam os recursos físicos como processador e memória diretamente. Para este acesso é utilizada uma camada chamada Hypervisor e é ela quem administra os recursos físicos. O interessante é que não apenas o SO das máquinas virtuais criadas pelo Hyper-v, como o próprio SO hospedeiro, aquele que foi instalado na sua máquina e que você está utilizando para criar suas máquinas virtuais, utilizam o Hypervisor para acessar memória, processador, disco, e os outros recursos. Assim, para o Hyper-V, o nosso SO principal é uma máquina virtual.

Hyper-V vs Virtual Box

Quando você utiliza o Hyper-V, devido ao fato de seu sistema operacional hospedeiro ser utilizado como uma máquina virtual, existem algumas limitações. Uma delas é que atualmente não é possível criar uma VM dentro de outra (Nested Virtualization).

Na prática, a maioria das pessoas percebe essa limitação quando tenta utilizar o Virtual Box, ou algum outro meio de virtualização em paralelo ao Hyper-V. Para um software de virtualização funcionar ele precisa administrar alguns recursos do hardware. Aí é que está o problema. Lembra que o Hyper-V administra os recursos de hardware? Então, ele é meio egoísta, e não permite que mais nada tenha acesso a esses recursos.

No Windows Server 2016 TP4 até existe essa opção, mas o Windows “esconde” esse recurso. Com algumas linhas de comando é possível habilitá-lo, mas para isso é necessário ter um processador com tecnologia VT-x e esse cenário só é recomendado para fins de estudo uma vez que ainda não foi amplamente testado, e ainda existem muitos recursos que ainda não funcionam corretamente.

Containers

De uns tempos para cá tem se falado muito sobre containers. Esse assunto merece um post só para ele, portanto não vou aprofundar muito nesse assunto agora.

A grosso modo, um container é uma máquina virtual que compartilha o Kernel com o SO hospedeiro, e por isso ele é muito mais leve, tornando-o útil em vários cenários, principalmente quando precisamos criar recursos computacionais rapidamente.

Em breve pretendo criar um post com mais detalhes sobre containers.

Como eu crio uma máquina virtual?

Abaixo vou deixar alguns links com instruções de instalação e configuração do Hyper-V, e como criar uma Máquina Virtual.

Habilitando o Hyper-V no Windows 10

Criando uma máquina virtual

Conectando minha máquina virtual à rede

Espero ter ajudado com os conceitos básicos sobre Máquinas Virtuais, e sobre como o Hyper-V funciona.

Até mais!