チュートリアル: Azure PowerShell を使用して Windows VM を作成および管理するTutorial: Create and Manage Windows VMs with Azure PowerShell

Azure 仮想マシンは、完全に構成可能で柔軟なコンピューティング環境を提供します。Azure virtual machines provide a fully configurable and flexible computing environment. このチュートリアルでは、VM サイズや VM イメージの選択、VM のデプロイなどの Azure 仮想マシンの展開に関する基本事項について説明します。This tutorial covers basic Azure virtual machine deployment items such as selecting a VM size, selecting a VM image, and deploying a VM. 学習内容は次のとおりです。You learn how to:

  • VM を作成して VM に接続するCreate and connect to a VM
  • VM イメージを選択して使用するSelect and use VM images
  • 特定の VM サイズを確認して使用するView and use specific VM sizes
  • VM のサイズを変更するResize a VM
  • VM の状態を表示して理解するView and understand VM state

Azure Cloud Shell を起動するLaunch Azure Cloud Shell

Azure Cloud Shell は無料のインタラクティブ シェルです。この記事の手順は、Azure Cloud Shell を使って実行することができます。The Azure Cloud Shell is a free interactive shell that you can use to run the steps in this article. 一般的な Azure ツールが事前にインストールされており、アカウントで使用できるように構成されています。It has common Azure tools preinstalled and configured to use with your account. [コピー] をクリックしてコードをコピーし、Cloud Shell に貼り付けて Enter キーを押すだけで、コードを実行することができます。Just click the Copy to copy the code, paste it into the Cloud Shell, and then press enter to run it. Cloud Shell は、次のようにいくつかの方法で起動することができます。There are a few ways to launch the Cloud Shell:

コード ブロックの右上隅にある [使ってみる] をクリックします。Click Try It in the upper right corner of a code block. この記事の Cloud Shell
ブラウザーで Cloud Shell を開きます。Open Cloud Shell in your browser. https://shell.azure.com/powershell
Azure Portal の右上のメニューの [Cloud Shell] ボタンをクリックします。Click the Cloud Shell button on the menu in the upper right of the Azure portal. ポータルの Cloud ShellCloud Shell in the portal

PowerShell をインストールしてローカルで使用する場合、このチュートリアルでは Azure PowerShell モジュール バージョン 5.7.0 以降が必要になります。If you choose to install and use the PowerShell locally, this tutorial requires the Azure PowerShell module version 5.7.0 or later. バージョンを確認するには、Get-Module -ListAvailable AzureRM を実行します。Run Get-Module -ListAvailable AzureRM to find the version. アップグレードする必要がある場合は、Azure PowerShell モジュールのインストールに関するページを参照してください。If you need to upgrade, see Install Azure PowerShell module. PowerShell をローカルで実行している場合、Connect-AzureRmAccount を実行して Azure との接続を作成することも必要です。If you are running PowerShell locally, you also need to run Connect-AzureRmAccount to create a connection with Azure.

リソース グループの作成Create resource group

New-AzureRmResourceGroup コマンドでリソース グループを作成します。Create a resource group with the New-AzureRmResourceGroup command.

Azure リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。An Azure resource group is a logical container into which Azure resources are deployed and managed. 仮想マシンの前にリソース グループを作成する必要があります。A resource group must be created before a virtual machine. 次の例では、myResourceGroupVM という名前のリソース グループが EastUS リージョンに作成されます。In the following example, a resource group named myResourceGroupVM is created in the EastUS region:

New-AzureRmResourceGroup -ResourceGroupName "myResourceGroupVM" -Location "EastUS"

このチュートリアル全体で示しているように、VM の作成時または変更時にリソース グループを指定します。The resource group is specified when creating or modifying a VM, which can be seen throughout this tutorial.

仮想マシンの作成Create virtual machine

仮想マシンを作成するときに、オペレーティング システム イメージ、ネットワーク構成、管理者資格情報など、いくつかのオプションを使用できます。When creating a virtual machine, several options are available such as operating system image, network configuration, and administrative credentials. この例では、Windows Server 2016 Datacenter の既定の最新バージョンを実行している、myVM という名前の仮想マシンが作成されます。In this example, a virtual machine is created with a name of myVM running the default latest version of Windows Server 2016 Datacenter.

