연습 - 스크립트를 사용하여 Azure PowerShell로 Azure 리소스 만들기
이 단원에서는 Linux 관리 도구를 개발하는 회사의 예를 계속 설명합니다. 목표는 Linux VM(Virtual Machines)을 사용하여 잠재 고객이 소프트웨어를 테스트할 수 있도록 하는 것입니다. 리소스 그룹이 이미 설정되었으므로 이제 VM을 만들 차례입니다.
회사에서 대규모 Linux 무역 박람회에서 부스를 확보했습니다. 각각 별도의 Linux VM에 연결된 세 개의 터미널이 있는 데모 영역을 설정할 계획입니다. 매일 아침 새로 시작하려면 VM을 삭제하고 하루가 끝날 때 다시 만들어야 합니다. 긴 하루를 보낸 후 VM을 수동으로 만들면 오류가 발생하기 쉬우므로 VM 만들기 프로세스를 자동화하려면 PowerShell 스크립트를 작성해야 합니다.
참고
이 연습은 선택 사항입니다. 이 연습을 완료하려면 시작하기 전에 Azure 구독을 만들어야 합니다. Azure 계정이 없거나 현재 계정을 만들지 않으려는 경우 제공되는 정보를 이해할 수 있도록 지침을 읽을 수 있습니다.
가상 머신을 만드는 스크립트 작성
가상 머신 만들기를 자동화하는 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 myResourceGroupName완료될 때까지 기다립니다. 스크립트를 완료하는 데는 몇 분 정도 걸립니다.
VM을 확인합니다. 스크립트가 완료되면 리소스 그룹에 VM을 나열하여 성공적으로 완료되었는지 확인합니다.
Get-AzVM -ResourceGroupName myResourceGroupName각각 고유한 이름을 가진 세 개의 VM이 표시됩니다.
각각 특정 리소스 그룹에 있는 3개의 VM 만들기를 자동화하는 스크립트를 성공적으로 만들어 무역 박람회에서 매일 데모할 수 있도록 준비했습니다. 스크립트는 짧고 간단하지만 Azure Portal을 통해 수동으로 수행할 경우 시간이 많이 걸리고 오류가 발생하기 쉬운 프로세스의 속도를 크게 높여줍니다.