Azure PowerShell을 사용하여 대화형으로 Azure 리소스 만들기

완료됨

대화형 모드에서는 PowerShell을 사용하여 즉시 명령을 입력하고 실행할 수 있습니다.

CRM(고객 관계 관리) 예에서 목표는 각각 VM(가상 머신)을 포함하는 세 가지 테스트 환경을 만드는 것입니다. 리소스 그룹을 사용하여 VM이 별도의 환경으로 구성되었는지 확인합니다.

  • 단위 테스트
  • 통합 테스트
  • 수용 테스트

리소스 그룹은 한 번만 만들면 되므로 이 작업에는 PowerShell을 대화형으로 사용하는 것이 합리적인 선택입니다.

PowerShell에서 명령을 실행하면 해당 명령을 cmdlet과 일치시키고 요청된 작업을 수행합니다.

예제: Azure PowerShell을 사용하여 리소스 그룹을 만드는 방법

일반적인 작업인 리소스 그룹 만들기를 수행해 보겠습니다. 리소스 그룹은 관련 리소스를 집합적으로 관리하는 데 도움이 되며, 새 리소스 그룹을 만드는 것은 새 Azure 솔루션을 시작할 때 수행하는 첫 번째 작업 중 하나인 경우가 많습니다.

따라야 할 세 가지 단계는 다음과 같습니다.

  1. Azure 구독에 연결합니다.

  2. 리소스 그룹을 만듭니다.

  3. 리소스 그룹이 성공적으로 만들어졌는지 확인합니다.

각 단계는 다른 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을 사용하여 구독을 전환할 수 있습니다.

  1. 모든 구독 목록을 가져옵니다.

    Get-AzSubscription
    
  2. 현재 로그인되어 있는 구독을 확인합니다.

    Get-AzContext
    
  3. 활성 구독을 변경합니다.

    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-AzVMNetworkInterfaceSet-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을 사용하는 것은 일회성 작업에 적절합니다. 예를 들어, 프로젝트 수명 동안 리소스 그룹이 한 번만 만들어진 경우 대화형으로 리소스 그룹을 만들고 관리할 수 있습니다. 대화형 모드는 한 번만 실행되는 작업에 대한 스크립트를 작성하는 것보다 더 빠르고 쉬운 경우가 많습니다.