チュートリアル:Azure CLI を使用した Linux VM の作成と管理Tutorial: Create and Manage Linux VMs with the Azure CLI

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 を作成し接続する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 を使用するUse Azure Cloud Shell

Azure では、ブラウザーを介して使用できる対話型のシェル環境、Azure Cloud Shell がホストされています。Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Cloud Shell では、bashPowerShell のいずれかを使用して Azure サービスを操作できます。Cloud Shell lets you use either bash or PowerShell to work with Azure services. ローカル環境に何もインストールしなくても、Cloud Shell にプレインストールされているコマンドを使用して、この記事のコードを実行できます。You can use the Cloud Shell pre-installed commands to run the code in this article without having to install anything on your local environment.

Azure Cloud Shell を起動するには:To launch Azure Cloud Shell:

オプションOption 例とリンクExample/Link
コード ブロックの右上隅にある [使ってみる] を選択します。Select Try It in the upper-right corner of a code block. [試してみる] を選択しても、コードは Cloud Shell に自動的にコピーされません。Selecting Try It doesn't automatically copy the code to Cloud Shell. Azure Cloud Shell の [使ってみる] の例
https://shell.azure.com に移動するか、 [Cloud Shell を起動する] ボタンを選択して、ブラウザーで Cloud Shell を開きます。Go to https://shell.azure.com or select the Launch Cloud Shell button to open Cloud Shell in your browser. 新しいウィンドウで Cloud Shell を起動するLaunch Cloud Shell in a new window
Azure portal の右上にあるメニュー バーの [Cloud Shell] ボタンを選択します。Select the Cloud Shell button on the top-right menu bar in the Azure portal. Azure Portal の [Cloud Shell] ボタン

Azure Cloud Shell でこの記事のコードを実行するには:To run the code in this article in Azure Cloud Shell:

  1. Cloud Shell を起動します。Launch Cloud Shell.

  2. [コピー] ボタンを選択して、コード ブロックをコードにコピーします。Select the Copy button on a code block to copy the code.

  3. Windows と Linux では Ctrl + Shift + V キー、macOS では Cmd + Shift + V キーを使用して、コードを Cloud Shell セッションに貼り付けます。Paste the code into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS.

  4. Enter キーを押して、コードを実行します。Press Enter to run the code.

CLI をローカルにインストールして使用する場合、このチュートリアルでは、Azure CLI バージョン 2.0.30 以降を実行していることが要件です。If you choose to install and use the CLI locally, this tutorial requires that you are running the Azure CLI version 2.0.30 or later. バージョンを確認するには、az --version を実行します。Run az --version to find the version. インストールまたはアップグレードする必要がある場合は、Azure CLI のインストールに関するページを参照してください。If you need to install or upgrade, see Install Azure CLI.

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

az group create コマンドでリソース グループを作成します。Create a resource group with the az group create 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 this example, a resource group named myResourceGroupVM is created in the eastus region.

az group create --name 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

仮想マシンを作成するには、az vm create コマンドを使用します。Create a virtual machine with the az vm create command.

仮想マシンを作成するときに、オペレーティング システム イメージ、ディスクのサイズ、管理者資格情報など、いくつかの選択肢があります。When you create a virtual machine, several options are available such as operating system image, disk sizing, and administrative credentials. 次の例では、Ubuntu Server を実行する myVM という名前の VM を作成します。The following example creates a VM named myVM that runs Ubuntu Server. VM には、azureuser という名前のユーザー アカウントが作成されます。また、既定のキーの場所 ( ~/.ssh) に SSH キーが存在しない場合は、SSH キーが生成されます。A user account named azureuser is created on the VM, and SSH keys are generated if they do not exist in the default key location (~/.ssh):

az vm create \
    --resource-group myResourceGroupVM \
    --name myVM \
    --image UbuntuLTS \
    --admin-username azureuser \
    --generate-ssh-keys