Get-Credential を使用して、仮想マシンの管理者アカウントに必要なユーザー名とパスワードを設定します。Set the username and password needed for the administrator account on the virtual machine with Get-Credential:

$cred = Get-Credential

New-AzureRmVM を使用して、仮想マシンを作成します。Create the virtual machine with New-AzureRmVM.

New-AzureRmVm `
    -ResourceGroupName "myResourceGroupVM" `
    -Name "myVM" `
    -Location "EastUS" `
    -VirtualNetworkName "myVnet" `
    -SubnetName "mySubnet" `
    -SecurityGroupName "myNetworkSecurityGroup" `
    -PublicIpAddressName "myPublicIpAddress" `
    -Credential $cred

VM への接続Connect to VM

デプロイが完了したら、仮想マシンとのリモート デスクトップ接続を作成します。After the deployment has completed, create a remote desktop connection with the virtual machine.

次のコマンドを実行して、仮想マシンのパブリック IP アドレスを取得します。Run the following commands to return the public IP address of the virtual machine. この IP アドレスを書き留めておきます。後の手順で Web 接続性をテストするときにブラウザーでこの IP アドレスに接続します。Take note of this IP Address so you can connect to it with your browser to test web connectivity in a future step.

Get-AzureRmPublicIpAddress -ResourceGroupName "myResourceGroupVM"  | Select IpAddress

ローカル コンピューターで次のコマンドを使用して、仮想マシンとのリモート デスクトップ セッションを作成します。Use the following command, on your local machine, to create a remote desktop session with the virtual machine. IP アドレスを仮想マシンの publicIPAddress に置き換えます。Replace the IP address with the publicIPAddress of your virtual machine. メッセージが表示されたら、仮想マシンの作成時に使用した資格情報を入力します。When prompted, enter the credentials used when creating the virtual machine.

mstsc /v:<publicIpAddress>

[Windows セキュリティ] ウィンドウで、[その他][別のアカウントを使用する] の順に選択します。In the Windows Security window, select More choices and then Use a different account. 仮想マシン用に作成したユーザー名とパスワードを入力し、[OK] をクリックします。Type the username and password you created for the virtual machine and then click OK.

VM イメージについてUnderstand VM images

Azure Marketplace には、新しい仮想マシンの作成に使用できる多数の仮想マシンのイメージが用意されています。The Azure marketplace includes many virtual machine images that can be used to create a new virtual machine. 前の手順では、Windows Server 2016 Datacenter イメージを使用して仮想マシンを作成しました。In the previous steps, a virtual machine was created using the Windows Server 2016 Datacenter image. この手順では、PowerShell モジュールを使用して、新しい VM のベースとしても使用できるその他の Windows イメージを Marketplace で検索します。In this step, the PowerShell module is used to search the marketplace for other Windows images, which can also be used as a base for new VMs. このプロセスは、イメージを識別するための発行元、プラン、SKU、およびオプションのバージョン番号の検索で構成されます。This process consists of finding the publisher, offer, SKU, and optionally a version number to identify the image.

Get-AzureRmVMImagePublisher コマンドを使用して、イメージ発行元の一覧を取得します。Use the Get-AzureRmVMImagePublisher command to return a list of image publishers:

Get-AzureRmVMImagePublisher -Location "EastUS"

Get-AzureRmVMImageOffer を使用して、イメージ プランの一覧を取得します。Use the Get-AzureRmVMImageOffer to return a list of image offers. このコマンドを使用すると、返される一覧が、指定した発行元でフィルター処理されます。With this command, the returned list is filtered on the specified publisher:

Get-AzureRmVMImageOffer -Location "EastUS" -PublisherName "MicrosoftWindowsServer"
Offer             PublisherName          Location
-----             -------------          --------
Windows-HUB       MicrosoftWindowsServer EastUS
WindowsServer     MicrosoftWindowsServer EastUS
WindowsServer-HUB MicrosoftWindowsServer EastUS

