az deployment what-if로 배포 전 변경 미리보기
Bicep이나 ARM 템플릿을 적용하기 전에 실제 리소스에 어떤 변화가 생기는지 보고 싶을 때 what-if 연산을 씁니다. 리소스를 건드리지 않고 생성/수정/삭제될 항목만 예측해서 보여줍니다. 리소스 그룹 범위는 아래처럼 실행합니다.
az deployment group what-if \
--resource-group ExampleGroup \
--template-file main.bicep미리 보고 바로 배포까지 이어가려면 create에 --confirm-with-what-if(짧은 형태 -c)를 붙입니다. 변경 요약을 출력한 뒤 "Are you sure you want to execute the deployment? (y/n)" 프롬프트로 확인을 받습니다. 출력 상세도는 --result-format으로 조절하는데, 기본값 FullResourcePayloads는 바뀌는 속성까지 보여주고 ResourceIdOnly는 리소스 목록만 냅니다. Modify, NoChange 같은 구분은 기본값일 때만 나오고, ResourceIdOnly에서는 Deploy로 뭉뚱그려집니다. 스크립트로 파싱하려면 --no-pretty-print로 JSON을 받습니다.
주의할 점은 what-if 결과에 노이즈가 섞인다는 것입니다. reference(), listKeys(), utcNow(), newGuid()나 보안 매개변수 값은 배포 전에 평가되지 않아 실제로는 안 바뀌는데도 변경으로 표시될 수 있습니다. 또 Delete 변경 타입은 complete 모드 배포에서만 나오므로, 삭제 예측이 보이면 배포 모드부터 확인하는 편이 안전합니다.
🔗 https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/deploy-what-if
🔗 https://learn.microsoft.com/en-us/cli/azure/deployment/group?view=azure-cli-latest
로그인 후 답글을 남길 수 있습니다.