https://learn.microsoft.com/ja-jp/azure/virtual-machines/ssh-keys-azure-cli
https://learn.microsoft.com/ja-jp/azure/virtual-machines/linux/multiple-nics?toc=%2Fazure%2Fvirtual-network%2Ftoc.json#add-a-nic-to-a-vm
https://learn.microsoft.com/ja-jp/azure/virtual-machines/linux/add-disk
https://learn.microsoft.com/ja-jp/azure/virtual-machines/linux/detach-disk?source=recommendations
https://learn.microsoft.com/ja-jp/azure/virtual-machines/linux/tutorial-manage-disks
https://learn.microsoft.com/ja-jp/azure/virtual-machines/create-gallery?tabs=cli%2Cclidirect%2Ccli2
https://learn.microsoft.com/ja-jp/azure/virtual-machines/image-version?tabs=portal
https://learn.microsoft.com/ja-jp/azure/virtual-machines/vm-specialized-image-version?source=recommendations&tabs=cli%2Ccli2
https://learn.microsoft.com/ja-jp/azure/virtual-machines/linux/proximity-placement-groups
前作業
az login --use-device-code
az account show
az configure --list-defaults
az configure --defaults location=japaneast
az configure --list-defaults
az group create \
--name rg01 \
--location japaneast
az group list
---------------------------------------------
キーペアの作成
az sshkey create \
--name key01 \
--resource-group rg01
ls -l /Users/user01/.ssh/1111111111_1111111
chmod 600 /Users/user01/.ssh/1111111111_1111111
ls -l /Users/user01/.ssh/1111111111_1111111
az sshkey list \
--resource-group rg01
az sshkey show \
--name key01 \
--resource-group rg01
キーペアの削除
az sshkey delete \
--name key01 \
--resource-group rg01 \
--yes
ls -l /Users/user01/.ssh
rm -i /Users/user01/.ssh/1111111111_1111111*
ls -l /Users/user01/.ssh
---------------------------------------------
az vm create \
--resource-group rg01 \
--name vm01 \
--image Debian \
--size Standard_B1ls \
--admin-username azureuser \
--generate-ssh-keys \
--storage-sku Standard_LRS
ls -l /Users/user01/.ssh
ssh azureuser@192.0.2.1
az vm create \
--resource-group rg01 \
--name vm02 \
--image UbuntuLTS \
--size Standard_B1ls \
--admin-username azureuser \
--ssh-key-name key01
※特に指定しない場合、下記リソースが同時に作成される
ディスク(Premium SSD LRS、30GiB)
ネットワークセキュリティグループ(ssh許可)
パブリックIPアドレス
ネットワークインターフェイス(ネットワークセキュリティグループがアタッチ)
仮想ネットワーク(10.0.0.0/16)
サブネット(10.0.0.0/24)
ssh -i /Users/user01/.ssh/1111111111_1111111 azureuser@192.0.2.1
az vm list \
--resource-group rg01
az vm show \
--resource-group rg01 \
--name vm01 \
--show-details
az vm list --resource-group rg01 --show-details | grep powerState
az vm deallocate \
--resource-group rg01 \
--name vm01
az vm start \
--resource-group rg01 \
--name vm01
az vm restart \
--resource-group rg01 \
--name vm01
VM削除
az vm delete \
--resource-group rg01 \
--name vm01 \
--yes
---------------------------------------------
ネットワークインターフェースの作成
az network nic create \
--resource-group rg01 \
--vnet-name vm01VNET \
--subnet vm01Subnet \
--name nic01
az network nic list \
--resource-group rg01
az network nic show \
--resource-group rg01 \
--name nic01
ネットワークインターフェースの削除
az network nic delete \
--resource-group rg01 \
--name nic01
ネットワークインタフェースのアタッチ
az vm deallocate \
--resource-group rg01 \
--name vm01
az vm nic add \
--resource-group rg01 \
--vm-name vm01 \
--nics nic01
az vm start \
--resource-group rg01 \
--name vm01
ネットワークインタフェースのデタッチ
az vm deallocate \
--resource-group rg01 \
--name vm01
az vm nic remove \
--resource-group rg01 \
--vm-name vm01 \
--nics nic01
az vm start \
--resource-group rg01 \
--name vm01
---------------------------------------------
ディスクの作成
az disk create \
--resource-group rg01 \
--name disk01 \
--size-gb 10 \
--sku Standard_LRS
az disk list \
--resource-group rg01
az disk show \
--resource-group rg01 \
--name disk01
ディスクの削除
az disk delete \
--resource-group rg01 \
--name disk01 \
--yes
ディスクのアタッチ
az vm disk attach \
--resource-group rg01 \
--vm-name vm01 \
--name disk01
ディスクのデタッチ
az vm disk detach \
--resource-group rg01 \
--vm-name vm01 \
--name disk01
---------------------------------------------
スナップショットの作成
osdiskid=$(az vm show \
--resource-group rg01 \
--name vm01 \
--query "storageProfile.osDisk.managedDisk.id" \
-o tsv)
echo "$osdiskid"
az snapshot create \
--resource-group rg01 \
--source "$osdiskid" \
--name snap01
az snapshot list \
--resource-group rg01
az snapshot show \
--resource-group rg01 \
--name snap01
スナップショットの削除
az snapshot delete \
--resource-group rg01 \
--name snap01
---------------------------------------------
プライベート ギャラリーの作成
az sig create \
--resource-group rg01 \
--gallery-name gallery01
az sig list \
--resource-group rg01
az sig show \
--resource-group rg01 \
--gallery-name gallery01
プライベート ギャラリーの削除
az sig delete \
--resource-group rg01 \
--gallery-name gallery01
イメージを作成する
az sig image-definition create \
--resource-group rg01 \
--gallery-name gallery01 \
--gallery-image-definition image01 \
--publisher publisher01 \
--offer offer01 \
--sku sku01 \
--os-type Linux \
--os-state specialized
az sig image-definition list \
--gallery-name gallery01 \
--resource-group rg01
az sig image-definition show \
--resource-group rg01 \
--gallery-name gallery01 \
--gallery-image-definition image01
イメージを削除する
az sig image-definition delete \
--resource-group rg01 \
--gallery-name gallery01 \
--gallery-image-definition image01
イメージ バージョンの作成
az sig image-version create \
--resource-group rg01 \
--gallery-name gallery01 \
--gallery-image-definition image01 \
--gallery-image-version 1.0.0 \
--target-regions "japaneast" \
--replica-count 1 \
--os-snapshot "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rg01/providers/Microsoft.Compute/snapshots/snap01"
az sig image-version list \
--resource-group rg01 \
--gallery-name gallery01 \
--gallery-image-definition image01
az sig image-version show \
--resource-group rg01 \
--gallery-name gallery01 \
--gallery-image-definition image01 \
--gallery-image-version 1.0.0
イメージバージョンの削除
az sig image-version delete \
--resource-group rg01 \
--gallery-name gallery01 \
--gallery-image-definition image01 \
--gallery-image-version 1.0.0
特殊化されたイメージ バージョンを使用して VM を作成する
az vm create \
--resource-group rg01 \
--name vm03 \
--image "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rg01/providers/Microsoft.Compute/galleries/gallery01/images/image01/versions/1.0.0" \
--specialized
---------------------------------------------
近接通信配置グループの作成
az ppg create \
--name ppg01 \
--resource-group rg01
az ppg list \
--resource-group rg01
az ppg show \
--name ppg01 \
--resource-group rg01
近接通信配置グループの削除
az ppg delete \
--name ppg01 \
--resource-group rg01
---------------------------------------------
クリーンアップ
az group list
az group delete \
--name rg01 \
--yes
az group delete \
--name NetworkWatcherRG \
--yes