{Azure Network Watcher}Azure CLI を使用したネットワーク セキュリティ グループ フローのログの構成

 

https://learn.microsoft.com/ja-jp/azure/network-watcher/network-watcher-nsg-flow-logging-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 network vnet create \
--name vnet01 \
--resource-group rg01 \
--address-prefixes 10.1.0.0/16 \
--ddos-protection false \
--location japaneast


az network vnet list

az network vnet show \
--resource-group rg01 \
--name vnet01

-- 3. サブネット作成

az network vnet subnet create \
--address-prefixes 10.1.0.0/24 \
--name subnet01 \
--resource-group rg01 \
--vnet-name vnet01


az network vnet subnet list \
--resource-group rg01 \
--vnet-name vnet01


az network vnet subnet show \
--resource-group rg01 \
--vnet-name vnet01 \
--name subnet01

 


-- 4. NSG作成

az network nsg create \
--name nsg01 \
--resource-group rg01

az network nsg list \
--resource-group rg01

az network nsg show \
--name nsg01 \
--resource-group rg01

 

-- 5. NSGルール作成

az network nsg rule create \
--name Allow_HTTP_HTTPS_SSH \
--nsg-name nsg01 \
--priority 100 \
--resource-group rg01 \
--destination-port-ranges 80 443 22 \
--access "Allow" \
--protocol TCP \
--direction Inbound


az network nsg rule list \
--nsg-name nsg01 \
--resource-group rg01

az network nsg rule show \
--resource-group rg01 \
--nsg-name nsg01 \
--name Allow_HTTP_HTTPS_SSH

 

-- 6. NSGとサブネットsubnet01を関連付ける


az network vnet subnet update \
--resource-group rg01 \
--name subnet01 \
--vnet-name vnet01 \
--network-security-group nsg01


-- 7. 仮想マシンの作成


az vm create \
--resource-group rg01 \
--name vm01 \
--image UbuntuLTS \
--size Standard_B1ls \
--admin-username azureuser \
--generate-ssh-keys \
--storage-sku Standard_LRS \
--vnet-name vnet01 \
--subnet subnet01


-- 8. ストレージアカウントの作成

az storage account create \
--resource-group rg01 \
--name st123 \
--access-tier Hot \
--kind StorageV2 \
--sku Standard_LRS

az storage account list \
--resource-group rg01

az storage account show \
--resource-group rg01 \
--name st123

 

-- 9. NSGフローログを有効にする

az provider register --namespace Microsoft.Insights


az network watcher flow-log create \
--location japaneast \
--name flowlog01 \
--enabled true \
--format JSON \
--interval 10 \
--log-version 2 \
--nsg nsg01 \
--resource-group rg01 \
--retention 1 \
--storage-account st123

 


az network watcher flow-log list --location japaneast

az network watcher flow-log show \
--location japaneast \
--name flowlog01 \
--resource-group rg01

 

-- 10. NSGフローログをダウンロードする

 


key=$(az storage account keys list \
--account-name st123 \
--resource-group rg01 \
--output json \
--query [0].value | tr -d '"')

echo $key


az storage container list \
--account-name st123 \
--account-key $key


az storage blob list \
--account-name st123 \
--container-name insights-logs-networksecuritygroupflowevent \
--output table \
--account-key $key


az storage blob download \
--account-name st123 \
--container-name insights-logs-networksecuritygroupflowevent \
--name resourceId=/SUBSCRIPTIONS/11111111-1111-1111-1111-111111111111/RESOURCEGROUPS/RG01/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/NSG01/y=2022/m=11/d=14/h=12/m=00/macAddress=111111111111/PT1H.json \
--file PT1H.json \
--account-key $key


cat PT1H.json | jq

 

 

-- 11. クリーンアップ


az group list

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


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