Get-AzureRmVMImageSku コマンドは、発行元とプラン名でフィルター処理して、イメージ名の一覧を返します。The Get-AzureRmVMImageSku command will then filter on the publisher and offer name to return a list of image names.

Get-AzureRmVMImageSku -Location "EastUS" -PublisherName "MicrosoftWindowsServer" -Offer "WindowsServer"
Skus                                      Offer         PublisherName          Location
----                                      -----         -------------          --------
2008-R2-SP1                               WindowsServer MicrosoftWindowsServer EastUS  
2008-R2-SP1-smalldisk                     WindowsServer MicrosoftWindowsServer EastUS  
2012-Datacenter                           WindowsServer MicrosoftWindowsServer EastUS  
2012-Datacenter-smalldisk                 WindowsServer MicrosoftWindowsServer EastUS  
2012-R2-Datacenter                        WindowsServer MicrosoftWindowsServer EastUS  
2012-R2-Datacenter-smalldisk              WindowsServer MicrosoftWindowsServer EastUS  
2016-Datacenter                           WindowsServer MicrosoftWindowsServer EastUS  
2016-Datacenter-Server-Core               WindowsServer MicrosoftWindowsServer EastUS  
2016-Datacenter-Server-Core-smalldisk     WindowsServer MicrosoftWindowsServer EastUS
2016-Datacenter-smalldisk                 WindowsServer MicrosoftWindowsServer EastUS
2016-Datacenter-with-Containers           WindowsServer MicrosoftWindowsServer EastUS
2016-Datacenter-with-Containers-smalldisk WindowsServer MicrosoftWindowsServer EastUS
2016-Datacenter-with-RDSH                 WindowsServer MicrosoftWindowsServer EastUS
2016-Nano-Server                          WindowsServer MicrosoftWindowsServer EastUS

この情報は、特定のイメージを使用して VM をデプロイするために使用できます。This information can be used to deploy a VM with a specific image. この例では、Windows Server 2016 with Containers イメージの最新バージョンを使用して仮想マシンをデプロイします。This example deploys a virtual machine using the latest version of a Windows Server 2016 with Containers image.

New-AzureRmVm `
    -ResourceGroupName "myResourceGroupVM" `
    -Name "myVM2" `
    -Location "EastUS" `
    -VirtualNetworkName "myVnet" `
    -SubnetName "mySubnet" `
    -SecurityGroupName "myNetworkSecurityGroup" `
    -PublicIpAddressName "myPublicIpAddress2" `
    -ImageName "MicrosoftWindowsServer:WindowsServer:2016-Datacenter-with-Containers:latest" `
    -Credential $cred `
    -AsJob

-AsJob パラメーターにより、バックグラウンド タスクとして VM が作成されるため、PowerShell プロンプトが表示されます。The -AsJob parameter creates the VM as a background task, so the PowerShell prompts return to you. Get-Job コマンドレットを使用して、バックグラウンド ジョブの詳細を表示できます。You can view details of background jobs with the Get-Job cmdlet.

VM のサイズについてUnderstand VM sizes

仮想マシンのサイズにより、CPU、GPU、メモリなど、仮想マシンで利用できるコンピューティング リソースの量が決定されます。A virtual machine size determines the amount of compute resources such as CPU, GPU, and memory that are made available to the virtual machine. 仮想マシンは、予想されるワークロードに適したサイズで作成する必要があります。Virtual machines need to be created with a size appropriate for the expect workload. ワークロードが増えた場合は既存の仮想マシンのサイズを変更できます。If workload increases, an existing virtual machine can be resized.

VM サイズVM Sizes

次の表は、ユース ケース別にサイズを分類したものです。The following table categorizes sizes into use cases.

