이 빠른 시작에서는 Visual Studio를 사용하여 Bicep 파일을 만드는 단계를 안내합니다. 스토리지 계정과 가상 네트워크를 만듭니다. 또한 Bicep 확장이 형식 안전성, 구문 유효성 검사 및 자동 완성을 제공하여 개발을 간소화하는 방법을 알아봅니다.
Visual Studio Code에서도 비슷한 제작 환경이 지원됩니다. 빠른 시작: Visual Studio Code를 사용하여 Bicep 파일 만들기를 참조하세요.
필수 조건
- Azure 구독. Azure 구독이 없는 경우, 시작하기 전에 무료 계정을 만드십시오.
- Visual Studio 프리뷰 3 이상의 버전 17.3.0. Visual Studio 미리 보기를 참조하세요.
- Visual Studio Bicep 확장. Visual Studio Marketplace를 참조하세요.
- Bicep 파일 배포에는 최신 Azure CLI 또는 최신 Azure PowerShell 모듈이 필요합니다.
리소스 조각 추가
Visual Studio를 시작하고 main.bicep이라는 새 파일을 만듭니다.
Bicep 확장을 사용하는 Visual Studio는 미리 정의된 코드 조각을 제공하여 개발을 간소화합니다. 이 빠른 시작에서는 가상 네트워크를 만드는 코드 조각을 추가합니다.
main.bicep에 vnet을 입력합니다. 목록에서 res-vnet 을 선택한 다음 [TAB] 또는 [ENTER]를 누릅니다.
팁 (조언)
Visual Studio에서 이러한 intellisense 옵션이 표시되지 않는 경우 필수 구성 요소에 지정된 대로 Bicep 확장을 설치했는지 확인합니다. 확장을 설치한 경우, Bicep 파일을 연 후에 Bicep 언어 서비스가 시작할 수 있도록 일정한 시간을 주십시오. 일반적으로 빠르게 시작되지만 시작할 때까지 intellisense 옵션이 없습니다.
이제 Bicep 파일에 다음 코드가 포함됩니다.
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2025-01-01' = {
name: 'name'
location: location
properties: {
addressSpace: {
addressPrefixes: [
'10.0.0.0/16'
]
}
subnets: [
{
name: 'Subnet-1'
properties: {
addressPrefix: '10.0.0.0/24'
}
}
{
name: 'Subnet-2'
properties: {
addressPrefix: '10.0.1.0/24'
}
}
]
}
}
이 코드 조각에는 가상 네트워크를 정의하는 데 필요한 모든 값이 포함됩니다. 그러나 요구 사항에 맞게 이 코드를 수정할 수 있습니다. 예를 들어 가상 name 네트워크에 대한 좋은 이름은 아닙니다. 속성을 name에서 exampleVnet로 변경합니다.
name: 'exampleVnet'
위치에 빨간색 물결 모양 밑줄이 있습니다. 이는 문제를 나타냅니다. 위치에 커서를 놓습니다. 오류 메시지는 -이름 "위치"가 현재 컨텍스트에 없습니다. 다음 섹션에서 위치 매개 변수를 만듭니다.
매개 변수 추가
이제 스토리지 계정 이름과 위치에 대한 두 개의 매개 변수를 추가합니다. 파일 맨 위에 다음을 추가합니다.
param storageName
storageName 후에 공백을 추가하는 경우 intellisense는 매개 변수에 사용할 수 있는 데이터 형식을 제공합니다. 문자열을 선택합니다.
다음과 같은 매개 변수가 있습니다.
param storageName string
이 매개 변수는 정상적으로 작동하지만 스토리지 계정에는 이름의 길이가 제한됩니다. 이름은 3자 이상이어야 하며 24자 이하여야 합니다. 매개 변수에 데코레이터를 추가하여 이러한 요구 사항을 지정할 수 있습니다.
매개 변수 위에 줄을 추가하고 .를 입력합니다 @. 사용 가능한 데코레이터가 표시됩니다. minLength 및 maxLength 모두에 대한 데코레이터가 있습니다.
아래와 같이 두 데코레이터를 추가하고 문자 제한을 지정합니다.
@minLength(3)
@maxLength(24)
param storageName string
매개 변수에 대한 설명을 추가할 수도 있습니다. Bicep 파일을 배포하는 사람들이 제공할 값을 이해하는 데 도움이 되는 정보를 포함합니다.
@minLength(3)
@maxLength(24)
@description('Provide a name for the storage account. Use only lower case letters and numbers. The name must be unique across Azure.')
param storageName string
스토리지 계정 이름 매개 변수를 사용할 준비가 완료되었습니다.
다른 위치 매개 변수를 추가합니다.
param location string = resourceGroup().location
리소스 추가
코드 조각을 사용하여 스토리지 계정을 정의하는 대신 intellisense를 사용하여 값을 설정합니다. Intellisense를 사용하면 값을 수동으로 입력하는 것보다 이 단계를 더 쉽게 수행할 수 있습니다.
리소스를 정의하려면 키워드를 resource 사용합니다. 가상 네트워크 아래에 리소스 exampleStorage를 입력합니다.
resource exampleStorage
exampleStorage 는 배포하는 리소스의 기호화된 이름입니다. 이 이름을 사용하여 Bicep 파일의 다른 부분에서 리소스를 참조할 수 있습니다.
기호 이름 앞에 공백을 추가하면 리소스 종류 목록이 표시됩니다. 사용 가능한 옵션에서 선택할 수 있게 될 때까지 스토리지 를 계속 입력합니다.
Microsoft.Storage/storageAccounts를 선택하면 사용 가능한 API 버전이 제공됩니다. 2021-09-01 또는 최신 API 버전을 선택합니다. 최신 API 버전을 사용하는 것이 좋습니다.
리소스 종류에 대한 작은따옴표 뒤에 =와 공백을 추가합니다. 리소스에 속성을 추가하는 옵션이 제공됩니다.
필수 속성을 선택합니다.
이 옵션은 배포에 필요한 리소스 종류에 대한 모든 속성을 추가합니다. 이 옵션을 선택하면 스토리지 계정에 다음과 같은 속성이 있습니다.
resource exampleStorage 'Microsoft.Storage/storageAccounts@2025-06-01' = {
name: 1
location: 2
sku: {
name: 3
}
kind: 4
}
코드에는 4개의 자리 표시자가 있습니다. [TAB]을 사용하여 해당 탭을 살펴보고 값을 입력합니다. 다시 말하지만, intellisense가 도움이 됩니다. 스토리지 계정의 이름을 포함하는 매개 변수인 name으로 설정합니다.
location를 location로 설정하십시오. SKU 이름 및 종류를 추가할 때 intellisense는 유효한 옵션을 제공합니다.
작업을 마쳤으면 다음을 수행할 수 있습니다.
@minLength(3)
@maxLength(24)
@description('Provide a name for the storage account. Use only lower case letters and numbers. The name must be unique across Azure.')
param storageName string
param location string = resourceGroup().location
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2025-01-01' = {
name: storageName
location: location
properties: {
addressSpace: {
addressPrefixes: [
'10.0.0.0/16'
]
}
subnets: [
{
name: 'Subnet-1'
properties: {
addressPrefix: '10.0.0.0/24'
}
}
{
name: 'Subnet-2'
properties: {
addressPrefix: '10.0.1.0/24'
}
}
]
}
}
resource exampleStorage 'Microsoft.Storage/storageAccounts@2025-06-01' = {
name: storageName
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
}
Bicep 구문에 대한 자세한 내용은 Bicep 구조를 참조하세요.
Bicep 파일을 배포하십시오.
Bicep 파일 배포는 아직 Visual Studio에서 수행할 수 없습니다. Azure CLI 또는 Azure PowerShell을 사용하여 Bicep 파일을 배포할 수 있습니다.
az group create --name exampleRG --location eastus
az deployment group create --resource-group exampleRG --template-file main.bicep --parameters storageName=uniquename
배포가 완료되면 배포가 성공했음을 나타내는 메시지가 표시됩니다.
자원을 정리하세요
Azure 리소스가 더 이상 필요하지 않은 경우 Azure CLI 또는 Azure PowerShell 모듈을 사용하여 빠른 시작 리소스 그룹을 삭제합니다.
az group delete --name exampleRG