배포 모드 이해

완료됨

Azure Resource Manager는 증분 배포와 전체 배포 등 두 가지 ‘배포 모드’를 지원합니다.

증분 모드

기본 배포 모드는 ‘증분’입니다. 이 모드에서는 Resource Manager가 아무것도 삭제하지 않습니다. 리소스가 리소스 그룹에는 있지만 템플릿에는 지정되지 않은 경우 Resource Manager는 해당 리소스를 그대로 둡니다. 템플릿의 리소스가 없는 경우 리소스 그룹에 ‘추가’되고 리소스가 있는 경우 Resource Manager가 템플릿의 구성으로 업데이트합니다.

전체 모드

배포를 ‘전체’ 모드로 실행하도록 명시적으로 요청해야 합니다. 이 모드를 사용하면 Azure에 있지만 템플릿에는 지정되지 않은 리소스는 삭제됩니다. 전체 모드가 리소스 그룹의 모든 리소스를 삭제하지는 않습니다. 일부 리소스 종류는 예외입니다.

주의

전체 모드로 명령을 실행하는 경우 보유한 리소스가 무엇이든 템플릿 파일에 정의되지 않은 리소스는 제거됩니다.

Bicep에서 existing 키워드를 사용하여 기존 리소스를 참조할 수 있습니다. 이러한 방식으로 리소스를 참조하면 전체 모드로 배포하는 동안 리소스가 삭제되는 것을 막을 수 없습니다. 완전한 리소스로 정의해야 합니다.

언제 전체 모드를 사용해야 하나요?

Azure에서 이렇게 리소스를 삭제하도록 허용하는 것이 이상하게 여겨질 수도 있습니다. 그러나 고려해 볼 만한 이유가 있습니다. 모든 인프라가 템플릿에 정의된 경우 배포할 때마다 전체 모드를 사용하면 이후에 잘못된 리소스가 남아 있지 않게 할 수 있습니다. 즉, 환경에서 ‘구성 드리프트’를 방지하는 데 도움이 됩니다.

템플릿 파일에 있는 항목이 배포의 전체 상태를 이루는 것이 확실하다면 이 모드를 사용하세요. Azure CLI 또는 PowerShell과 같은 도구를 사용하여 점진적으로 상태를 업데이트하는 경우 증분 모드를 사용합니다.

배포 범위

전체 모드는 리소스 그룹에 배포할 때 사용할 수 있습니다. 템플릿을 사용하여 구독, 관리 그룹 또는 테넌트에 리소스를 배포하는 경우 전체 모드를 사용할 수 없습니다.