Versão prévia: implantar VMs em hosts dedicados usando o Azure PowerShellPreview: Deploy VMs to dedicated hosts using the Azure PowerShell

Este artigo orienta você sobre como criar um host dedicado do Azure para hospedar suas máquinas virtuais (VMS).This article guides you through how to create an Azure dedicated host to host your virtual machines (VMs).

Verifique se você instalou Azure PowerShell versão 2.4.2 ou posterior e se está conectado a uma conta do Azure no com Connect-AzAccount.Make sure that you have installed Azure PowerShell version 2.4.2 or later, and you are signed in to an Azure account in with Connect-AzAccount. Para instalar a versão 2.4.2, abra um prompt do PowerShell e digite:To install version 2.4.2, open a PowerShell prompt and type:

Install-Module -Name Az.Compute -Repository PSGallery -RequiredVersion 2.4.2-preview -AllowPrerelease

Será necessário pelo menos a versão 1.6.0 do módulo PowerShellGet para habilitar a funcionalidade do módulo de visualização no PowerShell.You will need at least version 1.6.0 of the PowerShellGet module to enable preview module functionality in PowerShell. As versões mais recentes do PowerShell Core têm isso criado automaticamente, mas para versões mais antigas do PowerShell, você pode executar o seguinte comando para atualizar para a versão mais recente:The latest versions of PowerShell Core have this automatically built in, but for older versions of PowerShell, you can run the following command to update to the latest version:

Install-Module -Name PowerShellGet -Repository PSGallery -Force

Importante

Atualmente, os hosts dedicados do Azure estão em visualização pública.Azure Dedicated Hosts is currently in public preview. Essa versão prévia é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção.This preview version is provided without a service level agreement, and it's not recommended for production workloads. Alguns recursos podem não ter suporte ou podem ter restrição de recursos.Certain features might not be supported or might have constrained capabilities. Para obter mais informações, consulte Termos de Uso Complementares de Versões Prévias do Microsoft Azure.For more information, see Supplemental Terms of Use for Microsoft Azure Previews.

Limitações de visualização conhecidasKnown preview limitations

  • Atualmente, não há suporte para conjuntos de dimensionamento de máquinas virtuais em hosts dedicados.Virtual machine scale sets are not currently supported on dedicated hosts.
  • A versão inicial da visualização dá suporte à seguinte série de VMs: DSv3 e ESv3.The preview initial release supports the following VM series: DSv3 and ESv3.

Criar um grupo de hostsCreate a host group

Um grupo de hosts é um recurso que representa uma coleção de hosts dedicados.A host group is a resource that represents a collection of dedicated hosts. Você cria um grupo de hosts em uma região e uma zona de disponibilidade e adiciona hosts a ele.You create a host group in a region and an availability zone, and add hosts to it. Ao planejar a alta disponibilidade, há opções adicionais.When planning for high availability, there are additional options. Você pode usar uma ou ambas as opções a seguir com seus hosts dedicados:You can use one or both of the following options with your dedicated hosts:

  • Alcance entre várias zonas de disponibilidade.Span across multiple availability zones. Nesse caso, é necessário ter um grupo de hosts em cada uma das zonas que você deseja usar.In this case, you are required to have a host group in each of the zones you wish to use.
  • Alcance entre vários domínios de falha que são mapeados para racks físicos.Span across multiple fault domains which are mapped to physical racks.

Em ambos os casos, você precisa fornecer a contagem de domínios de falha para seu grupo de hosts.In either case, you are need to provide the fault domain count for your host group. Se você não quiser abranger domínios de falha em seu grupo, use uma contagem de domínio de falha de 1.If you do not want to span fault domains in your group, use a fault domain count of 1.

Você também pode optar por usar zonas de disponibilidade e domínios de falha.You can also decide to use both availability zones and fault domains. Este exemplo cria um grupo de hosts na zona 1, com 2 domínios de falha.This example creates a host group in zone 1, with 2 fault domains.

$rgName = "myDHResourceGroup"
$location = "East US"

