{Azure Virtual Machine Scale Sets}チュートリアル:Azure CLI を使用して仮想マシン スケール セットを自動的にスケールする

 

https://learn.microsoft.com/ja-jp/azure/virtual-machine-scale-sets/tutorial-create-and-manage-cli

https://learn.microsoft.com/ja-jp/azure/virtual-machine-scale-sets/tutorial-autoscale-cli


オーケストレーション モード
 均一
 フレキシブル

 

推奨はフレキシブルであるが今回は
均一オーケストレーションモードを使用

 


-- 1. 前作業

az login --use-device-code
az account show

az version

az configure --list-defaults
az configure --defaults location=japaneast
az configure --list-defaults

az group create \
--name rg01 \
--location japaneast

az group list

 

-- 2. スケール セットを作成する

az vmss create \
--resource-group rg01 \
--name ss01 \
--image UbuntuLTS \
--vm-sku Standard_B1ls \
--admin-user azureuser \
--generate-ssh-keys \
--instance-count 1 \
--storage-sku Standard_LRS


※下記リソースも作成される
仮想ネットワーク
ロードバランサー
パブリックIPアドレス


az vmss list \
--resource-group rg01


az vmss show \
--resource-group rg01 \
--name ss01


az vmss list-instances \
--resource-group rg01 \
--name ss01 \
--output table

az vmss get-instance-view \
--resource-group rg01 \
--name ss01 \
--instance-id 1


-- 3. 自動スケール プロファイルの定義

az monitor autoscale create \
--resource-group rg01 \
--resource ss01 \
--resource-type Microsoft.Compute/virtualMachineScaleSets \
--name as01 \
--min-count 1 \
--max-count 2 \
--count 1

az monitor autoscale list \
--resource-group rg01

az monitor autoscale show \
--resource-group rg01 \
--name as01


-- 4. 自動スケールアウト ルールの作成

az monitor autoscale rule create \
--resource-group rg01 \
--autoscale-name as01 \
--condition "Percentage CPU > 50 avg 5m" \
--scale out 1

az monitor autoscale rule list \
--resource-group rg01 \
--autoscale-name as01


-- 5. 自動スケールイン ルールの作成

az monitor autoscale rule create \
--resource-group rg01 \
--autoscale-name as01 \
--condition "Percentage CPU < 25 avg 5m" \
--scale in 1

az monitor autoscale rule list \
--resource-group rg01 \
--autoscale-name as01


-- 6. 接続する

az vmss list-instance-connection-info \
--resource-group rg01 \
--name ss01


ssh azureuser@192.0.2.1 -p 50001

 

-- 7. スケールアウトとスケールインの確認

yes > /dev/null &

 

-- 8. クリーンアップ


az group list

az group delete \
--name rg01 \
--yes

az group delete \
--name NetworkWatcherRG \
--yes