이 문서에서는 Azure 로컬 VM(가상 머신)에서 사용할 Ubuntu Azure Marketplace 이미지를 준비하는 방법을 설명합니다. 다음 단계에 따라 VM에 최신 보안 업데이트, 지원 및 통합 기능이 있는지 확인합니다.
필수 조건
Ubuntu 22.04 이상과 같은 LVM(논리 볼륨 관리)을 사용하여 Ubuntu VM을 설정하고 라이선스를 부여할 수 있는 권한이 있는 활성 Azure 구독입니다.
Azure Portal에 대한 액세스 권한.
워크로드에 대한 논리 네트워크 및 스토리지 경로로 설정된 Azure 로컬 클러스터입니다. 자세한 내용은 논리 네트워크 만들기 및 스토리지 경로 만들기를 참조하세요.
사전 조건을 검토하고 완료하세요.
클라이언트를 사용하여 Azure 로컬 인스턴스에 연결하는 경우 Azure CLI 클라이언트를 통해 Azure Local에 연결을 참조하세요.
로그인 및 구독 설정
Azure 로컬 인스턴스의 컴퓨터에 연결합니다.
로그인하고 다음 명령을 입력합니다.
az login --use-device-code구독을 설정합니다.
az account set --subscription <Subscription ID>
Azure VM 설정 및 준비
Azure VM을 설정하고 준비하려면 다음 단계를 수행합니다.
Azure Portal에 로그인합니다.
왼쪽 창에서 Virtual Machines를 선택한 다음 만들기를 선택한 다음, Virtual Machine을 선택합니다.
사용 가능한 이미지를 찾아보고 선호하는 Ubuntu 버전을 선택합니다.
마법사에 필요한 세부 정보를 입력하고 Azure VM 설정을 완료합니다.
비고
Azure Local에서 사용하지 않는 사용자 이름으로 Azure VM을 만들어 사용자 이름 충돌을 방지합니다. Azure VM과 Azure Local 모두에서 동일한 사용자 이름(예: "usernameA")을 사용하고 VHD를 다시 사용하는 경우 VM은 원래 로그인 정보를 유지합니다. 최상의 결과를 위해 다른 자격 증명(예: "usernameB")을 사용하여 Azure 로컬 VM을 설정합니다.
VM이 배포된 후 VM 개요 페이지로 이동하여 연결 옵션을 선택한 다음 직렬 콘솔을 선택합니다.
자격 증명을 사용하여 VM에 연결하고 다음 명령을 실행합니다.
루트 사용자로 VM에 로그인합니다.
sudo suAzure 로컬 VM과
cloud-init관련이 없으므로 기본 구성을 정리합니다.sudo cloud-init clean sudo rm -rf /var/lib/cloud/ /var/log/* /tmp/*VM별 SSH 호스트 키를 정리합니다.
sudo rm -f /etc/ssh/ssh_host*
VM 이미지의 데이터 원본 변경
VM 이미지의 데이터 원본을 변경하려면 다음 단계를 수행합니다.
디렉터리를 다음 경로로 변경하고 파일을 나열하여 데이터 원본 파일을
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.cfg90_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 ]Azure에서 NoCloud로 datasource_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>스페이스바를 눌러 (*) 기능을 전환하여 NoCloud를 활성화하고 Azure를 제거합니다.
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>파일이 업데이트되었는지 확인하려면 다음 명령을 실행합니다.
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 ]bash 기록을 제거합니다. 다음 명령을 실행합니다.
sudo rm -f ~/.bash_history export HISTSIZE=0 exit이제 구성 변경이 완료되면 Azure VM을 중지합니다.
Azure 로컬 클러스터의 VHD로 Azure VM OS 디스크 내보내기
Azure VM OS 디스크를 Azure 로컬 클러스터의 VHD로 내보내려면 다음 단계를 수행합니다.
Azure 로컬 리소스에 대한 Azure Portal에서 VM 개요로 이동합니다. 설정 옵션에서 디스크를 선택하고 디스크 이름 링크를 선택합니다.
설정에서 디스크 내보내기를 선택한 다음 URL 생성을 선택하여 디스크에 대한 보안 URL을 생성합니다.
다음 단계를 위해 생성된 보안 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 로컬 가상 머신 만들기의 단계를 따릅니다.