Vagrant로 호스트되는 로컬 Ubuntu 서버를 배포하고 Azure Arc에 연결

이 문서에서는 Vagrant를 사용하여 로컬 Ubuntu 가상 머신을 배포하기 위한 지침을 제공하고 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 구독 및 리소스 그룹으로 지정하는 것이 좋습니다.

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

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

배포

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

  • Ubuntu 16.04 이미지 파일 Vagrant 상자 다운로드
  • 설치 스크립트 실행

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

A screenshot of the vagrant up command.

다운로드가 완료되면 프로비전이 시작됩니다. 다음 스크린샷에 표시된 것처럼 프로세스는 3분 이상 걸리지 않습니다.

A screenshot of a completed vagrant up command.

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

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

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

반자동 배포(선택 사항)

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

Another screenshot of the vagrant up command.

실제 등록 프로세스를 데모/제어하려면 다음 단계를 완료합니다.

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

    A screenshot of the azcmagent connect command.

    A screenshot of the az group create command.

  2. vagrant ssh 명령을 사용하여 VM에 SSH합니다.

    A screenshot of an SSH key connecting to the Vagrant machine.

  3. 환경 변수를 사용하여 주석 처리한 것과 동일한 azcmagent connect 명령을 실행합니다.

    Another screenshot of the azcmagent connect command.

배포 삭제

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

A screenshot of the vagrant destroy command.