적합한 Azure 명령줄 도구 선택

Azure를 관리하는 경우 많은 옵션이 있습니다. 이 문서에서는 Azure CLI 언어와 Azure PowerShell 언어를 비교하고 해당 언어가 실행되는 셸 환경을 비교합니다.

Azure CLI, Azure PowerShell, Azure Cloud Shell에는 겹치는 기능이 있습니다. 각각 다르게 작동하며 언어가 환경과 혼동되는 경우도 있습니다. 이 가이드를 사용하여 적합한 도구를 확인할 수 있습니다.

Azure 명령줄 도구를 사용하면 어떤 이점이 있나요?

Azure는 자동화에서 실행됩니다. 포털 내에서 수행되는 모든 작업은 리소스를 읽고, 만들고, 수정하거나, 삭제하기 위해 실행되는 코드로 변환됩니다.

워크로드를 Azure로 이동하면 관리 부담의 일부가 줄어들지만 전부는 아닙니다. Azure를 도입하는 비율이 증가할수록 오버헤드도 증가합니다. 데이터 센터에 대해서는 걱정할 필요가 없지만 Azure VM에 패치를 적용하고 문제를 해결하며 데이터베이스를 장애 조치(failover)하고 가상 네트워크를 구성해야 합니다.

명령줄 도구는 Azure를 실행하는 기존 자동화를 사용하여 오버헤드를 줄입니다.

Azure 명령줄 도구란 무엇인가요?

Azure 명령줄 도구는 일상적인 작업을 자동화하고, 데이터베이스 장애 조치(failover)를 표준화하며, 강력한 인사이트를 제공하는 데이터를 끌어옵니다. 명령줄 도구를 사용하면 Azure에서 작업 크기를 조정할 수 있을 뿐만 아니라 훨씬 더 쉽게 공유할 수 있습니다. 시간이 많이 걸리는 스크린샷이 있는 긴 Wiki 페이지보다 스크립트를 공유하는 것이 훨씬 쉽습니다.

Azure 명령줄 도구를 사용하는 것이 항상 필요한 것은 아니지만 유용한 기술입니다.

Azure CLI와 Azure PowerShell

Azure CLI와 Azure PowerShell은 Azure 리소스를 만들고 관리할 수 있는 명령줄 도구입니다. 둘 다 플랫폼 간 도구이며 Windows, macOS 및 Linux에 설치할 수 있습니다.

Azure CLI

  • 플랫폼 간 명령줄 인터페이스, Windows, macOS, Linux에 설치 가능
  • Windows PowerShell, Cmd 또는 Bash와 기타 Unix 셸에서 실행

Azure PowerShell

  • 플랫폼 간 PowerShell 모듈, Windows, macOS, Linux에서 실행
  • Windows PowerShell 또는 PowerShell 필요

다양한 셸 환경

셸 환경 Azure CLI Azure PowerShell
Cmd
Bash
Windows PowerShell
PowerShell

Windows PowerShell, PowerShell, Cmd 및 Bash는 셸 환경입니다. 셸 환경은 사용할 수 있는 도구를 결정할 뿐만 아니라 명령줄 환경도 변경합니다.

