https://learn.microsoft.com/ja-jp/azure/load-balancer/cli-samples
-- 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 rg9999999 \
--location japaneast
az group list
az upgrade
-- 2. 仮想ネットワーク作成
az network vnet create \
--name vnet01 \
--resource-group rg9999999 \
--address-prefixes 10.2.0.0/16 \
--ddos-protection false \
--location japaneast
az network vnet list
az network vnet show \
--resource-group rg9999999 \
--name vnet01
-- 3. サブネット作成
az network vnet subnet create \
--address-prefixes 10.2.0.0/24 \
--name subnet01 \
--resource-group rg9999999 \
--vnet-name vnet01
az network vnet subnet list \
--resource-group rg9999999 \
--vnet-name vnet01
az network vnet subnet show \
--resource-group rg9999999 \
--vnet-name vnet01 \
--name subnet01
-- 4. NSG作成
az network nsg create \
--name nsg01 \
--resource-group rg9999999
az network nsg list \
--resource-group rg9999999
az network nsg show \
--name nsg01 \
--resource-group rg9999999
-- 5. NSGルール作成
az network nsg rule create \
--name Allow_HTTP_HTTPS_RDP \
--nsg-name nsg01 \
--priority 100 \
--resource-group rg9999999 \
--destination-port-ranges 80 443 3389 \
--access "Allow" \
--protocol TCP \
--direction Inbound
az network nsg rule list \
--nsg-name nsg01 \
--resource-group rg9999999
az network nsg rule show \
--resource-group rg9999999 \
--nsg-name nsg01 \
--name Allow_HTTP_HTTPS_RDP
-- 6. NSGとサブネットsubnet01を関連付ける
az network vnet subnet update \
--resource-group rg9999999 \
--name subnet01 \
--vnet-name vnet01 \
--network-security-group nsg01
-- 7. 可用性セット作成
az vm availability-set create \
--name as01 \
--resource-group rg9999999
az vm availability-set list \
--resource-group rg9999999
az vm availability-set show \
--name as01 \
--resource-group rg9999999
az vm create \
--name vm01 \
--resource-group rg9999999 \
--location japaneast \
--availability-set as01 \
--image Win2016Datacenter \
--size Standard_B1s \
--admin-username azureuser \
--admin-password 'passwordpassword' \
--nsg nsg01 \
--os-disk-delete-option Delete \
--vnet-name vnet01 \
--subnet subnet01 \
--public-ip-address vm01-ip \
--public-ip-address-allocation static \
--public-ip-sku Basic \
--nic-delete-option Delete \
--enable-agent false \
--enable-auto-update false
az vm create \
--name vm02 \
--resource-group rg9999999 \
--location japaneast \
--availability-set as01 \
--image Win2016Datacenter \
--size Standard_B1s \
--admin-username azureuser \
--admin-password 'passwordpassword' \
--nsg nsg01 \
--os-disk-delete-option Delete \
--vnet-name vnet01 \
--subnet subnet01 \
--public-ip-address vm02-ip \
--public-ip-address-allocation static \
--public-ip-sku Basic \
--nic-delete-option Delete \
--enable-agent false \
--enable-auto-update false
az vm list \
--resource-group rg9999999
az vm show \
--resource-group rg9999999 \
--name vm01 \
--show-details
az vm show \
--resource-group rg9999999 \
--name vm02 \
--show-details
各VMにログインして実行
powershell Add-WindowsFeature Web-Server;
powershell Add-Content -Path C:\inetpub\wwwroot\Default.htm -Value $($env:computername)
-- 9. パブリック IP アドレス作成
az network public-ip create \
--resource-group rg9999999 \
--name pip01 \
--sku Basic
az network public-ip list
az network public-ip show \
--resource-group rg9999999 \
--name pip01
-- 10. Azure Load Balancer作成
az network lb create \
--resource-group rg9999999 \
--name lb01 \
--sku Basic \
--public-ip-address pip01 \
--frontend-ip-name fip01 \
--backend-pool-name bp01
az network lb list \
--resource-group rg9999999
az network lb show \
--resource-group rg9999999 \
--name lb01
-- 11. 正常性プローブ作成
az network lb probe create \
--resource-group rg9999999 \
--lb-name lb01 \
--name hp01 \
--protocol http \
--port 80 \
--path "/"
az network lb probe list \
--resource-group rg9999999 \
--lb-name lb01 \
-o table
az network lb probe show \
--resource-group rg9999999 \
--lb-name lb01 \
--name hp01 \
-- 12. 負荷分散規則作成
az network lb rule create \
--resource-group rg9999999 \
--lb-name lb01 \
--name rule01 \
--protocol tcp \
--frontend-port 80 \
--backend-port 80 \
--frontend-ip-name fip01 \
--backend-pool-name bp01 \
--probe-name hp01 \
--disable-outbound-snat true \
--idle-timeout 15
az network lb rule list \
--resource-group rg9999999 \
--lb-name lb01 \
-o table
az network lb rule show \
--resource-group rg9999999 \
--lb-name lb01 \
--name rule01
-- 13. 仮想マシンをロード バランサー バックエンド プールに追加する
az network nic ip-config list \
--resource-group rg9999999 \
--nic-name vm01VMNic
az network nic ip-config list \
--resource-group rg9999999 \
--nic-name vm02VMNic
az network nic ip-config address-pool add \
--address-pool bp01 \
--ip-config-name ipconfigvm01 \
--nic-name vm01VMNic \
--resource-group rg9999999 \
--lb-name lb01
az network nic ip-config address-pool add \
--address-pool bp01 \
--ip-config-name ipconfigvm02 \
--nic-name vm02VMNic \
--resource-group rg9999999 \
--lb-name lb01
-- 14. ロード バランサーをテストする
az network public-ip show \
--resource-group rg9999999 \
--name pip01 \
--query ipAddress \
--output tsv
-- 15. クリーンアップ
-- 仮想マシンをロード バランサー バックエンド プールから削除する
az network nic ip-config address-pool remove \
--address-pool bp01 \
--ip-config-name ipconfigvm01 \
--nic-name vm01VMNic \
--resource-group rg9999999 \
--lb-name lb01
az network nic ip-config address-pool remove \
--address-pool bp01 \
--ip-config-name ipconfigvm02 \
--nic-name vm02VMNic \
--resource-group rg9999999 \
--lb-name lb01
-- 負荷分散規則削除
az network lb rule delete \
--resource-group rg9999999 \
--lb-name lb01 \
--name rule01
-- 正常性プローブ削除
az network lb probe delete \
--resource-group rg9999999 \
--lb-name lb01 \
--name hp01
-- Azure Load Balancers削除
az network lb delete \
--resource-group rg9999999 \
--name lb01
-- パブリックIPアドレス削除
az network public-ip delete \
--resource-group rg9999999 \
--name pip01
-- VM削除
az vm delete \
--resource-group rg9999999 \
--name vm01 \
--yes
az vm delete \
--resource-group rg9999999 \
--name vm02 \
--yes
-- 可用性セット削除
az vm availability-set delete \
--name as01 \
--resource-group rg9999999
-- NSGルール削除
az network nsg rule delete \
--resource-group rg9999999 \
--nsg-name nsg01 \
--name Allow_HTTP_HTTPS_RDP
-- NSGとサブネットsubnet01を関連付けを解除する
az network vnet subnet update \
--resource-group rg9999999 \
--name subnet01 \
--vnet-name vnet01 \
--network-security-group ""
-- NSG削除
az network nsg delete \
--name nsg01 \
--resource-group rg9999999
-- サブネット削除
az network vnet subnet delete \
--resource-group rg9999999 \
--vnet-name vnet01 \
--name subnet01
-- 仮想ネットワーク削除
az network vnet delete \
--resource-group rg9999999 \
--name vnet01
-- リソースグループ削除
az group delete \
--name rg9999999 \
--yes