2026年7月9日

2026年7月9日

Azureで仮想マシン(Linux VM)を作成する方法|Azure portalとAzure CLIの手順

Microsoft Azureの仮想マシン(VM)は、OSやサイズを選んで数分で起動できるクラウド上のサーバーです。この記事では、Ubuntu Serverの仮想マシンを、ブラウザーで操作するAzure portalと、コマンドで操作するAzure CLIの2通りで作成し、SSHで接続するまでを説明します。画面の表記とコマンドは、2026年10月時点のMicrosoft Learnのクイックスタートに合わせています。

作成する前に確認すること

  • Azureのアカウントと、課金先になるサブスクリプションがあること
  • 仮想マシンは、起動している時間とディスク・パブリックIPアドレスなどに料金がかかります。サイズごとの料金と、選べるサイズはリージョンとサブスクリプションによって異なるので、作成画面か料金計算ツールで確認してください
  • Azureでは、仮想マシンとそれに付くディスク、ネットワーク、パブリックIPアドレスを「リソースグループ」という入れ物にまとめます。試しに作る場合は専用のリソースグループを作っておくと、後でまとめて削除できます

Azure portalで作成する

  1. Azure portal にサインインし、上部の検索欄に「virtual machines」と入力します。
  2. 「サービス」の「仮想マシン」を選び、「作成」→「仮想マシン」を選びます。「仮想マシンの作成」ページが開きます。
  3. 「基本」タブの「プロジェクトの詳細」で、サブスクリプションを確認し、リソースグループの「新規作成」を選んで名前(例: myResourceGroup)を入力します。
  4. 「インスタンスの詳細」で、仮想マシン名(例: myVM)、地域(日本からの利用なら「Japan East」など)、可用性オプション(試用なら「インフラストラクチャの冗長性は必要ありません」)、イメージ(「Ubuntu Server 24.04 LTS」または「Ubuntu Server 22.04 LTS」)、サイズを指定します。既定で表示されるサイズと料金は例で、選べるサイズと料金はリージョンによって異なります。
  5. 「管理者アカウント」で、「認証の種類」を「SSH 公開キー」にし、「ユーザー名」(例: azureuser)を入力します。「SSH 公開キーのソース」は既定の「新しいキーの組の生成」のままにし、キーの組の名前(例: myKey)を入力します。
  6. 「受信ポートの規則」の「パブリック受信ポート」で「選択されたポートを許可する」を選び、必要なポートだけを選びます。SSHで接続するなら「SSH (22)」、Webサーバーにするなら「HTTP (80)」も選びます。
  7. 「確認および作成」を選び、検証が通ったら「作成」を選びます。
  8. 「新しいキー ペアの生成」のウィンドウで、秘密キーをダウンロードしてリソースを作成するボタンを選びます。秘密キーは myKey.pem のような名前で保存されます。このファイルは後から再ダウンロードできないので、なくさない場所に保管します。
  9. デプロイが終わったら「リソースに移動」を選び、仮想マシンの概要ページに表示されるパブリックIPアドレスを控えます。

SSHで接続する

macOSやLinuxでは、秘密キーを自分だけが読める権限にしてから接続します。Windowsでは、PowerShellから同じ ssh コマンドを使えます。

chmod 400 ~/Downloads/myKey.pem
ssh -i ~/Downloads/myKey.pem azureuser@203.0.113.10

203.0.113.10 は、控えたパブリックIPアドレスに置き換えてください。次回以降の仮想マシンでは、「SSH 公開キーのソース」で「Azure に保存されているキーを使用する」を選ぶと、同じ鍵を使えます。

Azure CLIで作成する

