Azure PowerShell을 사용하여 대화형으로 Azure 리소스 만들기
대화형 모드에서는 PowerShell을 사용하여 즉시 명령을 입력하고 실행할 수 있습니다.
CRM(고객 관계 관리) 예에서 목표는 각각 VM(가상 머신)을 포함하는 세 가지 테스트 환경을 만드는 것입니다. 리소스 그룹을 사용하여 VM이 별도의 환경으로 구성되었는지 확인합니다.
- 단위 테스트
- 통합 테스트
- 수용 테스트
리소스 그룹은 한 번만 만들면 되므로 이 작업에는 PowerShell을 대화형으로 사용하는 것이 합리적인 선택입니다.
PowerShell에서 명령을 실행하면 해당 명령을 cmdlet과 일치시키고 요청된 작업을 수행합니다.
예제: Azure PowerShell을 사용하여 리소스 그룹을 만드는 방법
일반적인 작업인 리소스 그룹 만들기를 수행해 보겠습니다. 리소스 그룹은 관련 리소스를 집합적으로 관리하는 데 도움이 되며, 새 리소스 그룹을 만드는 것은 새 Azure 솔루션을 시작할 때 수행하는 첫 번째 작업 중 하나인 경우가 많습니다.
따라야 할 세 가지 단계는 다음과 같습니다.
Azure 구독에 연결합니다.
리소스 그룹을 만듭니다.
리소스 그룹이 성공적으로 만들어졌는지 확인합니다.
각 단계는 다른 Azure PowerShell 명령에 해당합니다.
Azure에 연결
Azure PowerShell의 로컬 설치를 사용하는 경우 Azure PowerShell 명령을 실행하기 전에 인증해야 합니다. Connect-AzAccount
cmdlet은 Azure 자격 증명을 묻는 메시지를 표시하고 Azure 구독에 연결합니다.
대화형으로 연결하려면 매개 변수를 지정할 필요가 없습니다.
Connect-AzAccount
이 명령은 Azure 자격 증명에 대한 프롬프트를 열고 Azure 구독에 대한 연결을 설정합니다.
구독 작업
Azure를 처음 사용하는 경우에는 구독이 하나만 있습니다. 그러나 한동안 Azure를 사용했다면 여러 구독이 있을 수 있습니다. Azure PowerShell을 사용하면 명령이 실행되는 구독을 구성할 수 있습니다.
한 번에 하나의 구독에서만 활성화할 수 있습니다. 현재 활성 상태인 구독을 확인하려면 Get-AzContext
cmdlet을 사용합니다. 올바른 cmdlet이 아닌 경우 Set-AzContext
cmdlet을 사용하여 구독을 전환할 수 있습니다.
모든 구독 목록을 가져옵니다.
Get-AzSubscription
현재 로그인되어 있는 구독을 확인합니다.
Get-AzContext
활성 구독을 변경합니다.
Set-AzContext -Subscription '00000000-0000-0000-0000-000000000000'
구독 ID를 찾아야 하는 경우
Get-AzSubscription
cmdlet의 출력에서 찾을 수 있습니다.
리소스 그룹 만들기
Azure에서 리소스를 만들 때 관리 목적으로 리소스 그룹에 배치합니다.
리소스 그룹을 만들려면 New-AzResourceGroup
cmdlet을 사용합니다. 이름과 위치를 지정해야 하며 이름은 구독 내에서 고유해야 합니다. 위치는 리소스 그룹의 메타데이터가 저장되는 위치를 결정하며 이는 규정 준수 때문에 중요할 수 있습니다. 사용 가능한 위치를 확인하려면 Get-AzLocation
cmdlet을 사용합니다.
참고 항목
Azure 샌드박스에서 작업하는 경우 리소스 그룹이 만들어집니다. 자체 구독에서 작업하려면 다음 명령을 사용합니다.
리소스 그룹을 만드는 구문은 다음과 같습니다.
New-AzResourceGroup -Name <resource-group-name> -Location <location>
모든 리소스 그룹 나열
활성 구독의 모든 리소스 그룹 목록을 검색하려면 Get-AzResourceGroup
cmdlet을 사용합니다.
Get-AzResourceGroup
보다 간결하게 보려면 출력을 Format-Table
cmdlet으로 파이프할 수 있습니다.
Get-AzResourceGroup | Format-Table
특정 리소스 그룹만 표시하도록 출력을 필터링할 수도 있습니다.
Get-AzResourceGroup -Name <resource-group-name>
Azure Virtual Machine 만들기
VM(가상 머신) 만들기는 Azure PowerShell을 사용하여 수행할 수 있는 일반적인 작업입니다.
New-AzVM
cmdlet은 VM을 만드는 데 사용됩니다. 이 cmdlet에는 VM에 대한 광범위한 구성 설정을 처리하기 위한 여러 매개 변수가 있습니다. 대부분의 매개 변수에는 적절한 기본값이 있으므로 일반적으로 5개의 주요 항목만 지정하면 됩니다.
- ResourceGroupName: 새 VM이 배치되는 리소스 그룹입니다.
- Name: Azure의 VM 이름입니다.
- 위치: VM이 프로비전되는 지리적 지역입니다.
- Credential: VM 관리자 계정의 사용자 이름과 암호를 포함하는 개체입니다.
사용자 이름과 암호를 묻는 메시지를 표시하고 이를 자격 증명 개체로 저장하려면
Get-Credential
cmdlet을 사용합니다. - 이미지: VM(일반적으로 Linux 배포판 또는 Windows Server)에 사용할 운영 체제 이미지입니다.
예를 들면 다음과 같습니다.
$azVmParams = @{
ResourceGroupName = '<resource-group-name>'
Name = '<machine-name>'
Credential = '<credentials-object>'
Location = '<location>'
Image = '<image-name>'
}
New-AzVM @azVmParams
이전 예에 표시된 것처럼 New-AzVM
cmdlet에 대한 스플래팅이 포함된 해시 테이블로 이러한 매개 변수를 제공할 수 있습니다. 또는 매개 변수를 New-AzVM
cmdlet에 직접 제공하거나 다른 cmdlet을 사용하여 Set-AzVMOperatingSystem
, Set-AzVMSourceImage
, Add-AzVMNetworkInterface
및 Set-AzVMOSDisk
와 같은 가상 머신을 구성할 수 있습니다.
예를 들어, 매개 변수를 New-AzVM
cmdlet에 직접 제공하려면 다음 구문을 사용합니다.
New-AzVM -Name <vm-name> -ResourceGroupName <resource-group-name> -Credential (Get-Credential) ...
예제: VM에 대한 정보 가져오기
Get-AzVM
명령을 사용하여 구독에서 VM을 표시할 수 있습니다. 이 명령은 Name 매개 변수를 지정하여 특정 VM 검색도 지원합니다.
Get-AzVM
의 결과를 변수에 저장합니다.
$vm = Get-AzVM -Name <vm-name> -ResourceGroupName <resource-group-name>
$vm
변수의 콘텐츠는 상호 작용할 수 있는 개체입니다. 예를 들어, 이 개체를 변경한 다음 Update-AzVM
명령을 사용하여 변경 내용을 Azure에 푸시할 수 있습니다.
$resourceGroupName = '<resource-group-name>'
$vm = Get-AzVM -Name <vm-name> -ResourceGroupName $resourceGroupName
$vm.HardwareProfile.vmSize = 'Standard_DS3_v2'
Update-AzVM -ResourceGroupName $resourceGroupName -VM $vm
대화형 모드에서 PowerShell을 사용하는 것은 일회성 작업에 적절합니다. 예를 들어, 프로젝트 수명 동안 리소스 그룹이 한 번만 만들어진 경우 대화형으로 리소스 그룹을 만들고 관리할 수 있습니다. 대화형 모드는 한 번만 실행되는 작업에 대한 스크립트를 작성하는 것보다 더 빠르고 쉬운 경우가 많습니다.