Azure 로컬 VM에 대한 Ubuntu Azure Marketplace 이미지 준비

이 문서에서는 Azure 로컬 VM(가상 머신)에서 사용할 Ubuntu Azure Marketplace 이미지를 준비하는 방법을 설명합니다. 다음 단계에 따라 VM에 최신 보안 업데이트, 지원 및 통합 기능이 있는지 확인합니다.

필수 조건

로그인 및 구독 설정

  1. Azure 로컬 인스턴스의 컴퓨터에 연결합니다.

  2. 로그인하고 다음 명령을 입력합니다.

    az login --use-device-code
    
  3. 구독을 설정합니다.

    az account set --subscription <Subscription ID>
    

Azure VM 설정 및 준비

Azure VM을 설정하고 준비하려면 다음 단계를 수행합니다.

  1. Azure Portal에 로그인합니다.

  2. 왼쪽 창에서 Virtual Machines를 선택한 다음 만들기를 선택한 다음, Virtual Machine을 선택합니다.

  3. 사용 가능한 이미지를 찾아보고 선호하는 Ubuntu 버전을 선택합니다.

    Azure Portal 이미지 선택 페이지의 스크린샷.

  4. 마법사에 필요한 세부 정보를 입력하고 Azure VM 설정을 완료합니다.

    비고

    Azure Local에서 사용하지 않는 사용자 이름으로 Azure VM을 만들어 사용자 이름 충돌을 방지합니다. Azure VM과 Azure Local 모두에서 동일한 사용자 이름(예: "usernameA")을 사용하고 VHD를 다시 사용하는 경우 VM은 원래 로그인 정보를 유지합니다. 최상의 결과를 위해 다른 자격 증명(예: "usernameB")을 사용하여 Azure 로컬 VM을 설정합니다.

  5. VM이 배포된 후 VM 개요 페이지로 이동하여 연결 옵션을 선택한 다음 직렬 콘솔을 선택합니다.

    Azure Portal의 직렬 콘솔 로그인 옵션 스크린샷

  6. 자격 증명을 사용하여 VM에 연결하고 다음 명령을 실행합니다.

    1. 루트 사용자로 VM에 로그인합니다.

      sudo su
      
    2. Azure 로컬 VM과 cloud-init 관련이 없으므로 기본 구성을 정리합니다.

      sudo cloud-init clean
      sudo rm -rf /var/lib/cloud/ /var/log/* /tmp/*
      
    3. VM별 SSH 호스트 키를 정리합니다.

      sudo rm -f /etc/ssh/ssh_host*
      

VM 이미지의 데이터 원본 변경

VM 이미지의 데이터 원본을 변경하려면 다음 단계를 수행합니다.

  1. 디렉터리를 다음 경로로 변경하고 파일을 나열하여 데이터 원본 파일을 90_dpkg.cfg찾습니다. 다음 명령을 실행합니다.

    cd /etc/cloud/cloud.cfg.d/
    ls
    

    예제 출력:

    azureuser@ubuntu-image:/etc/cloud/cloud.cfg.d$ ls
    05_logging.cfg  10-azure-kvp.cfg  90-azure.cfg  90_dpkg.cfg
    
  2. 90_dpkg.cfg 파일을 엽니다. 다음 명령을 실행합니다.

    cat 90_dpkg.cfg
    

    예제 출력:

    azureuser@ubuntu-image:/etc/cloud/cloud.cfg.d$ cat 90_dpkg.cfg
    # to update this file, run dpkg-reconfigure cloud-init
    datasource_list: [ Azure ]
    
  3. Azure에서 NoClouddatasource_list 열고 업데이트합니다. 다음 명령을 실행합니다.

    sudo dpkg-reconfigure cloud-init
    

    예제 출력:

    Cloud-init supports searching different "Data Sources" for information that it uses to configure a cloud instance.
    
    Warning: Only select 'Ec2' if this system will be run on a system with the EC2 metadata service present. Doing so incorrectly will result in a substantial timeout on boot.
    
    Which data sources should be searched?
    
    [ ] NoCloud: Reads info from /var/lib/cloud/seed only  
    [ ] ConfigDrive: Reads data from Openstack Config Drive  
    [ ] OpenNebula: read from OpenNebula context disk  
    [ ] DigitalOcean: reads data from Droplet datasource  
    [*] Azure: read from MS Azure cdrom. Requires walinux-agent
    <Ok>
    
    1. 스페이스바를 눌러 (*) 기능을 전환하여 NoCloud를 활성화하고 Azure를 제거합니다.

    2. Enter 키를 눌러 파일을 저장 합니다.

    예제 출력:

    Cloud-init supports searching different "Data Sources" for information that it uses to configure a cloud instance.
    
    Warning: Only select 'Ec2' if this system will be run on a system with the EC2 metadata service present. Doing so incorrectly will result in a substantial timeout on boot.
    
    Which data sources should be searched?
    
    [*] NoCloud: Reads info from /var/lib/cloud/seed only  
    [ ] ConfigDrive: Reads data from Openstack Config Drive  
    [ ] OpenNebula: read from OpenNebula context disk  
    [ ] DigitalOcean: reads data from Droplet datasource  
    [ ] Azure: read from MS Azure cdrom. Requires walinux-agent
    <Ok>
    
  4. 파일이 업데이트되었는지 확인하려면 다음 명령을 실행합니다.

    cat 90_dpkg.cfg
    

    예제 출력:

    azureuser@ubuntu-image:/etc/cloud/cloud.cfg.d$ cat 90_dpkg.cfg
    # to update this file, run dpkg-reconfigure cloud-init
    datasource_list: [ NoCloud ]
    
  5. bash 기록을 제거합니다. 다음 명령을 실행합니다.

    sudo rm -f ~/.bash_history
    export HISTSIZE=0
    exit
    
  6. 이제 구성 변경이 완료되면 Azure VM을 중지합니다.

Azure 로컬 클러스터의 VHD로 Azure VM OS 디스크 내보내기

Azure VM OS 디스크를 Azure 로컬 클러스터의 VHD로 내보내려면 다음 단계를 수행합니다.

  1. Azure 로컬 리소스에 대한 Azure Portal에서 VM 개요로 이동합니다. 설정 옵션에서 디스크를 선택하고 디스크 이름 링크를 선택합니다.

    OS 디스크 세부 정보 페이지의 스크린샷.

  2. 설정에서 디스크 내보내기를 선택한 다음 URL 생성을 선택하여 디스크에 대한 보안 URL을 생성합니다.

    보안 URL 생성을 사용하는 디스크 내보내기 옵션의 스크린샷

  3. 다음 단계를 위해 생성된 보안 URL 링크를 복사합니다.

비고

디스크 내보내기 URL은 시간 제한 SAS URL입니다.
URL이 만료되거나, 잘못 복사되거나, 읽기(r) 권한이 없는 경우 401(권한 없음) 오류로 이미지 만들기 단계가 실패할 수 있습니다.
401 오류가 발생하는 경우 디스크 내보내기 URL을 다시 생성하고 만료 전에 사용되고 추가 따옴표나 줄 바꿈 없이 붙여넣었는지 확인합니다.

Azure 로컬 이미지 만들기

SAS 토큰을 사용하여 Azure 로컬 이미지를 만들려면 다음 명령을 실행합니다.

$rg = "<resource-group>"
$cl = "/subscriptions/<sub>/resourcegroups/$rg/providers/microsoft.extendedlocation/customlocations/<customlocation-name>"
$sas = '"https://EXAMPLE.blob.storage.azure.net/EXAMPLE/abcd<sas-token>"'

az stack-hci-vm image create -g $rg --custom-location $cl --name "<IMAGE-NAME>" --os-type "Linux" --image-path $sas

Azure 로컬 VM 만들기

만든 Azure 로컬 VM 이미지를 사용하여 Azure 로컬 VM을 만들려면 Azure Arc에서 사용하도록 설정된 Azure 로컬 가상 머신 만들기의 단계를 따릅니다.