■ Add-AzVmssExtension 명령을 사용해 가상 머신 확장 집합에 IIS 웹 서버를 설치하는 방법을 보여준다. ▶ 실행 명령
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
################################################## # 사용자 지정 스크립트를 정의한다. ################################################## $testSetting = @{ "fileUris" = (,"https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/automate-iis.ps1"); "commandToExecute" = "powershell -ExecutionPolicy Unrestricted -File automate-iis.ps1" } ################################################## # 가상 머신 확장 집합을 구한다. ################################################## $vmss = Get-AzVmss -ResourceGroupName TestResourceGroup -VMScaleSetName TestScaleSet ################################################## # IIS를 설치하고 기본 웹 사이트를 구성하기 위해서 사용자 지정 스크립트 확장명을 추가한다. ################################################## Add-AzVmssExtension -VirtualMachineScaleSet $vmss ` -Name TestScript ` -Publisher "Microsoft.Compute" ` -Type "CustomScriptExtension" ` -TypeHandlerVersion 1.8 ` -Setting $testSetting ################################################## # 확장 집합을 업데이트 하고 가상 머신 인스턴스들에게 사용자 지정 스크립트 확장을 실행한다. ################################################## Update-AzVmss -ResourceGroupName TestResourceGroup -Name TestScaleSet -VirtualMachineScaleSet $vmss ※ TestResourceGroup : 리소스 그룹명 TestScaleSet : 확장 집합명 TestScript : 사용자 지정 스크립트 확장명 |
■ Get-AzVMSize 명령을 사용해 특정 가용성 집합의 조정 가능한 가상 머신 크기 리스트를 구하는 방법을 보여준다. ▶ 실행 명령
|
Get-AzVMSize -ResourceGroupName TestResourceGroup -AvailabilitySetName TestAvailabilitySet ----------------- ------------------- 리소스 그룹명 가용성 집합명 |
■ New-AzVmss 명령을 사용해 가상 머신 확장 집합을 만드는 방법을 보여준다. ▶ 실행 명령
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
New-AzVmss ` -ResourceGroupName TestResourceGroup ` -Location EastUS ` -VMScaleSetName TestScaleSet ` -VirtualNetworkName TestVNet ` -SubnetName TestSubnet ` -PublicIpAddressName TestPublicIPAddress ` -LoadBalancerName TestLoadBalancer ` -UpgradePolicyMode Automatic ※ TestResourceGroup : 리소스 그룹명 EastUS : 지역명 TestScaleSet : 가상 머신 확장 집합명 TestPublicIPAddress : 공인 IP 주소명 TestLoadBalancer : 로드 밸런서명 |
■ 고가용성 가상 머신을 만드는 방법을 보여준다. ▶ 실행 명령
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
New-AzResourceGroup -Name TestResourceGroup -Location EastUS New-AzAvailabilitySet ` -Location EastUS ` -Name TestAvailabilitySet ` -ResourceGroupName TestResourceGroup ` -Sku aligned ` -PlatformFaultDomainCount 2 ` -PlatformUpdateDomainCount 2 $credential = Get-Credential for($i = 1; $i -le 2; $i++) { New-AzVm ` -ResourceGroupName TestResourceGroup ` -Name TestVM$i ` -Location EastUS ` -VirtualNetworkName TestVNet ` -SubnetName TestSubnet ` -SecurityGroupName TestNetworkSecurityGroup ` -PublicIpAddressName TestPublicIpAddress$i ` -AvailabilitySetName TestAvailabilitySet ` -Credential $credential } ※ TestResourceGroup : 리소스 그룹명 EastUS : 지역명 TestAvailabilitySet : 가용성 집합명 TestVM$i : 가상 머신명(예 : TestVM1, TestVM2) TestVNet : 가상 네트워크명 TestSubnet : 서브넷명 TestNetworkSecurityGroup : 네트워크 보안 그룹명 TestPublicIpAddress$i : 공인 IP 주서명(예 : TestPublicIpAddress1, TestPublicIpAddress2) |
■ New-AzAvailabilitySet 명령을 사용해 가용성 집합을 만드는 방법을 보여준다. ▶ 실행 명령
|
New-AzAvailabilitySet ` -Location EastUS ` -Name TestAvailabilitySet ` -ResourceGroupName TestResourceGroup ` -Sku aligned ` -PlatformFaultDomainCount 2 ` -PlatformUpdateDomainCount 2 ※ EastUS : 지역명 TestAvailabilitySet : 가용성 집합명 TestResourceGroup : 리소스 그룹명 |
■ Get-AzResource 명령에서 ResourceType 옵션을 사용해 가상 머신의 이미지 리스트를 구하는 방법을 보여준다. ▶ 실행 명령
|
$images = Get-AzResource -ResourceType Microsoft.Compute/images $images.name |
■ Remove-AzImage 명령을 사용해 가상 머신의 이미지를 제거하는 방법을 보여준다. ▶ 실행 명령
|
Remove-AzImage -ImageName TestImage -ResourceGroupName TestResourceGroup --------- ----------------- 가상 머신 이미지명 리소스 그룹명 |
■ 가상 머신의 이미지를 만드는 방법을 보여준다. ▶ 실행 명령
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
Stop-AzVM -ResourceGroupName TestResourceGroup -Name TestVM -Force ----------------- ------ 리소스 그룹명 가상 머신명 Set-AzVM -ResourceGroupName TestResourceGroup -Name TestVM -Generalized ----------------- ------ 리소스 그룹명 가상 머신명 $vm = Get-AzVM -Name TestVM -ResourceGroupName TestResourceGroup ------ ----------------- 가상 머신명 리소스 그룹명 $image = New-AzImageConfig -Location EastUS -SourceVirtualMachineId $vm.ID ------ 지역명 New-AzImage -Image $image -ImageName TestImage -ResourceGroupName TestResourceGroup --------- ----------------- 가상 머신 이미지명 리소스 그룹명 New-AzVm ` -ResourceGroupName TestResourceGroup ` -Name TestVM2 ` -ImageName TestImage ` -Location EastUS ` -VirtualNetworkName TestVNet2 ` -SubnetName TestSubnet2 ` -SecurityGroupName TestNetworkSecurityGroup2 ` -PublicIpAddressName TestPublicIPAddress2 ` -OpenPorts 80,3389 Get-AzPublicIPAddress -ResourceGroupName TestResourceGroup -Name TestPublicIPAddress2 | select IpAddress ----------------- -------------------- 리소스 그룹명 공인 IP 주소명 |
■ Sysprep을 사용해 가상 머신을 일반화하는 방법을 보여준다. 1.가상 머신에 연결한다. 2.관리자 권한으로 명령 프롬프트를 실행한다. 3.디렉토리를 %windir%\system32\sysprep로 변경하고 sysprep.exe를 실행한다. 4.[System
더 읽기
■ Set-AzVMExtension 명령을 사용해 가상 머신에 IIS 웹 서버를 설치하는 방법을 보여준다. ▶ 실행 명령
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
$credential = Get-Credential New-AzVm ` -ResourceGroupName TestResourceGroup ` -Name TestVM ` -Location EastUS ` -VirtualNetworkName TestVNet ` -SubnetName TestSubnet ` -SecurityGroupName TestNetworkSecurityGroup ` -PublicIpAddressName TestPublicIpAddress ` -OpenPorts 80 ` -Credential $credential Set-AzVMExtension -ResourceGroupName TestResourceGroup ` -ExtensionName IIS ` -VMName TestVM ` -Location EastUS ` -Publisher Microsoft.Compute ` -ExtensionType CustomScriptExtension ` -TypeHandlerVersion 1.8 ` -SettingString '{ "commandToExecute" : "powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)" }' ※ TestResourceGroup : 리소스 그룹명 TestVM : 가상 머신명 EastUS : 리전명 TestVNet : 가상 네트워크명 TestSubnet : 서브넷명 TestNetworkSecurityGroup : 네트워크 보안 그룹명 TestPublicIpAddress : 공인 IP 주소명 80 : 공개할 포트 IIS : 확장명 powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername) : 실행 스크립트 |
■ 가상 머신의 데이터 디스크 리스트를 구하는 방법을 보여준다. ▶ 실행 명령
|
$vm = Get-AzVM -ResourceGroupName TestResourceGroup -Name TestVM ----------------- ------ 리소스 그룹명 가상 머신명 $vm.StorageProfile.DataDisks |
■ 가상 머신에 디스크를 추가하는 방법을 보여준다. ▶ 실행 명령
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
$diskConfig = New-AzDiskConfig -Location EastUS -CreateOption Empty -DiskSizeGB 128 ------ --- 지역명 디스크 크기(단위 : GB) $dataDisk = New-AzDisk -ResourceGroupName TestResourceGroup -DiskName TestDataDisk -Disk $diskConfig ----------------- ------------ 리소스 그룹명 디스크명 $vm = Get-AzVM -ResourceGroupName TestResourceGroup -Name TestVM ----------------- ------ 리소스 그룹명 가상 머신명 $vm = Add-AzVMDataDisk -VM $vm -Name TestDataDisk -CreateOption Attach -ManagedDiskId $dataDisk.Id -Lun 1 ------------ 디스크명 Update-AzVM -ResourceGroupName TestResourceGroup -VM $vm ----------------- 리소스 그룹명 |
■ Remove-AzResourceGroup 명령을 사용해 리소스 그룹을 제거하는 방법을 보여준다. ▶ 실행 명령
|
Remove-AzResourceGroup -Name TestResourceGroup -Force ----------------- 리소스 그룹명 |
■ Get-AzVM 명령의 Status 옵션을 사용해 가상 머신 상태를 구하는 방법을 보여준다. ▶ 실행 명령
|
Get-AzVM -ResourceGroupName TestResourceGroup -Name TestVM -Status | Select @{n="Status"; e={$_.Statuses[1].Code}} ----------------- ------ 리소스 그룹명 가상 머신명 |
■ 가상 머신 할당 취소 후 가상 머신 크기를 변경하는 방법을 보여준다. ▶ 실행 명령
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
Stop-AzVM -ResourceGroupName TestResourceGroup -Name TestVM -Force ----------------- ------ 리소스 그룹명 가상 머신명 $vm = Get-AzVM -ResourceGroupName TestResourceGroup -VMName TestVM ----------------- ------ 리소스 그룹명 가상 머신명 $vm.HardwareProfile.VmSize = "Standard_E2s_v3" ----------------- 가상 머신 크기 Update-AzVM -VM $vm -ResourceGroupName TestResourceGroup ----------------- 리소스 그룹명 Start-AzVM -ResourceGroupName TestResourceGroup -Name $vm.name ----------------- 리소스 그룹명 |
※ 원하는 크기를 현재 클러스터에 사용할
더 읽기
■ Start-AzVM 명령을 사용해 가상 머신을 시작하는 방법을 보여준다. ▶ 실행 명령
|
$vm = Get-AzVM -ResourceGroupName TestResourceGroup -VMName TestVM ----------------- ------ 리소스 그룹명 가상 머신명 Start-AzVM -ResourceGroupName TestResourceGroup -Name $vm.name ----------------- 리소스 그룹명 |
■ Stop-AzVM 명령을 사용해 가상 머신을 중단하는 방법을 보여준다. ▶ 실행 명령
|
Stop-AzVM -ResourceGroupName TestResourceGroup -Name TestVM -Force ----------------- ------ 리소스 그룹명 가상 머신명 |
※ VM을 프로비전된 상태로 유지하려면 -StayProvisioned 매개 변수를 사용한다.
■ Update-AzVM 명령을 사용해 가상 머신 크기를 변경하는 방법을 보여준다. ▶ 실행 명령
|
$vm = Get-AzVM -ResourceGroupName TestResourceGroup -VMName TestVM ----------------- ------ 리소스 그룹명 가상 머신명 $vm.HardwareProfile.VmSize = "Standard_DS3_v2" ----------------- 가상 머신 크기 Update-AzVM -VM $vm -ResourceGroupName TestResourceGroup ----------------- 리소스 그룹명 |
■ Get-AzVMSize 명령을 사용해 특정 가상 머신의 조정 가능한 가상 머신 크기 리스트를 구하는 방법을 보여준다. ▶ 실행 명령
|
Get-AzVMSize -ResourceGroupName TestResourceGroup -VMName TestVM ----------------- ------ 리소스 그룹명 가상 머신명 |
■ Get-AzVMSize 명령을 사용해 특정 리전에서 사용할 수 있는 가상 머신 크기 리스트를 구하는 방법을 보여준다. ▶ 실행 명령
|
Get-AzVMSize -Location EastUS ------ 리전명 |
■ New-AzVM 명령을 사용해 가상 머신을 생성하는 방법을 보여준다. ▶ 실행 명령
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
New-AzVm ` -ResourceGroupName TestResourceGroup ` -Name TestVM ` -Location EastUS ` -VirtualNetworkName TestVNet ` -SubnetName TestSubnet ` -SecurityGroupName TestNetworkSecurityGroup ` -PublicIpAddressName TestPublicIpAddress ` -ImageName MicrosoftWindowsServer:WindowsServer:2016-Datacenter-with-Containers:latest ` -Credential $credential ` -AsJob ※ TestResourceGroup : 리소스 그룹명 TestVM : 가상 머신명 EastUS : 지역명 TestVNet : 가상 네트워크명 TestSubnet : 서브넷명 TestNetworkSecurityGroup : 네트워크 보안 그룹명 TestPublicIpAddress : 공인 IP 주소명 MicrosoftWindowsServer:WindowsServer:2016-Datacenter-with-Containers:latest : 이미지명(게시자명:OFFER:SKUS) |
※ -AsJob 옵션은 백그라운드 작업으로 만든다.
■ Get-AzVMImageSku 명령을 사용해 이미지명 리스트를 구하는 방법을 보여준다. ▶ 실행 명령
|
Get-AzVMImageSku ` -Location EastUS ` -PublisherName MicrosoftWindowsServer ` -Offer WindowsServer ※ EastUS : 지역명 MicrosoftWindowsServer : 게시자명 WindowsServer : OFFER |
■ Get-AzVMImageOffer 명령을 사용해 이미지 제안 리스트를 구하는 방법을 보여준다. ▶ 실행 명령
|
Get-AzVMImageOffer ` -Location EastUS ` -PublisherName MicrosoftWindowsServer ※ EastUS : 지역명 MicrosoftWindowsServer : 공급자명 |
■ Get-AzVMImagePublisher 명령을 사용해 이미지 게시자 리스트를 구하는 방법을 보여준다. ▶ 실행 명령
|
Get-AzVMImagePublisher -Location EastUS ------ 지역명 |
■ New-AzVM 명령을 사용해 가상 머신을 생성하는 방법을 보여준다. ▶ 실행 명령
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
$credential = Get-Credential New-AzVm ` -ResourceGroupName TestResourceGroupVM ` -Name TestVM ` -Location EastUS ` -VirtualNetworkName TestVNet ` -SubnetName TestSubnet ` -SecurityGroupName TestNetworkSecurityGroup ` -PublicIpAddressName TestPublicIpAddress ` -Credential $credential ※ TestResourceGroupVM : 리소스 그룹명 TestVM : 가상 머신명 EastUS : 리전명 TestVNet : 가상 네트워크명 TestSubnet : 서브넷명 TestNetworkSecurityGroup : 네트워크 보안 그룹명 TestPublicIpAddress : 공인 IP 주소명 |