typeType 一般的なサイズCommon sizes [説明]Description
汎用General purpose Dsv3、Dv3、DSv2、Dv2、DS、D、Av2、A0 - 7Dsv3, Dv3, DSv2, Dv2, DS, D, Av2, A0-7 CPU とメモリのバランスがとれています。Balanced CPU-to-memory. 開発/テスト環境や、小中規模のアプリケーションとデータ ソリューションに最適です。Ideal for dev / test and small to medium applications and data solutions.
コンピューティングの最適化Compute optimized Fs、FFs, F メモリに対する CPU の比が大きくなっています。High CPU-to-memory. トラフィックが中程度のアプリケーション、ネットワーク アプライアンス、バッチ処理に適しています。Good for medium traffic applications, network appliances, and batch processes.
メモリの最適化Memory optimized Esv3、Ev3、M、GS、G、DSv2、DS、Dv2、DEsv3, Ev3, M, GS, G, DSv2, DS, Dv2, D コアに対するメモリの比が大きくなっています。High memory-to-core. リレーショナル データベース、中から大規模のキャッシュ、およびインメモリ分析に適しています。Great for relational databases, medium to large caches, and in-memory analytics.
ストレージの最適化Storage optimized LsLs 高いディスク スループットと IO。High disk throughput and IO. ビッグ データ、SQL、および NoSQL のデータベースに最適です。Ideal for Big Data, SQL, and NoSQL databases.
GPUGPU NV、NCNV, NC 負荷の高いグラフィック処理やビデオ編集に特化した VM です。Specialized VMs targeted for heavy graphic rendering and video editing.
高性能High performance H、A8 ~ 11H, A8-11 オプションで高スループットのネットワーク インターフェイス (RDMA) を備えた、最も強力な CPU VM です。Our most powerful CPU VMs with optional high-throughput network interfaces (RDMA).

使用可能な VM サイズを確認するFind available VM sizes

特定のリージョンで利用可能な VM サイズのリストを確認するには、Get-AzureRmVMSize コマンドを使用します。To see a list of VM sizes available in a particular region, use the Get-AzureRmVMSize command.

Get-AzureRmVMSize -Location "EastUS"

VM のサイズを変更するResize a VM

デプロイ後に VM のサイズを変更して、リソースの割り当てを増減できます。After a VM has been deployed, it can be resized to increase or decrease resource allocation.

VM のサイズを変更する前に、現在の VM クラスターで目的のサイズを利用可能であるか確認します。Before resizing a VM, check if the desired size is available on the current VM cluster. Get-AzureRmVMSize コマンドは、サイズの一覧を返します。The Get-AzureRmVMSize command returns a list of sizes.

Get-AzureRmVMSize -ResourceGroupName "myResourceGroupVM" -VMName "myVM"

目的のサイズが使用可能な場合は電源を入れた状態で VM のサイズを変更できます。ただし、この操作中に再起動が行われます。If the desired size is available, the VM can be resized from a powered-on state, however it is rebooted during the operation.

$vm = Get-AzureRmVM -ResourceGroupName "myResourceGroupVM"  -VMName "myVM"
$vm.HardwareProfile.VmSize = "Standard_D4"
Update-AzureRmVM -VM $vm -ResourceGroupName "myResourceGroupVM"

目的のサイズが現在のクラスターにない場合、サイズ変更の操作を行うには VM の割り当てを解除する必要があります。If the desired size is not on the current cluster, the VM needs to be deallocated before the resize operation can occur. VM の電源を再度入れると、一時ディスク上のデータはすべて削除され、静的 IP アドレスを使用している場合以外はパブリック IP アドレスが変更されるため、注意してください。Note, when the VM is powered back on, any data on the temp disk are removed, and the public IP address change unless a static IP address is being used.

Stop-AzureRmVM -ResourceGroupName "myResourceGroupVM" -Name "myVM" -Force
$vm = Get-AzureRmVM -ResourceGroupName "myResourceGroupVM"  -VMName "myVM"
$vm.HardwareProfile.VmSize = "Standard_F4s"
Update-AzureRmVM -VM $vm -ResourceGroupName "myResourceGroupVM"
Start-AzureRmVM -ResourceGroupName "myResourceGroupVM"  -Name $vm.name

VM の電源の状態VM power states