同じ作業をコマンドで行う方法です。ブラウザーから使えるAzure Cloud Shell(https://shell.azure.com)にはAzure CLIが最初から入っています。自分のパソコンで使う場合は、Azure CLIをインストールします。

# Ubuntu / Debian(Microsoft のインストールスクリプト)
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

# Windows(winget)
winget install --exact --id Microsoft.AzureCLI

インストールできたら、バージョンを確認してサインインします。

az --version
az login

リソースグループを作る

az group create --name myResourceGroup --location japaneast

イメージを確認する

az vm create の --image には、イメージのURN(発行者:オファー:SKU:バージョン)か、よく使うイメージに付けられた短い別名を指定します。以前の記事で使われていた UbuntuLTS はUbuntu 18.04を指す古い別名で、現在は使いません。手元のAzure CLIで使える別名は次のコマンドで確認できます。

# よく使うイメージの一覧(UrnAlias 列が別名)
az vm image list --output table

# Canonical が公開している Ubuntu のイメージをすべて表示(時間がかかる)
az vm image list --publisher Canonical --all --output table

Ubuntu 22.04 LTSは別名 Ubuntu2204、Ubuntu 24.04 LTSはURN Canonical:ubuntu-24_04-lts:server:latest で指定できます。

サイズを確認する(任意)

--size を省くと既定のサイズで作られます。サイズを選ぶ場合は、そのリージョンで使えるサイズを確認してから指定します。

az vm list-skus --location japaneast --resource-type virtualMachines --output table

仮想マシンを作る

az vm create \
  --resource-group myResourceGroup \
  --name myVM \
  --image Canonical:ubuntu-24_04-lts:server:latest \
  --admin-username azureuser \
  --generate-ssh-keys \
  --public-ip-sku Standard

--generate-ssh-keys は、~/.ssh に既存のSSH鍵があればそれを使い、なければ作成して ~/.ssh に保存します。数分で作成が終わり、publicIpAddress を含む結果が表示されます。

このコマンドは、仮想ネットワーク、ネットワークセキュリティグループ(NSG)、パブリックIPアドレス、ネットワークインターフェースも同じリソースグループに作ります。Linuxのイメージでは、NSGにSSH(22番)の受信を許可する規則が自動で追加されます。

IPアドレスを確認して接続する

az vm show --show-details \
  --resource-group myResourceGroup \
  --name myVM \
  --query publicIps --output tsv

ssh azureuser@203.0.113.10

受信ポートを制限する

SSHのポートを全世界に開けたままにすると、パスワードの総当たりなどの接続試行を受け続けます。接続元が決まっている場合は、NSGの規則で送信元のIPアドレスを絞ります。

まず、NSGの名前と現在の規則を確認します。

az network nsg list --resource-group myResourceGroup --output table
az network nsg rule list --resource-group myResourceGroup --nsg-name myVMNSG --output table

SSHを許可している規則の名前(Name 列)を確認し、送信元を自分の固定IPアドレスに変更します。198.51.100.5 は例です。

az network nsg rule update \
  --resource-group myResourceGroup \
  --nsg-name myVMNSG \
  --name 確認した規則の名前 \
  --source-address-prefixes 198.51.100.5/32

Webサーバーとして使うために80番を開ける場合は、az vm open-port が使えます。この方法では送信元を制限しない規則が追加されます。

az vm open-port --resource-group myResourceGroup --name myVM --port 80 --priority 1010

NSGの規則は --priority の数字が小さいものから評価されるので、同じNSGの中で番号が重ならないようにします。

使わないときに課金を止める

仮想マシンの「停止」には2種類あります。

操作 状態 仮想マシンの料金
az vm stop、またはOSの中で shutdown 停止済み OSは止まるが、計算資源は確保されたままで課金が続く
az vm deallocate、またはportalの「停止」 停止済み(割り当て解除) 仮想マシンの料金は止まる。ディスクとパブリックIPアドレスの料金は続く
# 割り当て解除して止める
az vm deallocate --resource-group myResourceGroup --name myVM

# 再び起動する
az vm start --resource-group myResourceGroup --name myVM

止め忘れを防ぐには、portalの仮想マシンのページの「操作」にある「自動シャットダウン」を「オン」にし、時刻を設定して「保存」します。タイムゾーンの既定は協定世界時(UTC)なので、日本時間に合わせて選び直してください。

試しに作った環境が不要になったら、リソースグループごと削除します。仮想マシン、ディスク、ネットワークなど、グループ内のリソースがすべて削除され、元に戻せません。

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

うまくいかないとき

症状 確認すること
ssh が応答せずタイムアウトする NSGで22番が許可されているか、送信元を絞った場合は自分の今のIPアドレスと一致しているか
Permission denied (publickey) 指定した秘密キーとユーザー名が作成時のものと同じか。.pem の権限が 400 か
作成時にサイズが使えないというエラー そのリージョンでそのサイズが提供されていないか、サブスクリプションのクォータ(vCPU数の上限)を超えている。az vm list-skus で確認し、別のサイズかリージョンを選ぶ
仮想マシンの状態を確かめたい az vm get-instance-view --resource-group myResourceGroup --name myVM --query instanceView.statuses --output table

まとめ

  • portalでは「仮想マシン」→「作成」から、リソースグループ、イメージ、サイズ、SSH公開キー、受信ポートを指定して作る
  • CLIでは az group create と az vm create で作る。イメージは Ubuntu2204 の別名か、Ubuntu 24.04のURNを指定する(UbuntuLTS は古い)
  • SSHの受信規則は、可能なら送信元のIPアドレスを絞る
  • 使わないときは az vm deallocate(portalの「停止」)で割り当てを解除し、不要になったらリソースグループごと削除する

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ
▲