Vagrant에서 호스트하는 로컬 Windows Server 인스턴스를 배포하고 Azure Arc에 연결

다음 문서에서는 Vagrant를 사용하여 로컬 Windows 10 가상 머신을 배포하고 Azure Arc 지원 서버 리소스로 연결하는 지침을 제공합니다.

필수 조건

  1. Azure Arc Jumpstart 리포지토리를 복제합니다.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Azure CLI를 설치하거나 버전 2.7 이상으로 업데이트합니다. 다음 명령을 사용하여 현재 설치된 버전을 확인합니다.

    az --version
    
  3. Vagrant는 기본 하이퍼바이저를 사용합니다. 이 가이드에서는 Oracle VM VirtualBox를 사용합니다.

    1. VirtualBox를 설치합니다.

      • macOS 사용자인 경우 다음을 실행합니다. brew cask install virtualbox
      • Windows 사용자인 경우 Chocolatey 패키지를 사용할 수 있습니다.
      • Linux 사용자인 경우 모든 패키지 설치 방법은 Linux용 VirtualBox 다운로드 호스트에서 찾을 수 있습니다.
    2. Vagrant를 설치합니다.

      • macOS 사용자인 경우 다음을 실행합니다. brew cask install vagrant
      • Windows 사용자인 경우 Chocolatey 패키지를 사용할 수 있습니다.
      • Linux 사용자인 경우 Vagrant 다운로드 페이지를 방문 하세요.
  4. Azure 서비스 주체를 만듭니다.

    Vagrant 가상 머신을 Azure Arc에 연결하려면 기여자 역할이 할당된 Azure 서비스 주체가 필요합니다. 이를 만들려면 Azure 계정에 로그인하고 다음 명령을 실행합니다. Azure Cloud Shell에서 이 명령을 실행할 수도 있습니다.

    az login
    az account set -s <Your Subscription ID>
    az ad sp create-for-rbac -n "<Unique SP Name>" --role contributor --scopes "/subscriptions/<Your Subscription ID>"
    

    예시:

    az ad sp create-for-rbac -n "http://AzureArcServers" --role contributor --scopes "/subscriptions/00000000-0000-0000-0000-000000000000"
    

    출력은 다음과 같습니다.

    {
      "appId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "displayName": "http://AzureArcServers",
      "password": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "tenant": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    }
    

    참고 항목

    서비스 주체의 범위를 특정 Azure 구독 및 리소스 그룹으로 지정하는 것이 좋습니다.

  • vagrantfile은 VM OS에서 스크립트를 실행하여 필요한 모든 아티팩트를 설치하고 환경 변수를 삽입합니다. 만든 Azure 서비스 주체와 일치하도록 scripts/vars.ps1 PowerShell 스크립트를 편집합니다.

    • subscriptionId = Azure 구독 ID
    • appId = Azure 서비스 주체 이름
    • password = Azure 서비스 주체 암호
    • tenantId = Azure 테넌트 ID
    • resourceGroup = Azure 리소스 그룹 이름
    • location = Azure 지역

배포

다른 Vagrant 배포와 마찬가지로 vagrantfileVagrant 상자가 필요합니다. 높은 수준에서 배포는 다음을 수행합니다.

  • Windows 10 이미지 파일 Vagrant 상자 다운로드
  • Azure Arc 설치 스크립트 실행

사용자 환경과 일치하도록 scripts/vars.ps1 스크립트를 편집한 후 Vagrantfile 폴더에서 vagrant up을 실행합니다. VM을 처음 만드는 경우이므로 첫 번째 실행은 따라야 할 실행 과정보다 훨씬 느립니다. 배포 시 처음으로 Windows 10 상자를 다운로드하기 때문입니다.

A screenshot of running the vagrant up command.

다운로드가 완료되면 실제 프로비저닝이 시작됩니다. 다음 스크린샷에 표시된 것처럼 프로세스는 7~10분 정도 걸립니다.

A screenshot of a completed vagrant up command.

참고 항목

인증서에 대한 검사 해지에 대한 오류가 표시되면 다음 구성을 추가합니다Vagrantfile.

config.vm.box_download_insecure = true

완료되면 로컬 Windows 10 VM이 배포되고 새 리소스 그룹 내에서 새 Azure Arc 지원 서버로 연결됩니다.

A screenshot of an Azure Arc-enabled server in the Azure portal.

A screenshot of the details from an Azure Arc-enabled server in the Azure portal.

반자동 배포(선택 사항)

실행의 마지막 단계는 VM을 새 Azure Arc 지원 서버 리소스로 등록하는 것입니다.

Another screenshot of a completed vagrant up command.

실제 등록 프로세스를 데모/제어하려면 다음을 수행합니다.

  1. install_arc_agent PowerShell 스크립트에서 run connect command 섹션을 주석으로 처리하고 파일을 저장합니다. 리소스 그룹 만들기를 주석으로 처리하거나 변경할 수도 있습니다.

    A screenshot of the install_arc_agent PowerShell script.

    A screenshot of the az group create command.

  2. vagrant rdp 명령을 사용하여 VM을 RDP합니다. vagrant/vagrant를 사용자 이름/암호로 사용합니다.

    A screenshot of accessing a Vagrant server with the Microsoft Remote Desktop Protocol.

  3. 관리자 권한으로 PowerShell ISE를 열고 환경 변수를 사용하여 C:\runtime\vars.ps1 파일을 편집합니다.

    A screenshot of Windows PowerShell ISE.

  4. Invoke-Expression C:\runtime\vars.ps1 명령, az group create --location $env:location --name $env:resourceGroup --subscription $env:subscriptionId 명령 및 동일한 azcmagent connect 명령을 붙여넣고 스크립트를 실행합니다.

    A screenshot of PowerShell ISE running a script.

배포 삭제

전체 배포를 삭제하려면 vagrant destroy -f 명령을 실행합니다. vagrantfile에는 실제 VM을 제거하기 전에 Azure 리소스 그룹을 삭제하는 명령을 실행하는 before: destroy Vagrant 트리거가 포함되어 있습니다.

A screenshot of the vagrant destroy command.