예를 들어 줄 연속 문자의 경우 Bash는 백슬래시(\)를 사용하고 Windows PowerShell은 역따옴표(`)를 사용합니다. 셸 환경의 차이가 Azure CLI와 Azure PowerShell의 작동 방식을 변경하지는 않습니다. 그러나 명령줄 환경은 변경합니다.

Azure CLI는 네 가지 셸 환경 모두에서 명령을 실행할 수 있도록 하는 설치 프로그램이 있습니다.

Azure PowerShell은 Az라는 PowerShell 모듈로 패키지된 cmdlet의 집합이며 실행 파일이 아닙니다. Az 모듈을 설치하려면 Windows PowerShell 또는 PowerShell을 사용해야 합니다.

Windows PowerShell은 대부분의 Windows 운영 체제에 미리 설치되어 제공되는 표준 스크립팅 셸입니다. PowerShell은 .NET Core를 런타임으로 사용하는 독립 실행형 설치이므로 macOS, Linux 및 Windows에 설치할 수 있습니다.

주요 정보:

  • AzureRM은 PowerShell을 사용한 Azure 관리를 위해 계속 참조되는 PowerShell 모듈입니다. 그러나 Azure PowerShell로 대체되었으며 공식 사용 중지 날짜는 2024년 2월 29일입니다.

AzureRM을 사용하는 경우 AzureRM에서 Az로 Azure PowerShell을 마이그레이션할 수 있습니다.

Azure Cloud Shell은 어떤가요?

Azure Cloud Shell은 Ubuntu 컨테이너에서 실행되는 호스트 셸 환경입니다.

Cloud Shell은 Bash(Azure CLI 사전 설치) 및 PowerShell(Azure PowerShell 사전 설치)이라는 두 가지 셸 환경을 제공합니다. Cloud Shell 창의 맨 위에 있는 드롭다운 목록을 사용하면 두 환경 간에 쉽게 전환할 수 있습니다.

Cloud Shell은 웹 브라우저에서 액세스할 수 있으며 Windows TerminalVisual Studio Code가 통합되어 있습니다.

Azure CloudShell Bash 및 PowerShell 환경

참고

세 가지 도구 모두에 게시 일정이 모두 다르기 때문에 Azure Cloud Shell은 항상 최신 Azure PowerShell 및 Azure CLI 릴리스를 즉시 반영하지 않을 수 있습니다. 그러나 Azure Cloud Shell은 일반적으로 두 도구의 최신 버전을 항상 포함하는 것으로 간주됩니다.

어떤 Azure 명령줄 도구가 적합한가요?

적합한 도구를 선택할 때는 과거 경험과 현재 작업 환경을 고려합니다.

Azure CLI 구문은 Bash 스크립팅 구문과 비슷합니다. 주로 Linux 시스템에서 작업하는 경우 Azure CLI가 더 자연스럽게 느껴질 수 있습니다.

Azure PowerShell은 PowerShell 모듈입니다. 주로 Windows 시스템에서 작업하는 경우 Azure PowerShell이 적합합니다. 명령은 동사-명사 명명 체계를 따르고 데이터는 개체로 반환됩니다.

경험을 활용하고 학습 곡선을 단축하는 도구를 선택하세요. Microsoft learning을 활용하여 명령줄에서 Azure를 능숙하게 관리할 수 있습니다.

또한, 열린 마음은 능력을 향상시킬 수 있습니다. 적합한 경우 다른 도구를 사용하세요.

주요 정보:

  • Azure 서비스에 대한 기능 패리티가 Azure CLI와 Azure PowerShell 간에 항상 존재하는 것은 아닙니다.

Azure CLI 및 Azure PowerShell: 병렬 명령 비교

로그인, 구독 및 위치 명령:

명령 Azure CLI Azure PowerShell
웹 브라우저로 로그인 az login 연결 AzAccount
사용 가능한 구독 얻기 az account list Get-AzSubscription
구독 설정 az account set –subscription <SubscriptionId> Set-AzContext -Subscription <SubscriptionID>
Azure 위치 나열 az account list-locations Get-AzLocation

버전 찾기, 도움말 보기, 명령 도움말 보기:

명령 Azure CLI Azure PowerShell
버전 찾기 az --version Get-InstalledModule -Name Az
도움말 보기 az --help Get-Help
명령 도움말 보기 az vm --help Get-Help -Name New-AzVM

리소스 그룹, VM, 스토리지 계정 만들기:

명령 Azure CLI Azure PowerShell
리소스 그룹 만들기 az group create --name <ResourceGroupName> --location eastus New-AzResourceGroup -Name <ResourceGroupName> -Location eastus
Azure Virtual Machine 만들기 az vm create --resource-group myResourceGroup --name myVM --image UbuntuLTS --admin-username azureuser --admin-password '<암호>' New-AzVM -ResourceGroupName <ResourceGroupName> -Name myVM -Image UbuntuLTS -Credential (Get-Credential)
Azure Storage 계정 만들기 az storage account create --name <StorageAccountName> --resource-group <ResourceGroupName> --location eastus --sku Standard_LRS --kind StorageV2 New-AzStorageAccount -Name <StorageAccountName> -ResourceGroupName <ResourceGroupName> -Location eastus -SkuName Standard_LRS -Kind StorageV2

Azure Virtual Machines 관리:

명령 Azure CLI Azure PowerShell
VM 나열 az vm list Get-AzVM
VM 다시 시작 az vm restart --name myVM --resource-group <ResourceGroupName> Restart-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>
VM 중지 az vm stop --name myVM --resource-group <ResourceGroupName> Stop-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>
VM 중지 & 할당 취소 az vm deallocate --name myVM --resource-group <ResourceGroupName> Stop-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>
VM 시작 az vm start --name myVM --resource-group <ResourceGroupName> Start-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>
VM 삭제 az vm delete --name myVM --resource-group <ResourceGroupName> Remove-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>

속성 선택 및 출력 형식 변경:

명령 Azure CLI Azure PowerShell
모든 구독 정보 표시 az account list --all Get-AzSubscription | Select-Object -Property *
테이블로 출력 az account list -o table Get-AzSubscription | Format-Table
JSON으로 출력 az account show Get-AzSubscription | ConvertTo-Json

주요 정보:

다음 단계

Azure CLI:

Azure PowerShell: