{Azure Load Balancer}Load Balancer 用の Azure CLI サンプル

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

 

 

-- 8. VM作成(Windows)

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