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