VM の作成には数分かかることがあります。It may take a few minutes to create the VM. VM が作成されると、Azure CLI で VM に関する以下の情報が出力されます。Once the VM has been created, the Azure CLI outputs information about the VM. publicIpAddress を記録します。このアドレスは仮想マシンへのアクセスに使用します。Take note of the publicIpAddress, this address can be used to access the virtual machine..

{
  "fqdns": "",
  "id": "/subscriptions/d5b9d4b7-6fc1-0000-0000-000000000000/resourceGroups/myResourceGroupVM/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "eastus",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "52.174.34.95",
  "resourceGroup": "myResourceGroupVM"
}

VM への接続Connect to VM

Azure Cloud Shell またはローカル コンピューターで、SSH を使用して VM に接続できるようになりました。You can now connect to the VM with SSH in the Azure Cloud Shell or from your local computer. サンプルの IP アドレスは、前の手順で記録した publicIpAddress に置き換えてください。Replace the example IP address with the publicIpAddress noted in the previous step.

ssh azureuser@52.174.34.95

VM にログインしたら、アプリケーションをインストールして構成できます。Once logged in to the VM, you can install and configure applications. 作業が終了したら、通常どおり SSH セッションを閉じます。When you are finished, you close the SSH session as normal:

exit

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

Azure Marketplace には、VM の作成に使用できる多くのイメージが用意されています。The Azure marketplace includes many images that can be used to create VMs. 前の手順では、Ubuntu のイメージを使用して仮想マシンを作成しました。In the previous steps, a virtual machine was created using an Ubuntu image. この手順では、Azure CLI を使用して Marketplace で CentOS のイメージを検索し、このイメージを使用して 2 台目の仮想マシンをデプロイします。In this step, the Azure CLI is used to search the marketplace for a CentOS image, which is then used to deploy a second virtual machine.

az vm image list コマンドを使用して、よく使用されるイメージのリストを表示します。To see a list of the most commonly used images, use the az vm image list command.

az vm image list --output table

このコマンドの出力では、Azure にあるよく使用される VM イメージが返されます。The command output returns the most popular VM images on Azure.

Offer          Publisher               Sku                 Urn                                                             UrnAlias             Version
-------------  ----------------------  ------------------  --------------------------------------------------------------  -------------------  ---------
WindowsServer  MicrosoftWindowsServer  2016-Datacenter     MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest     Win2016Datacenter    latest
WindowsServer  MicrosoftWindowsServer  2012-R2-Datacenter  MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest  Win2012R2Datacenter  latest
WindowsServer  MicrosoftWindowsServer  2008-R2-SP1         MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest         Win2008R2SP1         latest
WindowsServer  MicrosoftWindowsServer  2012-Datacenter     MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest     Win2012Datacenter    latest
UbuntuServer   Canonical               16.04-LTS           Canonical:UbuntuServer:16.04-LTS:latest                         UbuntuLTS            latest
CentOS         OpenLogic               7.3                 OpenLogic:CentOS:7.3:latest                                     CentOS               latest
openSUSE-Leap  SUSE                    42.2                SUSE:openSUSE-Leap:42.2:latest                                  openSUSE-Leap        latest
RHEL           RedHat                  7.3                 RedHat:RHEL:7.3:latest                                          RHEL                 latest
SLES           SUSE                    12-SP2              SUSE:SLES:12-SP2:latest                                         SLES                 latest
Debian         credativ                8                   credativ:Debian:8:latest                                        Debian               latest
CoreOS         CoreOS                  Stable              CoreOS:CoreOS:Stable:latest                                     CoreOS               latest

--all 引数を追加すると、リスト全体を確認できます。A full list can be seen by adding the --all argument. また、--publisher–-offer を使用してリストをフィルタリングすることも可能です。The image list can also be filtered by --publisher or –-offer. この例では、CentOS に一致するプランがあるすべてのイメージを表示するように、リストをフィルター処理します。In this example, the list is filtered for all images with an offer that matches CentOS.

az vm image list --offer CentOS --all --output table

出力の一部を次に示します。Partial output:

Offer             Publisher         Sku   Urn                                     Version
----------------  ----------------  ----  --------------------------------------  -----------
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.201501         6.5.201501
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.201503         6.5.201503
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.201506         6.5.201506
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.20150904       6.5.20150904
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.20160309       6.5.20160309
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.20170207       6.5.20170207

