Azure CLI를 사용하여 대규모로 리소스를 삭제하는 방법
Azure 리소스 관리자는 이전 환경을 삭제할 때 여러 Azure 리소스를 삭제해야 하는 경우가 많습니다. 일부 CLI devTest 환경에는 주기적인 클린 필요하므로 더 오래 남아 있는 임시 Azure 리소스에 대한 요금이 발생하지 않습니다.
이 Azure CLI 샘플에서는 다음을 알아봅니다.
- 스크립트에서 여러 Azure 리소스 삭제
- 로컬 TXT 파일에 스크립트 진행률 기록
이 샘플 스크립트는 Bash 환경의 Azure Cloud Shell 에서 테스트되었습니다. 이 스크립트는 Windows 터미널 사용하여 Ubuntu 22.04.3 LTS에서도 성공적으로 테스트되었습니다.
이름으로 필터링하는 Azure 리소스 삭제
이 스크립트를 사용하여 지정된 단어로 시작하는 리소스 그룹을 나열하고 삭제합니다.
# Set your subscription
subscriptionID=00000000-0000-0000-0000-00000000
az account set --subscription $subscriptionID
# Set your log file location
logFileLocation="myLogName.txt"
# Get the name of all resource groups that start with 'msdocs'
az group list --query "[?starts_with(name, 'msdocs') == \`true\`].name" -o table
# Delete resource groups without a confirmation prompt (--yes)
# Do not wait for the operation to finish (--no-wait)
echo "Deleting resource groups">$logFileLocation
for rgList in $(az group list --query "[?starts_with(name, 'msdocs') == \`true\`].name" -o tsv);
do
echo "deleting resource group $rgList">>$logFileLocation
az group delete --name $rgList --yes --no-wait
done
# read your log file with Linux "cat" command
clear
cat $logFileLocation
생성 날짜별로 Azure 리소스 필터링 삭제
이 스크립트를 사용하여 날짜 범위 내에서 만든 스토리지 계정을 나열하고 삭제합니다.
# Set your log file location
logFileLocation="myLogName.txt"
# Set your resource group variable
rgName=<msdocs-rg-0000000>
# Get a list of Azure storage accounts that were created in the last 30 days. Return the results as a table.
saDate=$(date +%F -d "-30days")
az storage account list --resource-group $rgName \
--query "[?creationTime >='$saDate'].{saName:name, createdTimeStamp:creationTime}" \
--output table
# Delete storage accounts without a confirmation prompt (--yes).
# Do not wait for the operation to finish (--no-wait)
echo "Deleting storage accounts">$logFileLocation
for saList in $(az storage account list --resource-group $rgName \
--query "[?creationTime >='$saDate'].{saName:name, createdTimeStamp:creationTime}" \
--output tsv);
do
echo "deleting storage account $saList">>$logFileLocation
az storage account delete --ids $saList --yes --no-wait
done
# read your log file with Linux "cat" command
clear
cat $logFileLocation
형식의 모든 Azure 리소스 삭제
리소스 그룹의 모든 Virtual Machines 삭제
# Set your resource group variable
rgName=<msdocs-rg-0000000>
az group delete -n $rgName --force-deletion-types Microsoft.Compute/virtualMachines
참고 항목
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
Azure CLI