다음을 통해 공유


빠른 시작: Visual Studio Code를 사용하여 ARM 템플릿 만들기

Visual Studio Code용 Azure Resource Manager 도구는 언어 지원, 리소스 코드 조각 및 리소스 자동 완성 기능을 제공합니다. 이러한 도구는 ARM 템플릿(Azure Resource Manager 템플릿)을 만들고 유효성을 검사하는 데 도움이 되므로 ARM 템플릿 만들기 및 구성에 권장되는 방법입니다. 이 빠른 시작에서는 확장을 사용하여 ARM 템플릿을 처음부터 만듭니다. 이 작업을 수행하는 동안 ARM 템플릿 코드 조각, 유효성 검사, 완성 및 매개 변수 파일 지원과 같은 확장 기능이 제공됩니다.

이 빠른 시작에서는 Visual Studio Code 확장을 사용하여 ARM 템플릿을 빌드하는 데 중점을 둡니다. 구문에 더 중점을 두는 자습서는 자습서: 첫 번째 ARM 템플릿 만들기 및 배포를 참조하세요.

이 빠른 시작을 완료하려면 Azure Resource Manager 도구 확장이 설치된 Visual Studio Code가 필요합니다. 또한 Azure CLI 또는 Azure PowerShell 모듈이 설치 및 인증되어 있어야 합니다.

Azure 구독이 없는 경우 시작하기 전에 체험 계정을 만듭니다.

ARM 템플릿과 동일한 기능을 제공하고 구문이 사용하기 더 쉽기 때문에 Bicep를 권장합니다. 자세한 내용은 빠른 시작: Visual Studio Code로 Bicep 파일 만들기를 참조하세요.

참고 항목

Visual Studio Code용 Azure Resource Manager 도구 확장의 현재 릴리스에서는 languageVersion 2.0의 향상된 기능을 인식하지 못합니다.

ARM 템플릿 만들기

azuredeploy.json이라는 새 파일을 만들고 Visual Studio Code를 사용하여 엽니다. 코드 편집기에 arm을 입력합니다. 그러면 ARM 템플릿을 스캐폴딩하는 Azure Resource Manager 코드 조각이 시작됩니다.

Azure 리소스 그룹 배포로 범위가 지정된 템플릿을 만들려면 arm!를 선택합니다.

Azure Resource Manager 스캐폴딩 코드 조각을 보여 주는 스크린샷

이 코드 조각은 ARM 템플릿의 기본 구성 요소를 만듭니다.

완전히 스캐폴딩된 ARM 템플릿을 보여 주는 스크린샷

Visual Studio Code 언어 모드가 JSON에서 Azure Resource Manager 템플릿으로 변경되었습니다. 이 확장에는 ARM 템플릿별 유효성 검사, 완성 및 기타 언어 서비스를 제공하는 템플릿과 관련된 언어 서버가 포함됩니다.

Visual Studio Code 언어 모드로 Azure Resource Manager를 보여 주는 스크린샷

Azure 리소스 추가

이 확장에는 많은 Azure 리소스의 코드 조각이 포함됩니다. 이러한 코드 조각은 템플릿 배포에 리소스를 쉽게 추가하는 데 사용할 수 있습니다.

템플릿 리소스 블록에 커서를 놓고 storage를 입력한 후 arm-storage 코드 조각을 선택합니다.

ARM 템플릿에 추가되는 리소스를 보여 주는 스크린샷

이 작업은 템플릿에 스토리지 리소스를 추가합니다.

ARM 템플릿의 Azure Storage 리소스를 보여 주는 스크린샷

키를 사용하여 스토리지 계정에서 구성 가능한 속성을 탐색할 수 있습니다.

탭 키를 사용하여 리소스 구성을 탐색하는 방법을 보여 주는 스크린샷

완성 및 유효성 검사

이 확장의 가장 강력한 기능 중 하나는 Azure 스키마와의 통합입니다. Azure 스키마는 이 확장에 유효성 검사 및 리소스 인식 완성 기능을 제공합니다. 스토리지 계정을 수정하여 유효성 검사 및 완성이 작동하는 모습을 확인하겠습니다.

먼저 스토리지 계정 종류를 megaStorage와 같은 잘못된 값으로 업데이트합니다. 이 작업을 수행하면 megaStorage가 올바른 값이 아님을 나타내는 경고가 생성됩니다.

잘못된 스토리지 구성을 보여 주는 스크린샷

완성 기능을 사용하려면 megaStorage를 제거하고, 큰따옴표 안에 커서를 놓고 ctrl + space를 누릅니다. 이 작업을 수행하면 올바른 값의 완성 목록이 표시됩니다.