特定のイメージを使用して VM をデプロイするために、 [Urn] 列の値をメモに記録します。この値は、イメージを識別するための、発行元、プラン、SKU、およびオプションのバージョン番号で構成されます。To deploy a VM using a specific image, take note of the value in the Urn column, which consists of the publisher, offer, SKU, and optionally a version number to identify the image. イメージを指定するときにイメージのバージョン数を "latest" で置き換えることもできます。このようにすると、ディストリビューションの最新バージョンが選択されます。When specifying the image, the image version number can be replaced with “latest”, which selects the latest version of the distribution. この例では、--image 引数を使用して、CentOS 6.5 イメージの最新バージョンを指定します。In this example, the --image argument is used to specify the latest version of a CentOS 6.5 image.

az vm create --resource-group myResourceGroupVM --name myVM2 --image OpenLogic:CentOS:6.5:latest --generate-ssh-keys

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 sized appropriately for the expected work load. ワークロードが増えた場合は既存の仮想マシンのサイズを変更できます。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 B、Dsv3、Dv3、DSv2、Dv2、Av2、DCB, Dsv3, Dv3, DSv2, Dv2, Av2, DC CPU とメモリのバランスがとれています。Balanced CPU-to-memory. 開発/テスト環境や、小中規模のアプリケーションとデータ ソリューションに最適です。Ideal for dev / test and small to medium applications and data solutions.
コンピューティングの最適化Compute optimized Fsv2Fsv2 メモリに対する CPU の比が大きくなっています。High CPU-to-memory. トラフィックが中程度のアプリケーション、ネットワーク アプライアンス、バッチ処理に適しています。Good for medium traffic applications, network appliances, and batch processes.
メモリの最適化Memory optimized Esv3、Ev3、M、DSv2、Dv2Esv3, Ev3, M, DSv2, Dv2 コアに対するメモリの比が大きくなっています。High memory-to-core. リレーショナル データベース、中から大規模のキャッシュ、およびインメモリ分析に適しています。Great for relational databases, medium to large caches, and in-memory analytics.
ストレージの最適化Storage optimized Lsv2、LsLsv2, Ls 高いディスク スループットと IO。High disk throughput and IO. ビッグ データ、SQL、および NoSQL のデータベースに最適です。Ideal for Big Data, SQL, and NoSQL databases.
GPUGPU NV、NVv2、NC、NCv2、NCv3、NDNV, NVv2, NC, NCv2, NCv3, ND 負荷の高いグラフィック処理やビデオ編集に特化した VM です。Specialized VMs targeted for heavy graphic rendering and video editing.
高性能High performance HH オプションで高スループットのネットワーク インターフェイス (RDMA) を備えた、最も強力な CPU VM です。Our most powerful CPU VMs with optional high-throughput network interfaces (RDMA).

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

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

az vm list-sizes --location eastus --output table

出力の一部を次に示します。Partial output:

  MaxDataDiskCount    MemoryInMb  Name                      NumberOfCores    OsDiskSizeInMb    ResourceDiskSizeInMb
------------------  ------------  ----------------------  ---------------  ----------------  ----------------------
                 2          3584  Standard_DS1                          1           1047552                    7168
                 4          7168  Standard_DS2                          2           1047552                   14336
                 8         14336  Standard_DS3                          4           1047552                   28672
                16         28672  Standard_DS4                          8           1047552                   57344
                 4         14336  Standard_DS11                         2           1047552                   28672
                 8         28672  Standard_DS12                         4           1047552                   57344
                16         57344  Standard_DS13                         8           1047552                  114688
                32        114688  Standard_DS14                        16           1047552                  229376
                 1           768  Standard_A0                           1           1047552                   20480
                 2          1792  Standard_A1                           1           1047552                   71680
                 4          3584  Standard_A2                           2           1047552                  138240
                 8          7168  Standard_A3                           4           1047552                  291840
                 4         14336  Standard_A5                           2           1047552                  138240
                16         14336  Standard_A4                           8           1047552                  619520
                 8         28672  Standard_A6                           4           1047552                  291840
                16         57344  Standard_A7                           8           1047552                  619520

