Bicep 작동 방식
Bicep 템플릿 언어란 무엇이고 이 언어가 템플릿 작성에 제공하는 이점은 무엇인지 이해했습니다. Bicep 템플릿을 작성하여 리소스를 프로비전하는 프로세스를 시작하기 전에 Bicep의 작동 방식에 대해 자세히 알아보는 것이 좋습니다.
이 단원에서는 Azure Resource Manager에서 Bicep이 작동하는 방식에 대해 알아봅니다.
Bicep 배포
이전 단원에서 Bicep은 특정 시나리오나 도메인을 위해 설계되었으며, 이는 Bicep이 도메인 특정 언어임을 알아보았습니다. Bicep은 Azure 리소스를 쉽게 배포하고 구성할 수 있도록 빌드되었습니다.
Azure에 리소스 또는 일련의 리소스를 배포하는 경우 Bicep 템플릿을 Resource Manager에 제출합니다. 이 템플릿에는 여전히 JSON 템플릿이 필요합니다. Bicep에 기본 제공된 툴을 사용하면 Bicep 템플릿을 JSON 템플릿으로 변환할 수 있습니다. 이 프로세스를 트랜스파일(transpilation)이라고 하며, 기본적으로 ARM 템플릿을 중간 언어로 처리하는 프로세스입니다. 배포를 제출할 때 변환이 자동으로 수행되거나 수동으로 수행할 수 있습니다.
참고
트랜스파일(transpilation)은 한 언어로 작성된 소스 코드를 다른 언어로 변환하는 프로세스입니다.
최신 버전의 Azure CLI 및 Azure PowerShell은 기본적으로 Bicep을 지원합니다. 동일한 배포 명령을 사용하여 Bicep 및 JSON 템플릿을 배포할 수 있습니다. 예를 들어 다음 명령은 storage-resource-group이라는 리소스 그룹에 Bicep 템플릿을 배포합니다.
az deployment group create \
--template-file main.bicep \
--resource-group storage-resource-group
이 배포가 제출된 후 Resource Manager는 현재 Azure에 배포된 리소스를 살펴봅니다. 그런 다음, 사용자가 배포하려는 내용을 살펴보고 이 상태를 달성하기 위한 일련의 단계를 설정합니다. 이러한 모든 활동에는 Resource Manager API 호출이 포함되어 있습니다.
bicep build 명령을 사용하면 Resource Manager에 제출한 JSON 템플릿을 볼 수 있습니다. 다음 예제에서는 Bicep 템플릿이 JSON 템플릿으로 변환됩니다.
bicep build main.bicep
JSON과 Bicep 비교
Bicep은 템플릿을 작성할 때 사용하는 더 간단한 구문을 제공합니다. 두 템플릿의 다음 예제를 살펴보세요. 화면 왼쪽의 템플릿은 Bicep 템플릿입니다. 화면 오른쪽에 있는 템플릿은 JSON 템플릿입니다.
Bicep 템플릿에는 코드가 더 적습니다. 구문은 읽고 이해하기 더 쉬우며 오른쪽의 JSON 템플릿에서와 같이 복잡한 식이 없습니다.
참고
동등한 JSON 및 Bicep 파일을 나란히 보려면 Bicep 플레이그라운드를 참조하세요.
