更新:Azure PowerShell を使用して専用ホストに VM をデプロイするPreview: Deploy VMs to dedicated hosts using the Azure PowerShell

この記事では、仮想マシン (VM) をホストするための Azure 専用ホストを作成する方法について説明します。This article guides you through how to create an Azure dedicated host to host your virtual machines (VMs).

Azure PowerShell バージョン 2.4.2 以降がインストールされ、Connect-AzAccount を使用して Azure アカウントにサインインしていることを確認します。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. バージョン2.4.2 をインストールするには、PowerShell プロンプトを開き、次のように入力します。To install version 2.4.2, open a PowerShell prompt and type:

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

PowerShell でプレビュー モジュールの機能を有効にするには、PowerShellGet モジュールのバージョン 1.6.0 以降が必要です。You will need at least version 1.6.0 of the PowerShellGet module to enable preview module functionality in PowerShell. PowerShell Core の最新バージョンにはこの機能が自動的に組み込まれていますが、前のバージョンの PowerShell では、次のコマンドを実行して最新バージョンに更新することができます。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

重要

現在、専用ホストはパブリック プレビュー段階にあります。Azure Dedicated Hosts is currently in public preview. このプレビュー バージョンはサービス レベル アグリーメントなしで提供されています。運用環境のワークロードに使用することはお勧めできません。This preview version is provided without a service level agreement, and it's not recommended for production workloads. 特定の機能はサポート対象ではなく、機能が制限されることがあります。Certain features might not be supported or might have constrained capabilities. 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。For more information, see Supplemental Terms of Use for Microsoft Azure Previews.

プレビューに関する既知の制限事項Known preview limitations

  • 仮想マシン スケール セットは、現在、専用ホストではサポートされていません。Virtual machine scale sets are not currently supported on dedicated hosts.
  • プレビューの初期リリースでは、次の VM シリーズがサポートされています: DSv3 と ESv3。The preview initial release supports the following VM series: DSv3 and ESv3.

ホスト グループを作成するCreate a host group

ホスト グループは、専用ホストのコレクションを表すリソースです。A host group is a resource that represents a collection of dedicated hosts. リージョンと可用性ゾーンにホスト グループを作成し、それにホストを追加します。You create a host group in a region and an availability zone, and add hosts to it. 高可用性を計画する場合は、追加のオプションがあります。When planning for high availability, there are additional options. 専用ホストでは、次のいずれかまたは両方のオプションを使用できます。You can use one or both of the following options with your dedicated hosts:

  • 複数の可用性ゾーンにまたがります。Span across multiple availability zones. この場合は、使用する各ゾーンにホスト グループを用意する必要があります。In this case, you are required to have a host group in each of the zones you wish to use.
  • 物理ラックにマップされる複数の障害ドメインにまたがります。Span across multiple fault domains which are mapped to physical racks.

どちらの場合も、ホスト グループに対して障害ドメイン数を指定する必要があります。In either case, you are need to provide the fault domain count for your host group. グループ内で障害ドメインをまたがりたくない場合は、障害ドメインの数を 1 にします。If you do not want to span fault domains in your group, use a fault domain count of 1.

可用性ゾーンと障害ドメインの両方を使用することもできます。You can also decide to use both availability zones and fault domains. この例では、ゾーン 1 の 1 つのホスト グループと 2 つの障害ドメインを作成します。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

ホストを作成するCreate a host

次に、ホスト グループに専用ホストを作成してみましょう。Now let's create a dedicated host in the host group. ホストの名前に加えて、ホストの SKU を指定する必要があります。In addition to a name for the host, you are required to provide the SKU for the host. ホスト SKU では、専用ホストに対してサポートされている VM シリーズとハードウェアの世代がキャプチャされます。Host SKU captures the supported VM series as well as the hardware generation for your dedicated host. プレビュー期間中は、次のホスト SKU 値がサポートされます: DSv3_Type1 と ESv3_Type1。During the preview, we will support the following host SKU values: DSv3_Type1 and ESv3_Type1.

ホスト SKU の詳細と価格については、「Azure 専用ホストの価格」を参照してください。For more information about the host SKUs and pricing, see Azure Dedicated Host pricing.

ホスト グループの障害ドメイン数を設定した場合は、ホストの障害ドメインを指定するように求められます。If you set a fault domain count for your host group, you will be asked to specify the fault domain for your host. この例では、ホストの障害ドメインを 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

VM の作成Create a VM

専用ホストに仮想マシンを作成します。Create a virtual machine on the dedicated host.

ホスト グループを作成するときに可用性ゾーンを指定した場合は、仮想マシンを作成するときに同じゾーンを使用する必要があります。If you specified an availability zone when creating your host group, you are required to use the same zone when creating the virtual machine. この例では、ホスト グループがゾーン 1 にあるため、ゾーン 1 に VM を作成する必要があります。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

警告

十分なリソースがないホストに仮想マシンを作成すると、仮想マシンは FAILED 状態で作成されます。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.

ホストの状態を確認するCheck the status of the host

GetAzHost-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

出力は次のようになります。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                   : {}

クリーンアップClean up

仮想マシンがデプロイされていない場合でも、専用ホストに対して課金されます。You are being charged for your dedicated hosts even when no virtual machines are deployed. コストを節約するには、現在使用していないすべてのホストを削除する必要があります。You should delete any hosts you are currently not using to save costs.

ホストを削除できるのは、それを使用している仮想マシンがなくなった場合のみです。You can only delete a host when there are no any longer virtual machines using it. Remove-AzVM を使用して VM を削除します。Delete the VMs using Remove-AzVM.

Remove-AzVM -ResourceGroupName $rgName -Name myVM

VM を削除した後、Remove-AzHost を使用してホストを削除できます。After deleting the VMs, you can delete the host using Remove-AzHost.

Remove-AzHost -ResourceGroupName $rgName -Name myHost

すべてのホストを削除したら、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

また、1 つのコマンド Remove-AzResourceGroup を使用して、リソース グループ全体を削除することもできます。You can also delete the entire resource group in a single command using Remove-AzResourceGroup. これにより、すべての VM、ホスト、ホスト グループを含めて、グループ内に作成されたすべてのリソースが削除されます。This will delete all resources created in the group, including all of the VMs, hosts and host groups.

Remove-AzResourceGroup -Name $rgName

次の手順Next steps

  • こちらには、リージョン内の回復性を最大にするためにゾーンと障害ドメインの両方を使用するサンプル テンプレートがあります。There is sample template, found here, that uses both zones and fault domains for maximum resiliency in a region.

  • また、Azure portal を使用して専用ホストをデプロイすることもできます。You can also deploy dedicated hosts using the Azure portal.