サイズを指定して VM を作成するCreate VM with specific size

上記の VM 作成の例ではサイズを指定しなかったため、サイズは既定のものになっています。In the previous VM creation example, a size was not provided, which results in a default size. VM のサイズは、作成時に --size 引数を付けて az vm create を使用することで指定できます。A VM size can be selected at creation time using az vm create and the --size argument.

az vm create \
    --resource-group myResourceGroupVM \
    --name myVM3 \
    --image UbuntuLTS \
    --size Standard_F4s \
    --generate-ssh-keys

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

デプロイ後に VM のサイズを変更して、リソースの割り当てを増減できます。After a VM has been deployed, it can be resized to increase or decrease resource allocation. VM の現在のサイズを表示するには、az vm show を使用します。You can view the current of size of a VM with az vm show:

az vm show --resource-group myResourceGroupVM --name myVM --query hardwareProfile.vmSize

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

az vm list-vm-resize-options --resource-group myResourceGroupVM --name myVM --query [].name

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

az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_DS4_v2

目的のサイズが現在のクラスターにない場合、サイズ変更を行うには VM の割り当てを解除する必要があります。If the desired size is not on the current cluster, the VM needs to be deallocated before the resize operation can occur. az vm deallocate コマンドを使用して、VM を停止し割り当てを解除します。Use the az vm deallocate command to stop and deallocate the VM. VM の電源を入れ直すと、一時ディスクのデータがすべて削除される可能性があることに注意してください。Note, when the VM is powered back on, any data on the temp disk may be removed. また、静的な IP アドレスを使用している場合を除き、パブリック IP アドレスが変更されます。The public IP address also changes unless a static IP address is being used.

az vm deallocate --resource-group myResourceGroupVM --name myVM

割り当ての解除後、サイズ変更を行うことができます。Once deallocated, the resize can occur.

az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_GS1

サイズの変更後、VM を起動できます。After the resize, the VM can be started.

az vm start --resource-group myResourceGroupVM --name myVM

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. 仮想マシンが停止済みの状態でも、コンピューティング料金は発生します。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 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 the power state

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

az vm get-instance-view \
    --name myVM \
    --resource-group myResourceGroupVM \
    --query instanceView.statuses[1] --output table

出力:Output:

ode                DisplayStatus    Level
------------------  ---------------  -------
PowerState/running  VM running       Info

管理タスクManagement tasks

仮想マシンのライフサイクルでは、各種の管理タスクを実行する必要がある場合があります (仮想マシンの起動、停止、削除など)。During the life-cycle 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 CLI を使ってコマンド ラインやスクリプトから実行できます。Using the Azure CLI, many common management tasks can be run from the command line or in scripts.

IP アドレスの取得Get IP address

仮想マシンのプライベート IP アドレスとパブリック IP アドレスを取得するには、次のコマンドを使用します。This command returns the private and public IP addresses of a virtual machine.

az vm list-ip-addresses --resource-group myResourceGroupVM --name myVM --output table

仮想マシンの停止Stop virtual machine

az vm stop --resource-group myResourceGroupVM --name myVM

仮想マシンの起動Start virtual machine

az vm start --resource-group myResourceGroupVM --name myVM

Delete resource groupDelete resource group

リソース グループを削除すると、グループに含まれているリソース (VM、仮想ネットワーク、ディスクなど) もすべて削除されます。Deleting a resource group also deletes all resources contained within, such as the VM, virtual network, and disk. --no-wait パラメーターは、操作の完了を待たずにプロンプトに制御を戻します。The --no-wait parameter returns control to the prompt without waiting for the operation to complete. --yes パラメーターは、追加のプロンプトを表示せずにリソースの削除を確定します。The --yes parameter confirms that you wish to delete the resources without an additional prompt to do so.

az group delete --name myResourceGroupVM --no-wait --yes

次の手順Next steps

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

  • 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.