Azure 관리에는 많은 옵션이 있습니다. 이 문서에서는 Azure CLI 및 Azure PowerShell 언어를 비교하고 실행되는 셸 환경을 비교합니다.
Azure CLI, Azure PowerShell 및 Azure Cloud Shell 에는 겹치는 기능이 있습니다. 각각은 다르게 작동하며 언어가 환경과 혼동되는 경우도 있습니다. 이 가이드를 사용하여 적합한 도구가 무엇인지 확인합니다.
Azure 명령줄 도구를 사용하면 어떤 이점이 있나요?
Azure는 자동화에 의해 실행됩니다. 포털 내에서 수행하는 모든 작업은 리소스를 읽고, 만들고, 수정하거나, 삭제하기 위해 실행 중인 코드로 변환됩니다.
워크로드를 Azure로 이동하면 일부 관리 부담이 줄어들지만, 전부는 아닙니다. Azure를 사용하는 채택률이 높아짐에 따라 오버헤드도 증가합니다. 데이터 센터에 대해 걱정할 필요는 없지만 Azure VM, 장애 조치(failover) 데이터베이스를 패치 및 문제 해결하고 가상 네트워크를 구성해야 합니다.
명령줄 도구는 Azure를 실행하는 기존 자동화를 사용하여 오버헤드를 줄입니다.
Azure 명령줄 도구란?
Azure 명령줄 도구는 일상적인 작업을 자동화하고 데이터베이스 장애 조치(failover)를 표준화하며 강력한 인사이트를 제공하는 데이터를 끌어오기합니다. 명령줄 도구는 Azure에서 작업을 스케일링할 수 있을 뿐만 아니라 훨씬 쉽게 공유할 수 있습니다. 스크립트를 공유하는 것은 시간이 많이 걸리는 스크린샷이 있는 긴 위키 페이지보다 훨씬 쉽습니다.
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 | 예 | |
배쉬 | 예 | |
Windows PowerShell | 예 | 예 |
PowerShell | 예 | 예 |
Windows PowerShell, PowerShell, Cmd 및 Bash는 셸 환경입니다. 셸 환경은 사용할 수 있는 도구를 결정할 뿐만 아니라 명령줄 환경도 변경합니다.
예를 들어 줄 연속 문자의 경우 Bash는 백슬래시를 \
사용하고 Windows PowerShell은 백틱 `
을 사용합니다. 셸 환경의 차이는 Azure CLI 및 Azure PowerShell 작동 방식을 변경하지 않습니다. 그러나 명령줄 환경은 변경합니다.
Azure CLI에는 4개의 셸 환경에서 명령을 실행 가능하게 하는 설치 관리자가 있습니다.
Azure PowerShell은 실행 파일이 아닌 PowerShell Az
모듈로 패키지된 cmdlet 집합입니다. Windows PowerShell 또는 PowerShell을 사용하여 모듈 Az
을 설치해야 합니다.
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 터미널 및 Visual Studio Code에 대한 통합이 있습니다.
비고
세 가지 도구 모두에 대한 게시 일정이 다르기 때문에 Azure Cloud Shell이 최신 Azure PowerShell 및 Azure CLI 릴리스를 즉시 반영 하지는 않을 수 있습니다. 그러나 Azure Cloud Shell은 일반적으로 항상 두 도구의 최신 버전을 포함하는 것으로 생각됩니다.
어떤 Azure 명령줄 도구가 적합한가요?
올바른 도구를 선택할 때 과거의 환경과 현재 작업 환경을 고려합니다.
Azure CLI 구문은 Bash 스크립팅의 구문과 유사합니다. Linux 시스템을 주로 사용하는 경우 Azure CLI는 더 자연스러운 느낌을 줍니다.
Azure PowerShell은 PowerShell 모듈입니다. 주로 Windows 시스템에서 작업하는 경우 Azure PowerShell은 자연스럽게 적합합니다. 명령은 동사 명사 명명 체계를 따르고 데이터는 개체로 반환됩니다.
경험을 활용하고 학습 곡선을 단축하는 도구를 선택하세요. Microsoft 학습을 활용하여 명령줄에서 Azure를 관리하는 데 능숙해집니다.
즉, 열린 마음을 갖는 것은 당신의 능력을 향상시킬 것입니다. 적합한 경우 다른 도구를 사용하세요.
주요 정보:
- Azure 서비스에 대한 기능 패리티가 항상 Azure CLI와 Azure PowerShell 사이에 있는 것은 아닙니다.
Azure CLI 및 Azure PowerShell: 병렬 명령 비교
로그인, 구독 및 위치 명령:
명령어 | Azure 커맨드 라인 인터페이스 (CLI) | Azure PowerShell |
---|---|---|
웹 브라우저로 로그인 | az login | Connect-AzAccount |
사용 가능한 구독 얻기 | az account list | Get-AzSubscription |
구독 설정 | az account set –-subscription <SubscriptionId> | <Set-AzContext -Subscription 구독 ID> |
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 명령은 <ResourceGroupName>라는 이름의 리소스 그룹을 eastus 지역에 생성합니다. | New-AzResourceGroup -Name <리소스그룹이름> -Location 동부 미국 |
Azure Virtual Machine 만들기 | az vm create --resource-group myResourceGroup --name myVM --image UbuntuLTS --admin-username azureuser --admin-password '<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 이 명령어는 Azure Storage 계정을 생성하기 위한 것입니다. `<StorageAccountName>`에는 저장소 계정 이름을, `<ResourceGroupName>`에는 리소스 그룹 이름을 입력합니다. 계정은 미국 동부 지역(`eastus`)에 생성되며, 표준 로컬 중복 저장소(스탠다드 LRS) 및 StorageV2 종류로 설정됩니다. | PowerShell 명령어 및 인수에 따라 새 Azure 저장소 계정을 생성하려면 다음 명령을 사용하세요: New-AzStorageAccount -Name <StorageAccountName> -ResourceGroupName <ResourceGroupName> -Location eastus -SkuName Standard_LRS -Kind StorageV2 |
Azure Virtual Machines 관리:
명령어 | Azure 커맨드 라인 인터페이스 (CLI) | Azure PowerShell |
---|---|---|
VM 목록 | az vm 목록 조회 명령어 | Get-AzVM |
VM 다시 시작 | az vm restart --name myVM --resource-group <ResourceGroupName> (이 명령어는 지정된 자원 그룹 내의 "myVM"이라는 가상 머신을 재시작합니다.) | Restart-AzVM -Name myVM -ResourceGroupName <ResourceGroupName> |
VM 중지 | az vm stop --name myVM --resource-group <ResourceGroupName> | myVM -ResourceGroupName ResourceGroupName Stop-AzVM -Name <> |
VM 중지 및 할당 취소 | az vm deallocate --name myVM --resource-group <ResourceGroupName> | myVM -ResourceGroupName ResourceGroupName Stop-AzVM -Name <> |
VM 시작 | az vm start --name myVM --resource-group <ResourceGroupName> | Start-AzVM -Name myVM -ResourceGroupName <ResourceGroupName> |
VM 삭제 | az vm 삭제 --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 테이블 | Get-AzSubscription | Format-Table |
JSON으로 출력 | az account show | Get-AzSubscription | ConvertTo-Json |
주요 정보:
- Azure CLI는 기본적으로 JSON 문자열을 출력합니다. 다른 형식 옵션은 Azure CLI 명령에 대한 출력 형식에서 찾을 수 있습니다.
- Azure PowerShell은 기본적으로 개체를 출력합니다. PowerShell의 서식 지정에 대한 자세한 내용은 형식 명령을 사용하여 출력 뷰를 변경합니다.
다음 단계
Azure CLI:
Azure PowerShell:
Azure CLI