https://learn.microsoft.com/ja-jp/azure/firewall/deploy-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 rg9999999 \
--location japaneast
az group list
az upgrade
-- 2. VNet を作成する
az network vnet create \
--name vnet01 \
--resource-group rg9999999 \
--location japaneast \
--address-prefix 10.0.0.0/16
az network vnet subnet create \
--name AzureFirewallSubnet \
--resource-group rg9999999 \
--vnet-name vnet01 \
--address-prefix 10.0.0.0/26
az network vnet subnet create \
--name subnet01 \
--resource-group rg9999999 \
--vnet-name vnet01 \
--address-prefix 10.0.1.0/24
az network vnet subnet create \
--name subnet02 \
--resource-group rg9999999 \
--vnet-name vnet01 \
--address-prefix 10.0.2.0/24
-- 3. 仮想マシンを作成する
az vm create \
--resource-group rg9999999 \
--name vm02 \
--location japaneast \
--image win2016datacenter \
--vnet-name vnet01 \
--subnet subnet02 \
--admin-username azureuser \
--admin-password 'passwordpassword' \
--size Standard_B1s \
az vm open-port --port 3389 --resource-group rg9999999 --name vm02
az network nic create \
--resource-group rg9999999 \
--name nic01 \
--vnet-name vnet01 \
--subnet subnet01 \
--dns-servers 209.244.0.3 209.244.0.4
az vm create \
--resource-group rg9999999 \
--name vm01 \
--location japaneast \
--image win2016datacenter \
--nics nic01 \
--admin-username azureuser \
--admin-password 'passwordpassword' \
--size Standard_B1s \
-- 4. ファイアウォールをデプロイする
az network firewall create \
--name fw01 \
--resource-group rg9999999 \
--location japaneast \
--sku AZFW_VNet \
--tier Standard
az network public-ip create \
--name fw01pip \
--resource-group rg9999999 \
--location japaneast \
--allocation-method static \
--sku standard
az network firewall ip-config create \
--firewall-name fw01 \
--name fw01config \
--public-ip-address fw01pip \
--resource-group rg9999999 \
--vnet-name vnet01
az network firewall update \
--name fw01 \
--resource-group rg9999999
az network public-ip show \
--name fw01pip \
--resource-group rg9999999
fwprivaddr="$(az network firewall ip-config list \
--resource-group rg9999999 \
--firewall-name fw01 \
--query "[?name=='fw01config'].privateIpAddress" \
--output tsv)"
echo $fwprivaddr
-- 5. 既定のルートを作成する
az network route-table create \
--name fw01rt \
--resource-group rg9999999 \
--location japaneast \
--disable-bgp-route-propagation true
az network route-table route create \
--resource-group rg9999999 \
--name fw01rtr \
--route-table-name fw01rt \
--address-prefix 0.0.0.0/0 \
--next-hop-type VirtualAppliance \
--next-hop-ip-address $fwprivaddr
az network vnet subnet update \
--name subnet01 \
--resource-group rg9999999 \
--vnet-name vnet01 \
--route-table fw01rt
-- 6. アプリケーション ルールを構成する
az network firewall application-rule create \
--collection-name rule01 \
--firewall-name fw01 \
--name allowgoogle \
--protocols Http=80 Https=443 \
--resource-group rg9999999 \
--target-fqdns www.google.com \
--source-addresses 10.0.1.0/24 \
--priority 200 \
--action Allow
-- 7. ネットワーク ルールを構成する
az network firewall network-rule create \
--collection-name rule02 \
--destination-addresses 209.244.0.3 209.244.0.4 \
--destination-ports 53 \
--firewall-name fw01 \
--name allowdns \
--protocols UDP \
--resource-group rg9999999 \
--priority 200 \
--source-addresses 10.0.1.0/24 \
--action Allow
-- 8. ファイアウォールをテストする
az vm list-ip-addresses \
--resource-group rg9999999 \
--name vm01
az vm list-ip-addresses \
--resource-group rg9999999 \
--name vm02
リモート デスクトップで vm02 仮想マシンに接続し、サインインします。
そこから vm01 のプライベート IP アドレスへのリモート デスクトップ接続を開いて、サインインします。
nslookup www.google.com
nslookup www.microsoft.com
Invoke-WebRequest -Uri https://www.google.com
Invoke-WebRequest -Uri https://www.microsoft.com
-- 9. クリーンアップ
az group list
az group delete \
--name rg9999999 \
--yes
az group delete \
--name NetworkWatcherRG \
--yes