Tutorial: Criar e implantar máquinas virtuais altamente disponíveis com o Azure PowerShellTutorial: Create and deploy highly available virtual machines with Azure PowerShell

Neste tutorial, você aprenderá a aumentar a disponibilidade e confiabilidade de suas VMs (máquinas virtuais) usando conjuntos de disponibilidade.In this tutorial, you learn how to increase the availability and reliability of your Virtual Machines (VMs) using Availability Sets. Os conjuntos de disponibilidade garantem que as VMs implantadas no Azure sejam distribuídas entre vários nós de hardware isolados em um cluster.Availability Sets make sure the VMs you deploy on Azure are distributed across multiple, isolated hardware nodes, in a cluster.

Neste tutorial, você aprenderá como:In this tutorial, you learn how to:

  • Criar um conjunto de disponibilidadeCreate an availability set
  • Criar uma VM em um conjunto de disponibilidadeCreate a VM in an availability set
  • Verificar os tamanhos de VM disponíveisCheck available VM sizes
  • Verificar o Assistente do AzureCheck Azure Advisor

Visão geral do conjunto de disponibilidadeAvailability set overview

Um conjunto de disponibilidade é uma funcionalidade de agrupamento lógico para isolar recursos de VM uns dos outros quando são implantados.An Availability Set is a logical grouping capability for isolating VM resources from each other when they're deployed. O Azure garante que as VMs colocadas em um conjunto de disponibilidade sejam executadas em vários servidores físicos, racks de computação, unidades de armazenamento e comutadores de rede.Azure makes sure that the VMs you place within an Availability Set run across multiple physical servers, compute racks, storage units, and network switches. Se ocorrer uma falha de hardware ou de software, somente um subconjunto de suas VMs será afetado e a solução geral permanecerá operacional.If a hardware or software failure happens, only a subset of your VMs are impacted and your overall solution stays operational. Os conjuntos de disponibilidade são essenciais para a criação de soluções de nuvem confiáveis.Availability Sets are essential for building reliable cloud solutions.

Vamos considerar uma solução comum baseada em VM na qual você pode ter quatro servidores Web front-end e duas VMs de back-end.Let’s consider a typical VM-based solution where you might have four front-end web servers and 2 back-end VMs. Com o Azure, convém definir dois conjuntos de disponibilidade antes de implantar suas VMs: um para a camada Web e outro para a camada traseira.With Azure, you’d want to define two availability sets before you deploy your VMs: one for the web tier and one for the back tier. Quando você cria uma nova VM, especifica o conjunto de disponibilidade como um parâmetro.When you create a new VM, you specify the availability set as a parameter. O Azure garante que as VMs estejam isoladas entre vários recursos de hardware físico.Azure makes sure the VMs are isolated across multiple physical hardware resources. Se o hardware físico no qual um dos seus servidores está sendo executado tiver um problema, você saberá que as outras instâncias dos seus servidores continuarão em execução porque estão em um hardware diferente.If the physical hardware that one of your servers is running on has a problem, you know the other instances of your servers will keep running because they're on different hardware.

Use Conjuntos de Disponibilidade quando você deseja implantar soluções confiáveis baseadas em VM no Azure.Use Availability Sets when you want to deploy reliable VM-based solutions in Azure.

Iniciar o Azure Cloud ShellLaunch Azure Cloud Shell

O Azure Cloud Shell é um shell interativo grátis que pode ser usado para executar as etapas neste artigo.The Azure Cloud Shell is a free interactive shell that you can use to run the steps in this article. Ele tem ferramentas do Azure instaladas e configuradas para usar com sua conta.It has common Azure tools preinstalled and configured to use with your account.

Para abrir o Cloud Shell, basta selecionar Experimentar no canto superior direito de um bloco de código.To open the Cloud Shell, just select Try it from the upper right corner of a code block. Você também pode iniciar o Cloud Shell em uma guia separada do navegador indo até https://shell.azure.com/powershell.You can also launch Cloud Shell in a separate browser tab by going to https://shell.azure.com/powershell. Selecione Copiar para copiar os blocos de código, cole o código no Cloud Shell e depois pressione Enter para executá-lo.Select Copy to copy the blocks of code, paste it into the Cloud Shell, and press enter to run it.

Criar um conjunto de disponibilidadeCreate an availability set

O hardware em um local é dividido em vários domínios de atualização e domínios de falha.The hardware in a location is divided in to multiple update domains and fault domains. Um domínios de atualização é um grupo de VMs e hardware físico subjacente que podem ser reinicializados simultaneamente.An update domain is a group of VMs and underlying physical hardware that can be rebooted at the same time. As VMs no mesmo domínio de falha compartilham armazenamentos comuns, bem como um comutador de rede e fonte de energia comuns.VMs in the same fault domain share common storage as well as a common power source and network switch.

É possível criar um conjunto de disponibilidade usando New-AzAvailabilitySet.You can create an availability set using New-AzAvailabilitySet. Neste exemplo, o número de domínios de atualização e de falha é 2 e o conjunto de disponibilidade é chamado myAvailabilitySet.In this example, the number of both update and fault domains is 2 and the availability set is named myAvailabilitySet.

