Azure 003 – Virtual Machines

Durante o processo de criação de uma máquina virtual, devemos preencher um grande conjunto de informações importantes:

  • Subscription: qual assinatura que é responsável pelo pagamento dos recursos utilizados
  • Resource Group: grupo de serviços
  • Virtual Machine name: nome da VM para o Azure, o mesmo nome informado é utilizado pelo sistema operacional como HOST
  • Região
  • Availability Options:
    • Nenhuma
    • Availability Zones
    • Availability Sets
  • Image: imagem que será utilizada para criar a máquina virtual
  • Azure Spot instances: modelo de consumo de recursos computacionais não utilizados de um datacenter, por preço menor mas sem garantia de SLA.
  • Size: tamanho da máquina virtual em VCPU e memória RAM que será disponibilizado.
TypeSizesDescription
General purposeB, Dsv3, Dv3, Dasv4, Dav4, DSv2, Dv2, Av2, DC, DCv2Balanced CPU-to-memory ratio. Ideal for testing and development, small to medium databases, and low to medium traffic web servers.
Compute optimizedFsv2High CPU-to-memory ratio. Good for medium traffic web servers, network appliances, batch processes, and application servers.
Memory optimizedEsv3, Ev3, Easv4, Eav4, Mv2, M, DSv2, Dv2High memory-to-CPU ratio. Great for relational database servers, medium to large caches, and in-memory analytics.
Storage optimizedLsv2High disk throughput and IO ideal for Big Data, SQL, NoSQL databases, data warehousing and large transactional databases.
GPUNC, NCv2, NCv3, ND, NDv2 (Preview), NV, NVv3, NVv4Specialized virtual machines targeted for heavy graphic rendering and video editing, as well as model training and inferencing (ND) with deep learning. Available with single or multiple GPUs.
High performance computeHB, HBv2, HC, HOur fastest and most powerful CPU virtual machines with optional high-throughput network interfaces (RDMA).
Fonte: https://docs.microsoft.com/en-us/azure/virtual-machines/linux/sizes
  • Tipo de autenticação: SSH key ou Password
    • Username: existem palavras reservadas que não podem ser utilizadas por questão de segurança
  • Public inbound ports: altera as configurações do Network Security Group (NSG) para permitir tráfego de dados pelas portas selecionadas.

Na próxima etapa:

  • OS disk type: tipo de disco onde será instalado o sistema operacional
  • Encryption type: chaves gerenciadas pelo Azure, ou chaves gerenciadas pelo usuário através do Key Vault
  • Data disks: discos de dados

Discos de dados podem ser do tipo não gerenciado pelo Azure (Storage Acount) ou gerenciado pelo azure.

Use ephemeral OS disk: discos de sistema operacional que não são integrados ao Azure Storage, portanto todos os dados são perdidos quando a máquina é desligada.

https://docs.microsoft.com/pt-br/azure/virtual-machines/windows/ephemeral-os-disks

Na próxima etapa:

  • Virtual network: VNET que será inserida a máquina virtual
  • Subnet
  • Public IP: IP público na internet
  • NIC network security group: none / basic / advanced
  • Public inbound ports: portas de entrada de tráfego de dados
  • Accelerated network: tipo de rede especial com maior velocidade de troca de dados
  • Load balancing: se essa VM será publicada conectada a um balanceador de carga.

Na próxima etapa:

  • Monitoring
    • Boot diagnostics: armazenar o log de inicialização do sistema
    • OS gest diagnostics: armazenar métricas do sistema operacional para gerar alertas
    • Diagnostics storage acount: conta de armazenamento onde será guardado os logs
  • System assigned managed identity: indica se será criada uma identidade no Azure AD, permitindo que essa VM tenha acesso a recursos sem a necessidade de fornecer credenciais para fazer a autenticação
  • Enable auto-shutdown: desligamento automático agendado
  • Backup: habilita o Azure Backup

Na próxima etapa:

  • Extensions: componentes de software providos pela Microsoft ou por terceiros que adicionam funcionalidades para a VM.
  • Cloud init: caixa de texto (apenas para VM Linux) que permite a inserção de scripts bash que serão executados após o primeiro boot da VM.
  • Host groups: forma de colocar a VM dentro de um grupo de Dedicated Hosts
  • Proximity placement group: agrupamento que permite colocar as VMs em hosts físicos próximos para melhorar a velocidade de troca de informação
  • VM generation: Gen 1 ou Gen 2
#cloud-config
package_upgrade: true
packages:
  - apache2
runcmd:
  - [ systemctl, enable, apache2.service ]
  - [ systemctl, start, apache2.service ]

Tags, tags, tags!!!

Review and create

Availability Sets

Conceptual drawing of the update domain and fault domain configuration
FD = Fault Domain UD = Update Domain

https://docs.microsoft.com/pt-br/azure/virtual-machines/windows/manage-availability

https://docs.microsoft.com/pt-br/azure/virtual-machines/windows/tutorial-availability-sets

Network Security Group

  • Source port ranges: manter sempre * pois durante o processo de estabelecimento de uma conexão tanto o TCP quanto o UDP possuem uma porta de destino da conexão (neste caso 22) e quando a conexão é estabelecida, outra porta chamada de efêmera é escolhida para que a comunicação continue ocorrendo. Por esse motivo que deve-se manter o * ou uma faixa de portas.
  • Destination port range: incluir neste campo as portas que devem ser filtradas.

Virtual Network (VNet)

Serviço de Metadata

https://docs.microsoft.com/pt-br/azure/virtual-machines/windows/instance-metadata-service