Cześć. Mam nadzieję, że Twoja subskrypcja nadal żyje po przeczytaniu części 1. Zapraszam Cię na część drugą, gdzie kontynuujemy wątek usuwania tego, co niepotrzebne.
Dziś na warsztat weźmiemy:
- pozostawione bezpańsko Network Security Groups
- sprawdzimy nieużywane Managed Disks
- i na końcu zobaczymy, które konta danych (Storage Accounts) nie zawierają żadnych kontenerów
Nawet jeśli te elementy nie kosztują dużo to ja lubię mieć porządek w subskrypcji 🙂
- Usuwamy nieużywane Network Security Groups
#check if NSG is attached to any Network Interface $nsgs=Get-AzureRmNetworkSecurityGroup | Where { $_.NetworkInterfaces.Count -eq 0 } foreach ($nsg in $nsgs) { Write-Host 'Deleting ' $nsg.Name #Remove-AzureRmNetworkSecurityGroup -Name $nsg.Name -ResourceGroupName $nsg.ResourceGroupName -Force }
- Usuwamy nieużywane dyski zarządzane
$disks=Get-AzureRmDisk foreach ($disk in $disks) { if (!$disk.OwnerId) { Write-Host 'Deleting ' $disk.Name #Remove-AzureRmDisk -DiskName $disk.Name -ResourceGroupName $disk.ResourceGroupName -Force } }
- I na koniec konta składowania danych. Zanim skrypt, słowo wyjaśnienia. Skrypt faktycznie pokaże konta, które nie zawierają żadnych kontenerów, ograniczy się tylko do zawartości Blob’owej. Często się jednak zdarza, że konto zawiera kontenery ale nie do końca wiemy ile zajmują przestrzeni ani co w nich jest. Skrypt pokaże nam wszystkie kontenery w ramach konta jak i zajmowaną przez nie wielkość w MB. Potraktuj proszę ten skrypt jako „starter” dla siebie. Jeśli chcesz wiedzieć jakie blob’y są na Twoim koncie, wystarczy drobna modyfikacja.
$sas=Get-AzureRmStorageAccount $size = 0 $totalBlobSize=0 foreach ($sa in $sas) { $totalBlobSize=0 Write-Host "Storage Account:" $sa.StorageAccountName $containers = Get-AzureStorageContainer -Context $sa.Context If (!$containers.Name) { Write-Host "This blob has no cotainers"} Else { foreach ($container in $containers) { $listblobs = Get-AzureRmStorageAccount -ResourceGroupName $sa.ResourceGroupName -Name $sa.StorageAccountName -ErrorAction Ignore | Get-AzureStorageBlob -Container $container.Name foreach ($listblob in $listblobs) {$size = $size + $listblob.length} $size = $size/1024/1024 $totalBlobSize = $totalBlobSize + $size Write-host $container.Name"| container size: $size MB. Last modified:" $listblob.LastModified } } Write-Host "Total storage account size: " $totalBlobSize "MB" [Environment]::NewLine }
Przykład tego, co Wam pokaże skrypt, powyżej.
Miłego testowania i sprawdzania zasobów w Twojej subskrypcji!