Crie um grupos de recursos.Create a resource group.

New-AzResourceGroup `
   -Name myResourceGroupAvailability `
   -Location EastUS

Crie um conjunto de disponibilidade gerenciado usando New-AzAvailabilitySet com o parâmetro -sku aligned.Create a managed availability set using New-AzAvailabilitySet with the -sku aligned parameter.

New-AzAvailabilitySet `
   -Location "EastUS" `
   -Name "myAvailabilitySet" `
   -ResourceGroupName "myResourceGroupAvailability" `
   -Sku aligned `
   -PlatformFaultDomainCount 2 `
   -PlatformUpdateDomainCount 2

Criar VMs dentro de um conjunto de disponibilidadeCreate VMs inside an availability set

As VMs devem ser criadas dentro do conjunto de disponibilidade para assegurar a distribuição correta pelo hardware.VMs must be created within the availability set to make sure they're correctly distributed across the hardware. Não é possível adicionar uma VM existente a um conjunto de disponibilidade após sua criação.You can't add an existing VM to an availability set after it's created.

Ao criar uma VM com New-AzVM, você usa o parâmetro -AvailabilitySetName para especificar o nome do conjunto de disponibilidade.When you create a VM with New-AzVM, you use the -AvailabilitySetName parameter to specify the name of the availability set.

Primeiro, defina o nome de usuário e a senha de um administrador para a VM com Get-Credential:First, set an administrator username and password for the VM with Get-Credential:

$cred = Get-Credential

Agora crie duas VMs com New-AzVM no conjunto de disponibilidade.Now create two VMs with New-AzVM in the availability set.

for ($i=1; $i -le 2; $i++)
{
    New-AzVm `
        -ResourceGroupName "myResourceGroupAvailability" `
        -Name "myVM$i" `
        -Location "East US" `
        -VirtualNetworkName "myVnet" `
        -SubnetName "mySubnet" `
        -SecurityGroupName "myNetworkSecurityGroup" `
        -PublicIpAddressName "myPublicIpAddress$i" `
        -AvailabilitySetName "myAvailabilitySet" `
        -Credential $cred
}

Demora alguns minutos para criar e configurar ambas as VMs.It takes a few minutes to create and configure both VMs. Quando tiver terminado, você terá duas máquinas virtuais distribuídas entre o hardware subjacente.When finished, you have two virtual machines distributed across the underlying hardware.

Se você analisar o conjunto de disponibilidade no portal acessando Grupos de Recursos > myResourceGroupAvailability > myAvailabilitySet, verá como as VMs estão distribuídas entre os dois domínios de atualização e de falha.If you look at the availability set in the portal by going to Resource Groups > myResourceGroupAvailability > myAvailabilitySet, you should see how the VMs are distributed across the two fault and update domains.

Conjunto de disponibilidade no portal

Conferir os tamanhos de VM disponíveisCheck for available VM sizes

Você pode adicionar posteriormente outras VMs ao conjunto de disponibilidade, mas você precisa saber quais tamanhos de VM estão disponíveis no hardware.You can add more VMs to the availability set later, but you need to know what VM sizes are available on the hardware. Use Get-AzVMSize para listar todos os tamanhos disponíveis no cluster de hardware para o conjunto de disponibilidade.Use Get-AzVMSize to list all the available sizes on the hardware cluster for the availability set.

Get-AzVMSize `
   -ResourceGroupName "myResourceGroupAvailability" `
   -AvailabilitySetName "myAvailabilitySet"

Verificar o Assistente do AzureCheck Azure Advisor

Também é possível usar o Assistente do Azure para saber mais sobre como melhorar a disponibilidade das suas VMs.You can also use Azure Advisor to get more information on how to improve the availability of your VMs. O Assistente do Azure analisa a telemetria de uso e de configuração e, depois, recomenda soluções que podem ajudar você a melhorar a economia, o desempenho, a disponibilidade e a segurança de seus recursos do Azure.Azure Advisor analyzes your configuration and usage telemetry, then recommends solutions that can help you improve the cost effectiveness, performance, availability, and security of your Azure resources.

Entre no portal do Azure, selecione Todos os serviços e digite Assistente.Sign in to the Azure portal, select All services, and type Advisor. O painel do Assistente mostra recomendações personalizadas para a assinatura selecionada.The Advisor dashboard shows personalized recommendations for the selected subscription. Para saber mais, veja Introdução ao Assistente do Azure.For more information, see Get started with Azure Advisor.

Próximas etapasNext steps

Neste tutorial, você aprendeu como:In this tutorial, you learned how to:

  • Criar um conjunto de disponibilidadeCreate an availability set
  • Criar uma VM em um conjunto de disponibilidadeCreate a VM in an availability set
  • Verificar os tamanhos de VM disponíveisCheck available VM sizes
  • Verificar o Assistente do AzureCheck Azure Advisor

Avance para o próximo tutorial para saber mais sobre conjuntos de disponibilidade de máquinas virtuais.Advance to the next tutorial to learn about virtual machine scale sets.