Azure CLI란?

완료됨

AZURE CLI(Command-Line Interface)는 Azure에 연결하고 Azure 리소스에서 관리 명령을 실행하도록 설계된 플랫폼 간 명령줄 도구입니다. 터미널에서 대화형으로 작업하든 스크립트를 통해 작업을 자동화하든 클라우드 인프라를 관리하기 위한 일관되고 스크립트 가능한 인터페이스를 제공합니다.

Azure CLI란?

Azure CLI 를 사용하면 다음을 수행할 수 있습니다.

  • 대화형으로 명령 실행: 터미널 프롬프트에서 명령을 입력하고 즉각적인 결과를 확인합니다.
  • 스크립트를 통해 자동화: 반복 작업을 위해 Bash, PowerShell 또는 기타 셸 스크립트의 명령을 결합합니다.
  • 모든 Azure 서비스 관리: 일관된 구문을 사용하여 Azure 리소스를 만들고, 구성하고, 삭제하고, 모니터링합니다.
  • 어디서나 작업: Linux, macOS, Windows, Docker 컨테이너에 설치하거나 Azure Cloud Shell을 사용합니다.

설치 및 실행 옵션

플랫폼 지원:

Platform 셸 옵션 설치 방법
리눅스 Bash, PowerShell 7 패키지 관리자(apt, yum) 또는 스크립트
macOS Bash, Zsh, PowerShell 7 Homebrew(홈브루) 또는 설치 관리자
Windows cmd.exe, PowerShell, PowerShell 7 MSI 설치 관리자
Docker 배쉬 미리 빌드된 컨테이너 이미지
Azure 클라우드 셸 Bash, PowerShell 기본 제공(설치 필요 없음)

권장 환경:

  • Azure Cloud Shell: 최신 Azure CLI가 미리 설치되어 있으며, 인증이 자동으로 구성됩니다.
  • Linux/macOS의 Bash: 뛰어난 스크립팅 기능을 갖춘 Azure CLI용 Natural Shell입니다.
  • PowerShell 7: 플랫폼 간 PowerShell은 운영 체제에서 일관된 환경을 제공합니다.
  • Windows 명령 프롬프트(cmd.exe): 간단한 명령 실행을 위한 기본 Windows 셸입니다.

설치 세부 정보 및 명령 실행 패턴은 이 모듈의 뒷부분에서 자세히 설명합니다. 계속하기 전에 Azure CLI 아키텍처 및 명령 구조를 이해해 보겠습니다.

Azure CLI 참조 형식

Azure CLI 명령은핵심 참조 및 확장의 두 가지 범주로 구성 됩니다. 차이점을 이해하면 Azure CLI 설치를 관리하고 최신 기능에 액세스할 수 있습니다.

핵심 참조

핵심 참조는 Azure CLI를 사용하여 자동으로 설치되는 영구 기본 제공 명령입니다.

  • 항상 사용 가능: Azure CLI를 사용하여 설치; 추가 설정이 필요하지 않습니다.
  • 프로덕션 준비: 일상적인 Azure 관리를 위한 안정적이고 잘 테스트된 명령입니다.
  • 자동 업데이트: Azure Cloud Shell을 사용하는 경우 핵심 참조는 항상 최신입니다.
  • 포괄적인 적용 범위: 대부분의 Azure 서비스 및 일반적인 작업에 대한 명령을 포함합니다.

핵심 참조 그룹의 예:

  • az account - Azure 구독을 관리합니다.
  • az group - 리소스 그룹을 관리합니다.
  • az storage - Azure Storage 계정을 관리합니다.
  • az vm - 가상 머신을 관리합니다.
  • az network - 네트워킹 리소스를 관리합니다.

Extensions

확장은 Azure CLI 명령으로 실행되는 선택적 특수 기능을 제공합니다.

  • 옵트인 설치: 기본적으로 포함되지 않습니다. 필요한 경우 설치합니다.
  • 새 기능에 액세스: GA(일반 공급)가 되기 전에 미리 보기 및 실험적 Azure 기능을 가져옵니다.
  • 유연한 업데이트: 핵심 Azure CLI와 독립적으로 확장을 업데이트합니다.
  • 자동 프롬프트: Azure CLI는 처음 사용할 때 확장을 설치하라는 메시지를 표시합니다.

