概要
CLIでAzureにVMをつくる手順です。
目次
- VMを作成、起動する
- リソースグループを作成する
- VMのOSイメージ名を確認する
- VMのサイズをどれにするか決める
- VMを作成する
- VMを起動し、接続する
- VMを停止する
- VMを停止、割り当て解除する
VMを作成、起動する
1. リソースグループを作成する
# リソースグループ名
RG="RG"
# 下記コマンドでリージョンリストを取得してどのリージョンを使用するか決める
az account list-locations | jq .[].name
# 今回は、westus2を指定する
REGION="westus2"
# リソースグループを、指定したリージョンに作成する
az group create --name $RG --location $REGION
2. VMのOSイメージ名を確認する
az vm image list | jq .[]
# 出力結果 (Ubuntuの部分だけ抜粋して記載)
# {
# "offer": "UbuntuServer",
# "publisher": "Canonical",
# "sku": "18.04-LTS",
# "urn": "Canonical:UbuntuServer:18.04-LTS:latest",
# "urnAlias": "UbuntuLTS",
# "version": "latest"
# }
# urnAliasの値を後続で使用するため変数に詰める
IMAGE="UbuntuLTS"
3. VMのサイズをどれにするか決める
下記ページあたりを参考に何があるか料金はいくらか確認し、VMのサイズを決める。
上記2つで、どのサイズにするかを決めたら下記で名称を確認する
# A2シリーズに絞って確認
az vm list-sizes --location $REGION | jq .[].name | grep A2
# 出力結果
# "Standard_A2"
# "Basic_A2"
# "Standard_A2m_v2"
# "Standard_A2_v2"
# 後続で使用するため変数に詰める
SIZE="Standard_A2"
4. VMを作成する
# VMの名前とログインユーザー名を変数に詰める
VMNAME="sample-vm"
USERNAME="sample-user"
# VMを作成する(指定したサイズによっては作成完了まで数分待機する)
az vm create \
--resource-group $RG \
--name $VMNAME \
--image $IMAGE \
--size $SIZE \
--admin-username $USERNAME \
--generate-ssh-keys
5. VMを起動し、接続する
# VMを起動する
az vm start --resource-group $RG --name $VMNAME --no-wait
# PublicIPを変数に詰める
PUBLIC_IP=`az vm list-ip-addresses -g $RG \
--query "[].virtualMachine.network.publicIpAddresses[?name == '"$VMNAME"PublicIP']" \
| jq -r .[][].ipAddress`
echo $PUBLIC_IP
# SSHで接続する
ssh $USERNAME@$PUBLIC_IP
VMの停止
課金を抑えるため、停止手順も記載します。
1. VMを停止、割り当て解除する
RG="RG"
VMNAME="sample-vm"
az vm stop --resource-group $RG --name $VMNAME --no-wait
# 割り当て解除 (課金の発生を抑える。ただしIPアドレスを解放する)
az vm deallocate --resource-group $RG --name $VMNAME --no-wait
参考
- Azure リソースを管理するための一般的な Azure CLI コマンド
- Azure の仮想マシンのサイズ
- Linux Virtual Machines の料金
- 料金計算ツール
-
JMESPath
IPアドレスを変数に詰めるところで使いました。 -
パブリック IP アドレスの料金
IPアドレスが変わるのを避けたい場合は、静的IPアドレスを使用します。
おわりに
完全に課金を無くすためにはリソースグループごと削除してください。
RG="RG"
az group delete --name $RG
# Are you sure you want to perform this operation? (y/n): y
使う機会は無いと思いますが、何かご指摘ありましたらよろしくお願いします。