Azure VM は、さまざまな電源状態のいずれかになります。An Azure VM can have one of many power states. この状態は、ハイパーバイザーから見た VM の現在の状態を表しています。This state represents the current state of the VM from the standpoint of the hypervisor.

電源の状態Power states

電源の状態Power State 説明Description
開始中Starting 仮想マシンが起動中であることを示します。Indicates the virtual machine is being started.
実行中Running 仮想マシンが実行中であることを示します。Indicates that the virtual machine is running.
停止中Stopping 仮想マシンが停止中であることを示します。Indicates that the virtual machine is being stopped.
停止済みStopped 仮想マシンが停止されていることを示します。Indicates that the virtual machine is stopped. 仮想マシンが停止済みの状態でも、コンピューティング料金は発生します。Note that virtual machines in the stopped state still incur compute charges.
割り当て解除中Deallocating 仮想マシンの割り当てが解除中であることを示します。Indicates that the virtual machine is being deallocated.
割り当て解除済みDeallocated 仮想マシンがハイパーバイザーから完全に削除されているものの、コントロール プレーンでは使用可能であることを示します。Indicates that the virtual machine is completely removed from the hypervisor but still available in the control plane. 割り当て解除済み状態の仮想マシンでは、コンピューティング料金は発生しません。Virtual machines in the Deallocated state do not incur compute charges.
- 仮想マシンの電源状態が不明であることを示します。Indicates that the power state of the virtual machine is unknown.

電源の状態を確認するFind power state

特定の VM の状態を取得するには、Get-AzureRmVM コマンドを使用します。To retrieve the state of a particular VM, use the Get-AzureRmVM command. 必ず仮想マシンとリソース グループの有効な名前を指定してください。Be sure to specify a valid name for a virtual machine and resource group.

Get-AzureRmVM `
    -ResourceGroupName "myResourceGroupVM" `
    -Name "myVM" `
    -Status | Select @{n="Status"; e={$_.Statuses[1].Code}}

出力:Output:

Status
------
PowerState/running

管理タスクManagement tasks

仮想マシンのライフサイクルで、各種の管理タスクを実行する必要がある場合があります (仮想マシンの起動、停止、削除など)。During the lifecycle of a virtual machine, you may want to run management tasks such as starting, stopping, or deleting a virtual machine. また、何度も行う作業や複雑な作業は、スクリプトを作成して自動化したい場合もあるでしょう。Additionally, you may want to create scripts to automate repetitive or complex tasks. 日常的な管理タスクの多くは、Azure PowerShell を使ってコマンド ラインやスクリプトから実行できます。Using Azure PowerShell, many common management tasks can be run from the command line or in scripts.

仮想マシンの停止Stop virtual machine

Stop-AzureRmVM を使用して仮想マシンを停止し、割り当てを解除します。Stop and deallocate a virtual machine with Stop-AzureRmVM:

Stop-AzureRmVM -ResourceGroupName "myResourceGroupVM" -Name "myVM" -Force

仮想マシンをプロビジョニングされた状態で保持する場合は、-StayProvisioned パラメーターを使用します。If you want to keep the virtual machine in a provisioned state, use the -StayProvisioned parameter.

仮想マシンの起動Start virtual machine

Start-AzureRmVM -ResourceGroupName "myResourceGroupVM" -Name "myVM"

Delete resource groupDelete resource group

リソース グループを削除すると、そこに含まれているリソースもすべて削除されます。Deleting a resource group also deletes all resources contained within.

Remove-AzureRmResourceGroup -Name "myResourceGroupVM" -Force

次の手順Next steps

このチュートリアルでは、次のような基本的な VM の作成と管理を実行する方法について説明しました。In this tutorial, you learned about basic VM creation and management such as how to:

  • VM を作成して VM に接続するCreate and connect to a VM
  • VM イメージを選択して使用するSelect and use VM images
  • 特定の VM サイズを確認して使用するView and use specific VM sizes
  • VM のサイズを変更するResize a VM
  • VM の状態を表示して理解するView and understand VM state

次のチュートリアルに進み、VM ディスクについて確認してください。Advance to the next tutorial to learn about VM disks.