ARM 템플릿을 사용하여 DevTest Labs 가상 머신 만들기

ARM(Azure Resource Manager) 템플릿을 사용하여 Azure DevTest Labs에서 미리 구성된 Azure VM(가상 머신)을 만들 수 있습니다.

Azure Resource Manager 템플릿은 프로젝트의 인프라 및 구성을 정의하는 JSON(JavaScript Object Notation) 파일입니다. 이 템플릿은 선언적 구문을 사용합니다. 배포를 만들기 위한 프로그래밍 명령 시퀀스를 작성하지 않고 의도한 배포를 설명합니다.

단일 VM ARM 템플릿은 Microsoft.DevTestLab/labs/virtualmachines 리소스 종류를 사용합니다. 이 리소스 종류로 만든 각 VM은 랩의 내 가상 머신 목록에 별도 항목으로 표시됩니다.

고유한 단일 VM ARM 템플릿을 만들거나, 미리 구성된 템플릿의 퍼블릭 DevTest Labs GitHub 리포지토리에 액세스하거나, 요구 사항에 맞게 기존 ARM 템플릿을 수정할 수 있습니다. 랩 사용자는 ARM 템플릿을 사용하여 Azure VM을 만들고 배포할 수 있습니다.

이 문서에서는 다음과 같이 방법을 설명합니다.

  • Azure VM에 대한 ARM 템플릿을 표시, 편집, 저장합니다.
  • ARM 템플릿을 원본 제어 리포지토리에 저장합니다.
  • 랩 사용자가 템플릿에 액세스할 수 있도록 ARM 템플릿 리포지토리를 Azure DevTest Labs에 연결합니다.

VM에 대한 ARM 템플릿 표시, 편집, 저장

Azure VM 기본의 ARM 템플릿을 사용자 지정하고 사용하여 DevTest Labs에서 동일한 VM 유형을 더 많이 배포할 수 있습니다.

  1. 랩의 개요 페이지 위쪽 도구 모음에서 추가를 선택합니다.

  2. 기본 선택 페이지에서 원하는 VM 유형을 선택합니다.

  3. 랩 리소스 만들기 페이지에서 설정을 구성하고 원하는 아티팩트를 템플릿 VM에 추가합니다.

  4. 고급 설정 탭에서 ARM 템플릿 보기를 선택합니다.

  5. ARM 템플릿을 복사하고 저장하여 더 많은 VM을 만드는 데 사용합니다.

    Screenshot that shows an ARM template to save for later use.

  6. 지금 VM 인스턴스를 만들려면 기본 설정 탭에서 만들기를 선택합니다.

VM 만료 날짜 설정

학습, 데모, 평가판 등의 시나리오에서는 비용을 계속 발생시키지 않도록 특정 날짜 이후에 VM을 자동으로 삭제하는 것이 좋을 수 있습니다. Azure Portal에서 랩 VM을 만들 때 고급 설정 탭에서 만료 날짜 속성을 지정하여 만료 날짜를 설정할 수 있습니다. expirationDate 속성을 정의하는 ARM 템플릿에 관해서는 지정된 만료 날짜를 사용하여 랩에서 새 가상 머신 만들기를 참조하세요.

Git 리포지토리에 ARM 템플릿 저장

코드 제공 인프라와 코드 제공 구성에 대한 모범 사례로 ARM 템플릿은 원본 제어에 저장합니다. DevTest Labs는 GitHub 또는 Azure Repos 원본 제어 리포지토리에서 직접 ARM 템플릿을 로드할 수 있습니다. 그런 다음, 개발부터 테스트, 프로덕션 환경에 이르기까지 릴리스 주기 전반에 걸쳐 템플릿을 사용할 수 있습니다.