New-AzResourceGroup -Location $location -Name $rgName
$hostGroup = New-AzHostGroup `
   -Location $location `
   -Name myHostGroup `
   -PlatformFaultDomain 2 `
   -ResourceGroupName $rgName `
   -Zone 1

Criar um hostCreate a host

Agora, vamos criar um host dedicado no grupo de hosts.Now let's create a dedicated host in the host group. Além de um nome para o host, você deve fornecer a SKU para o host.In addition to a name for the host, you are required to provide the SKU for the host. O SKU do host captura a série de VMs com suporte, bem como a geração de hardware para seu host dedicado.Host SKU captures the supported VM series as well as the hardware generation for your dedicated host. Durante a visualização, ofereceremos suporte aos seguintes valores de SKU do host: DSv3_Type1 e ESv3_Type1.During the preview, we will support the following host SKU values: DSv3_Type1 and ESv3_Type1.

Para obter mais informações sobre os preços e as SKUs do host, consulte preços do host dedicado do Azure.For more information about the host SKUs and pricing, see Azure Dedicated Host pricing.

Se você definir uma contagem de domínios de falha para seu grupo de hosts, será solicitado que você especifique o domínio de falha para o host.If you set a fault domain count for your host group, you will be asked to specify the fault domain for your host. Neste exemplo, definimos o domínio de falha para o host como 1.In this example, we set the fault domain for the host to 1.

$dHost = New-AzHost `
   -HostGroupName $hostGroup.Name `
   -Location $location -Name myHost `
   -ResourceGroupName $rgName `
   -Sku DSv3-Type1 `
   -AutoReplaceOnFailure 1 `
   -PlatformFaultDomain 1

Criar uma máquina virtualCreate a VM

Crie uma máquina virtual no host dedicado.Create a virtual machine on the dedicated host.

Se você especificou uma zona de disponibilidade ao criar o grupo de hosts, será necessário usar a mesma zona ao criar a máquina virtual.If you specified an availability zone when creating your host group, you are required to use the same zone when creating the virtual machine. Para este exemplo, como nosso grupo de hosts está na zona 1, precisamos criar a VM na zona 1.For this example, because our host group is in zone 1, we need to create the VM in zone 1.

$cred = Get-Credential
New-AzVM `
   -Credential $cred `
   -ResourceGroupName $rgName `
   -Location $location `
   -Name myVM `
   -HostId $dhost.Id `
   -Image Win2016Datacenter `
   -Zone 1 `
   -Size Standard_D4s_v3

Aviso

Se você criar uma máquina virtual em um host que não tem recursos suficientes, a máquina virtual será criada em um estado de falha.If you create a virtual machine on a host which does not have enough resources, the virtual machine will be created in a FAILED state.

Verificar o status do hostCheck the status of the host

Você pode verificar o status de integridade do host e quantas máquinas virtuais você ainda pode implantar no host usando GetAzHost com o parâmetro -InstanceView.You can check the host health status and how many virtual machines you can still deploy to the host using GetAzHost with the -InstanceView parameter.

Get-AzHost `
   -ResourceGroupName $rgName `
   -Name myHost `
   -HostGroupName $hostGroup.Name `
   -InstanceView

A saída parecerá com o seguinte:The output will look similar to this:

ResourceGroupName      : myDHResourceGroup
PlatformFaultDomain    : 1
AutoReplaceOnFailure   : True
HostId                 : 12345678-1234-1234-abcd-abc123456789
ProvisioningTime       : 7/28/2019 5:31:01 PM
ProvisioningState      : Succeeded
InstanceView           : 
  AssetId              : abc45678-abcd-1234-abcd-123456789abc
  AvailableCapacity    : 
    AllocatableVMs[0]  : 
      VmSize           : Standard_D2s_v3
      Count            : 32
    AllocatableVMs[1]  : 
      VmSize           : Standard_D4s_v3
      Count            : 16
    AllocatableVMs[2]  : 
      VmSize           : Standard_D8s_v3
      Count            : 8
    AllocatableVMs[3]  : 
      VmSize           : Standard_D16s_v3
      Count            : 4
    AllocatableVMs[4]  : 
      VmSize           : Standard_D32-8s_v3
      Count            : 2
    AllocatableVMs[5]  : 
      VmSize           : Standard_D32-16s_v3
      Count            : 2
    AllocatableVMs[6]  : 
      VmSize           : Standard_D32s_v3
      Count            : 2
    AllocatableVMs[7]  : 
      VmSize           : Standard_D64-16s_v3
      Count            : 1
    AllocatableVMs[8]  : 
      VmSize           : Standard_D64-32s_v3
      Count            : 1
    AllocatableVMs[9]  : 
      VmSize           : Standard_D64s_v3
      Count            : 1
  Statuses[0]          : 
    Code               : ProvisioningState/succeeded
    Level              : Info
    DisplayStatus      : Provisioning succeeded
    Time               : 7/28/2019 5:31:01 PM
  Statuses[1]          : 
    Code               : HealthState/available
    Level              : Info
    DisplayStatus      : Host available
Sku                    : 
  Name                 : DSv3-Type1
Id                     : /subscriptions/10101010-1010-1010-1010-101010101010/re
sourceGroups/myDHResourceGroup/providers/Microsoft.Compute/hostGroups/myHostGroup/hosts
/myHost
Name                   : myHost
Location               : eastus
Tags                   : {}

LimparClean up

Você está sendo cobrado por seus hosts dedicados, mesmo quando não há máquinas virtuais implantadas.You are being charged for your dedicated hosts even when no virtual machines are deployed. Você deve excluir os hosts que não está usando no momento para economizar custos.You should delete any hosts you are currently not using to save costs.

Você só pode excluir um host quando não houver mais máquinas virtuais usando-o.You can only delete a host when there are no any longer virtual machines using it. Exclua as VMs usando Remove-AzVM.Delete the VMs using Remove-AzVM.

Remove-AzVM -ResourceGroupName $rgName -Name myVM

Depois de excluir as VMs, você pode excluir o host usando Remove-AzHost.After deleting the VMs, you can delete the host using Remove-AzHost.

Remove-AzHost -ResourceGroupName $rgName -Name myHost

Depois de excluir todos os hosts, você poderá excluir o grupo de hosts usando Remove-AzHostGroup.Once you have deleted all of your hosts, you may delete the host group using Remove-AzHostGroup.

Remove-AzHost -ResourceGroupName $rgName -Name myHost

Você também pode excluir o grupo de recursos inteiro em um único comando usando Remove-AzResourceGroup.You can also delete the entire resource group in a single command using Remove-AzResourceGroup. Isso excluirá todos os recursos criados no grupo, incluindo todas as VMs, hosts e grupos de hosts.This will delete all resources created in the group, including all of the VMs, hosts and host groups.

Remove-AzResourceGroup -Name $rgName

Próximas etapasNext steps

  • Há um modelo de exemplo, encontrado aqui, que usa zonas e domínios de falha para obter máxima resiliência em uma região.There is sample template, found here, that uses both zones and fault domains for maximum resiliency in a region.

  • Você também pode implantar hosts dedicados usando o portal do Azure.You can also deploy dedicated hosts using the Azure portal.