연습 - 스크립트를 사용하여 Azure PowerShell로 Azure 리소스 만들기
이 단원에서는 Linux 관리 도구를 개발하는 회사의 예를 계속 설명합니다. 목표는 Linux VM(Virtual Machines)을 사용하여 잠재 고객이 소프트웨어를 테스트할 수 있도록 하는 것입니다. 리소스 그룹이 이미 설정되었으므로 이제 VM을 만들 차례입니다.
회사에서 대규모 Linux 무역 박람회에서 부스를 확보했습니다. 각각 별도의 Linux VM에 연결된 세 개의 터미널이 있는 데모 영역을 설정할 계획입니다. 매일 아침 새로 시작하려면 VM을 삭제하고 하루가 끝날 때 다시 만들어야 합니다. 긴 하루를 보낸 후 VM을 수동으로 만들면 오류가 발생하기 쉬우므로 VM 만들기 프로세스를 자동화하려면 PowerShell 스크립트를 작성해야 합니다.
가상 머신을 만드는 스크립트 작성
가상 머신 만들기를 자동화하는 Azure Cloud Shell에서 스크립트를 작성하려면 다음 단계를 따릅니다.
참고 항목
일반적으로 Connect-AzAccount
와 함께 자격 증명을 사용하여 Azure에 인증하지만 Cloud Shell에서는 이미 인증되었으므로 이 단계가 필요하지 않습니다.
홈 폴더로 전환합니다.
Set-Location -Path $HOME
새 PowerShell 스크립트 파일을 만듭니다.
New-Item -Name ConferenceDailyReset.ps1 -ItemType File
통합 VS Code(Visual Studio Code) 편집기를 엽니다.
code ./ConferenceDailyReset.ps1
팁
통합 Cloud Shell 편집기는 vim, nano, emacs 편집기 중 하나를 사용하려는 경우에도 지원합니다.
리소스 그룹 이름에 대한 매개 변수를 정의합니다.
다음 줄을 스크립트에 추가합니다.
param ( [string]$ResourceGroupName )
VM 관리자 자격 증명에 대한 프롬프트:
$adminCredential = Get-Credential -Message 'Enter a username and password for the VM administrator.'
세 번 실행하는 루프를 만듭니다.
$vms = 'web','app','sql' foreach ($vm in $vms) { $vm }
루프에서 각 VM의 이름을 반환합니다.
Write-Output "Creating VM: $vm"
$vm
변수를 사용하여 VM을 만듭니다.$azVmParams = @{ ResourceGroupName = $ResourceGroupName Name = $vm Credential = $adminCredential Image = 'Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest' OpenPorts = 22 } New-AzVm @azVmParams
파일 저장:
스크립트를 저장하려면 편집기 오른쪽 상단에 있는 줄임표(
...
) 바로 가기 메뉴나 Ctrl + S 바로 가기 키를 사용합니다.
완료된 스크립트
완료된 스크립트는 다음 예와 같아야 합니다.
param (
[string]$ResourceGroupName
)
$adminCredential = Get-Credential -Message 'Enter a username and password for the VM administrator.'
$vms = 'web','app','sql'
foreach ($vm in $vms) {
Write-Output "Creating VM: $vm"
$azVmParams = @{
ResourceGroupName = $ResourceGroupName
Name = $vm
Credential = $adminCredential
Image = 'Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest'
OpenPorts = 22
}
New-AzVm @azVmParams
}
스크립트가 이전 예의 코드와 같은지 확인한 후, 편집기 오른쪽 상단에 있는 줄임표(...
) 바로 가기 메뉴를 사용하거나 Ctrl +
Q 바로 가기 키를 사용하여 편집기를 닫습니다.
스크립트 실행
다음 명령을 사용하여 스크립트를 실행합니다.
./ConferenceDailyReset.ps1 -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
완료될 때까지 기다립니다. 스크립트를 완료하는 데는 몇 분 정도 걸립니다.
VM을 확인합니다. 스크립트가 완료되면 리소스 그룹에 VM을 나열하여 성공적으로 완료되었는지 확인합니다.
Get-AzVM -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
각각 고유한 이름을 가진 세 개의 VM이 표시됩니다.
각각 특정 리소스 그룹에 있는 3개의 VM 만들기를 자동화하는 스크립트를 성공적으로 만들어 무역 박람회에서 매일 데모할 수 있도록 준비했습니다. 스크립트는 짧고 간단하지만 Azure Portal을 통해 수동으로 수행할 경우 시간이 많이 걸리고 오류가 발생하기 쉬운 프로세스의 속도를 크게 높여줍니다.