다음 파일 구조를 사용하여 ARM 템플릿을 원본 제어 리포지토리에 저장합니다.

  • 기본 템플릿 파일 이름을 azuredeploy.json으로 지정합니다.

  • ARM 템플릿을 다시 사용하려면 azuredeploy.jsonparameters 섹션을 업데이트해야 합니다. 기본 템플릿 파일을 편집하지 않고도 매개 변수만 사용자 지정하는 parameter.json 파일을 만들 수 있습니다. 이 매개 변수 파일 이름을 azuredeploy.parameters.json으로 지정합니다.

    Customize parameters using a JSON file.

    매개 변수 파일에서 매개 변수 _artifactsLocation, _artifactsLocationSasToken을 사용하여 중첩된 템플릿을 자동으로 관리하기 위해 parametersLink URI 값을 생성할 수 있습니다. 중첩된 템플릿에 관한 자세한 내용은 테스트 환경을 위한 중첩된 Azure Resource Manager 템플릿 배포를 참조하세요.

  • metadata.json 파일에서 템플릿 표시 이름과 설명을 지정하는 메타데이터를 정의할 수 있습니다.

    {
      "itemDisplayName": "<template name>",
      "description": "<template description>"
    }
    

다음 스크린샷은 리포지토리의 일반적인 ARM 템플릿 폴더 구조를 보여 줍니다.

Screenshot that shows key ARM template files in a repository.

랩에 템플릿 리포지토리 추가

모든 랩 사용자가 템플릿에 액세스할 수 있도록 랩에 템플릿 리포지토리를 추가합니다.

  1. 랩의 개요 페이지에 있는 왼쪽 탐색 영역에서 구성 및 정책을 선택합니다.

  2. 구성 및 정책 페이지 왼쪽 탐색 영역의 외부 리소스에서 리포지토리를 선택합니다.

    리포지토리 화면에서 퍼블릭 아티팩트 리포지토리퍼블릭 환경 리포지토리는 모든 랩에 대해 자동으로 표시되고 DevTest Labs 퍼블릭 GitHub 리포지토리에 연결됩니다. 해당 리포지토리가 랩에 사용되지 않는 경우 퍼블릭 아티팩트 리포지토리퍼블릭 환경 리포지토리 옆에 있는 확인란을 선택한 다음, 위쪽 메뉴 모음에서 사용 선택하여 사용하도록 설정할 수 있습니다. 자세한 내용은 퍼블릭 환경 사용 및 구성을 참조하세요.

  3. 프라이빗 ARM 템플릿 리포지토리를 랩에 추가하려면 위쪽 메뉴 모음에서 추가를 선택합니다.

    Screenshot that shows the Repositories configuration screen.

  4. 리포지토리 창에서 다음 정보를 입력합니다.

    • 이름: 랩에서 사용할 리포지토리 이름을 입력하세요.
    • Git 복제 URL: GitHub 또는 Azure Repos에서 Git HTTPS 복제 URL을 입력합니다.
    • 분기(선택 사항): ARM 템플릿 정의가 있는 분기를 입력합니다.
    • 개인용 액세스 토큰: 리포지토리에 안전하게 액세스하는 데 사용되는 개인용 액세스 토큰을 입력합니다.
      • Azure Repos에서 토큰을 가져오려면 사용자 설정>개인용 액세스 토큰을 선택합니다.
      • GitHub에서 토큰을 가져오려면 사용자 프로필에서 설정>개발자 설정>개인용 액세스 토큰을 선택합니다.
    • 폴더 경로: Git 복제 URI를 기준으로 ARM 템플릿 정의의 폴더를 입력합니다.
  5. 저장을 선택합니다.

    Screenshot that shows adding a new template repository to a lab.

이제 리포지토리가 랩의 리포지토리 목록에 표시됩니다. 이제 사용자는 리포지토리 템플릿을 사용하여 다중 VM DevTest Labs 환경을 만들 수 있습니다. 랩 관리자는 템플릿을 사용하여 랩 배포 및 관리 작업을 자동화할 수 있습니다.

동일한 템플릿에서 여러 VM을 한 번에 어떻게 만듭니까?

동일한 템플릿에서 여러 VM을 동시에 만들기 위한 두 가지 옵션이 있습니다.

다음 단계