Bicep scripts tutorial

🌻Truthful·2023년 9월 21일

📌 학습목표

Understand the use of bicep


Create Bicep files with Visual Studio Code


스니펫 추가하기

우선 시작하기전에 VSCode에서 bicep 익스텐션을 설치합니다.

그리고 main.bicep 파일을 만듭니다.

스니펫이 잘 적용되는지 확인합니다.

vnet을 선택하면 res-vnet이 자동으로 추천해줍니다.

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2019-11-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'
        }
      }
    ]
  }
}

이 스니펫은 가상 네트워크를 정의하기 위한 모든 value들을 포함합니다.

그리고 원하는 요소들을 바꿀 수 있습니다.

예를 들어서 이름을 바꿉시다.

name: 'examplevnet'

파라미터 추가하기

storage 계정 이름을 위해서 파일 맨 위에 파라미터를 추가합시다.

param storageName string

@를 통해서 이름에 대한 요구 조건을 명시할 수 있습니다.

@minLength(3)
@maxLength(24)
param storageName string

또한 파리미터에 대한 설명을 명시할 수 있습니다.

@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

resource 추가하기

파일 맨 밑에 다음과 같이 작성합니다.

resource exampleStorage'Microsoft.Storage/storageAccounts@2021-02-01' =

그리고 스니펫에서 = 다음에 required-properties를 선택합니다.

전체 코드는 아래와 같습니다.

@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

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2019-11-01' = {
  name: 'examplevnet'
  location:  resourceGroup().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@2021-02-01' = {
  name: storageName
  location: 'eastus'
  
  // 스토리지 계정의 SKU 정보를 정의합니다.
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

Bicep 파일 배포하기

저 같은 경우는 CLI가 편해서 CLI로 배포했습니다.

az group create --name exampleRG --location eastus

az deployment group create --resource-group exampleRG --template-file main.bicep --parameters storageName=uniquename

저 같은 경우는 uniquename에 고유의 이름을 넣었습니다.

리소스그룹 제거하기

az group delete --name exampleRG

📝 참고자료

Create Bicep files with Visual Studio Code

profile
"인생의 목적은 타인을 따르는 것이 아니라 자신을 창조하는 것이다."

0개의 댓글