확장에 대한 일반적인 사용 사례:

  • Azure 서비스에 대한 미리 보기 기능입니다.
  • 특정 시나리오에 대한 특수 도구(예: Azure IoT, Azure Machine Learning).
  • 타사 통합을 위한 공급업체에서 제공하는 명령입니다.

본보기: 확장 명령을 처음 실행할 때 Azure CLI에서 다음을 묻는 메시지를 표시합니다.

$ az aks create --resource-group myResourceGroup --name myAKSCluster
The command requires the extension aks-preview. Do you want to install it now? (Y/n): Y

Azure CLI 참조 상태

Azure CLI 명령에는 안정성 및 지원 수준을 나타내는 수명 주기 단계가 있습니다. 형식이 아닌 상태는 명령이 프로덕션 준비 상태인지 여부를 결정합니다.

세 가지 상태 범주

상태 안정성 프로덕션 환경에서 사용 지원 수준
GA (일반적으로 사용 가능) 영구 Yes 전체 Microsoft 지원
공개 미리 보기 피드백에 따라 변경할 수 있습니다. 주의해서 사용 Azure 미리 보기 사용 약관에 따라
사용되지 않음 제거됩니다. 아니오 대체 시스템으로 마이그레이션

상태 세부 정보:

  • GA (일반 공급):

    • 프로덕션 준비가 완료된 안정적인 명령입니다.
    • 주요 버전 업데이트에서만 발생하는 변경 사항입니다.
    • 전체 Microsoft 지원 및 SLA 적용 범위.
    • 프로덕션 워크로드에 권장됩니다.
  • 공개 미리 보기:

    • 테스트 및 피드백에 사용할 수 있는 새로운 기능입니다.
    • 예고 없이 중대한 변경이 있을 수 있습니다.
    • 제한된 지원; GitHub 또는 피드백 채널을 통해 문제를 보고합니다.
    • 프로덕션을 사용하기 전에 개발 환경에서 테스트합니다.
  • 사용 중단 예정:

    • 이후 릴리스에서 제거가 예약된 명령입니다.
    • 일반적으로 최신의 더 나은 명령으로 대체됩니다.
    • 설명서에 제공된 마이그레이션 경로입니다.
    • 새 스크립트 또는 자동화에서는 사용하지 않습니다.

중요: 코어 명령과 확장 명령 모두 어떤 상태도 가질 수 있습니다. 핵심 명령은 미리 보기 상태일 수 있으며 확장 명령은 GA일 수 있습니다.

Azure CLI 참조 패턴

Azure CLI는 명령을 쉽게 예측하고 기억할 수 있는 일관된 계층적 명령 구조를 사용합니다. 패턴을 이해하면 모든 Azure 서비스를 사용할 수 있습니다.

명령 구조

구문 패턴:

az <reference-group> <subgroup> <command> --<parameter> <value>

구성 요소 분석:

구성 요소 Description 예시
az 기본 명령(항상 필요) az
참조 그룹 Azure 서비스 또는 범주 account, group, , storage, vm
하위 그룹 특정 리소스 종류(선택 사항) blob, containerdisk
Command 실행할 작업 create, list, , delete, show
Parameter 동작을 수정하는 옵션 --name, --resource-group--location
매개 변수에 제공된 데이터 myStorageAccount, eastus

실제 예제: Azure 구독 변경

시나리오: 기본 Azure 구독을 전환합니다.

명령 분석:

az account set --subscription "my subscription name"
  • 참조 그룹:az account (Azure 구독 관리).
  • 명령:set (활성 구독을 변경합니다).
  • 매개 변수:--subscription (구독을 지정합니다).
  • 매개 변수 값:"my subscription name" (구독 이름 또는 ID).

추가 명령 예제

리소스 그룹을 만듭니다.

az group create --name myResourceGroup --location eastus
  • 참조 그룹:az group
  • 명령:create
  • 매개 변수:--name (리소스 그룹 이름), --location (Azure 지역)

스토리지 계정 나열:

az storage account list --resource-group myResourceGroup --output table
  • 참조 그룹:az storage
  • 하위 그룹:account
  • 명령:list
  • 매개 변수:--resource-group (그룹별로 필터링), --output (결과 서식 지정)

가상 머신을 다시 시작합니다.

az vm restart --name myVM --resource-group myResourceGroup
  • 참조 그룹:az vm
  • 명령:restart
  • 매개 변수:--name (VM 이름), --resource-group (그룹 포함)