확장의 자동 완성 기능을 보여 주는 스크린샷

템플릿 매개 변수 추가

이제 매개 변수를 만들고 사용하여 스토리지 계정 이름을 지정합니다.

매개 변수 블록에 커서를 놓고 캐리지 리턴을 추가하고 "을 입력한 다음, new-parameter 코드 조각을 선택합니다. 이 작업을 수행하면 제네릭 매개 변수가 템플릿에 추가됩니다.

ARM 템플릿에 추가되는 매개 변수를 보여 주는 스크린샷

storageAccountName 매개 변수의 이름과 설명을 Storage account name으로 업데이트합니다.

ARM 템플릿의 완성된 매개 변수를 보여 주는 스크린샷

Azure Storage 계정 이름은 최소 3자, 최대 24자까지 가능합니다. minLengthmaxLength를 모두 매개 변수에 추가하고 적절한 값을 제공합니다.

ARM 템플릿 매개 변수에 추가되는 minLength 및 maxLength를 보여 주는 스크린샷

이제 스토리지 리소스에서 이 매개 변수를 사용하도록 name 속성을 업데이트합니다. 이렇게 하려면 현재 이름을 제거합니다. ARM 템플릿 함수 목록을 생성하는 큰따옴표와 여는 대괄호 [를 입력합니다. 목록에서 매개 변수를 선택합니다.

ARM 템플릿 리소스에서 매개 변수를 사용하는 경우 자동 완성을 보여 주는 스크린샷

둥근 괄호 안에 작은따옴표 '를 입력하면 템플릿에 정의된 모든 매개 변수 목록이 생성됩니다(이 경우에는 storageAccountName). 매개 변수를 선택합니다.

ARM 템플릿 리소스의 완성된 매개 변수를 보여 주는 스크린샷

매개 변수 파일 만들기

ARM 템플릿 매개 변수 파일을 사용하여 환경별 매개 변수 값을 저장하고 이러한 값을 배포 시 그룹으로 전달할 수 있습니다. 예를 들어 테스트 환경에 해당하는 값을 가진 매개 변수 파일과 프로덕션 환경에 대한 매개 변수 파일이 있을 수 있습니다.

확장을 사용하면 기존 템플릿에서 매개 변수 파일을 쉽게 만들 수 있습니다. 이렇게 하려면 코드 편집기에서 템플릿을 마우스 오른쪽 단추로 클릭하고 Select/Create Parameter File을 선택합니다.

ARM 템플릿에서 매개 변수 파일을 만들기 위해 마우스 오른쪽 단추를 클릭하는 프로세스를 보여 주는 스크린샷

New>All Parameters > 매개 변수 파일의 이름과 위치를 선택합니다.

이 작업을 수행하면 새 매개 변수 파일이 생성되고 이 파일이 만들어진 템플릿에 매핑됩니다. 템플릿이 선택된 상태에서 Visual Studio Code 상태 표시줄에서 현재 템플릿/매개 변수 파일 매핑을 확인하고 수정할 수 있습니다.

Visual Studio Code 상태 표시줄의 템플릿/매개 변수 파일 매핑을 보여 주는 스크린샷

이제 매개 변수 파일이 템플릿에 매핑되었으므로 확장 기능이 템플릿과 매개 변수 파일 모두의 유효성을 검사합니다. 이 유효성 검사를 실제로 보려면 매개 변수 파일의 storageAccountName 매개 변수에 두 문자 값을 추가하고 파일을 저장합니다.

매개 변수 파일 문제로 인해 무효화된 템플릿을 보여 주는 스크린샷

ARM 템플릿으로 다시 이동하고 값이 매개 변수 조건을 충족하지 않음을 나타내는 오류를 확인합니다.

유효한 ARM 템플릿을 보여 주는 스크린샷

값을 적절한 값으로 업데이트하고, 파일을 저장하고, 템플릿으로 다시 이동합니다. 매개 변수의 오류가 해결된 것을 알 수 있습니다.

템플릿 배포

ctrl + ` 키 조합을 사용하여 통합 Visual Studio Code 터미널을 열고 Azure CLI 또는 Azure PowerShell 모듈 중 하나를 사용하여 템플릿을 배포합니다.

az group create --name arm-vscode --location eastus

az deployment group create --resource-group arm-vscode --template-file azuredeploy.json --parameters azuredeploy.parameters.json

리소스 정리

Azure 리소스가 더 이상 필요 없으면 Azure CLI 또는 Azure PowerShell 모듈을 사용하여 빠른 시작 리소스 그룹을 삭제합니다.

az group delete --name arm-vscode

다음 단계