패턴 인식 팁: 명령은 자연어 패턴을 따릅니다. "리소스 그룹에 스토리지 계정을 만들"려면 .를 사용합니다 az storage account create --resource-group.

Azure CLI 명령 실행

Azure CLI는 대화형 명령줄 사용 및 자동화된 스크립트 실행이라는 두 가지 실행 모드를 지원합니다. 워크플로에 가장 적합한 방법을 선택합니다.

대화형 실행

대화형 모드 를 사용하면 터미널 프롬프트에서 명령을 입력하고 즉각적인 결과를 볼 수 있습니다. 이 방법은 다음 작업에 적합합니다.

  • Azure CLI 명령 및 구문 학습
  • Azure 리소스 및 해당 속성을 탐색합니다.
  • 빠른 일회성 작업(테스트 리소스 만들기, 상태 확인).
  • 문제 해결 및 디버깅.

작동 방식:

  1. 원하는 셸(Bash, PowerShell, cmd.exe, Azure Cloud Shell)을 엽니다.
  2. 프롬프트에 Azure CLI 명령을 입력합니다.
  3. Enter 키를 눌러 실행합니다.
  4. 결과를 즉시 봅니다.

본보기: 대화형으로 가상 머신을 다시 시작합니다.

az vm restart --resource-group MyResourceGroup --name MyVm

대화형 워크플로:

# Check current subscription
$ az account show --output table

# List all resource groups
$ az group list --output table

# Create a storage account
$ az storage account create --name mystorageacct --resource-group myRG --location eastus

스크립깅된 실행

스크립트 모드는 자동화를 위해 여러 Azure CLI 명령을 스크립트 파일로 결합합니다. 이 방법은 다음을 위해 필수적입니다.

  • 반복적인 작업(매일 개발 환경 만들기).
  • 복잡한 다단계 작업(전체 애플리케이션 배포)
  • CI/CD 파이프라인(자동화된 배포)
  • IaC(Infrastructure as Code) 구현.

작동 방식:

  1. 스크립트 파일(.sh Bash, .ps1 PowerShell의 경우)에 Azure CLI 명령을 작성합니다.
  2. 필요에 따라 변수, 루프 및 조건부 논리를 추가합니다.
  3. 스크립트 실행 파일(Bash: chmod +x script.sh)을 만듭니다.
  4. 매개 변수를 사용하여 스크립트를 실행합니다.

본보기: 여러 스토리지 계정을 만드는 Bash 스크립트:

#!/bin/bash
# File: myScriptFile.sh

resourceGroup=$1
location="eastus"
accountCount=3

for i in $(seq 1 $accountCount); do
    accountName="storage${i}${RANDOM}"
    echo "Creating storage account: $accountName"
    az storage account create \
        --name $accountName \
        --resource-group $resourceGroup \
        --location $location \
        --sku Standard_LRS
done

스크립트를 실행합니다.

# Make script executable
chmod +x myScriptFile.sh

# Run script with resource group parameter
./myScriptFile.sh myResourceGroupName

PowerShell 스크립트 예제:

# File: myScript.ps1

param (
    [Parameter(Mandatory=$true)]
    [string]$ResourceGroupName
)

$location = "eastus"
$storageCount = 3

for ($i = 1; $i -le $storageCount; $i++) {
    $storageAccount = "storage$i$(Get-Random)"
    Write-Host "Creating storage account: $storageAccount"
    az storage account create `
        --name $storageAccount `
        --resource-group $ResourceGroupName `
        --location $location `
        --sku Standard_LRS
}

PowerShell 스크립트 실행:

.\myScript.ps1 -ResourceGroupName "myResourceGroupName"

올바른 실행 모드 선택

사용 사례 대화형 스크립팅됨
학습 최상 권장되지 않음
일회성 작업 최상 권장되지 않음
Troubleshooting 최상 경우에 따라 지원됩니다.
반복 작업 권장되지 않음 최상
다단계 작업 경우에 따라 지원됩니다. 최상
CI/CD 파이프라인 권장되지 않음 최상
코드로서의 인프라 권장되지 않음 최상

이제 Azure CLI 아키텍처 및 명령 구조를 이해했으므로 올바른 환경을 선택하고 Azure CLI를 설치해 보겠습니다.