적합한 명령줄 도구 선택

완료됨

Azure Portal에서 수행하는 모든 작업은 Azure 리소스를 생성, 읽기, 업데이트 또는 삭제하기 위해 백그라운드에서 API에 대한 코드 실행으로 변환됩니다. Azure 명령줄 도구는 대규모로 Azure 리소스 프로비전을 자동화할 수 있는 API의 래퍼입니다.

Azure의 자동화 옵션

Azure CLI, Azure PowerShell, Bicep 및 Terraform의 네 가지 명령줄 도구는 일반적으로 Azure 리소스를 자동화하는 데 사용됩니다.

도구들은 어떻게 비교될까요?

Azure CLI, Azure PowerShell, Bicep 및 Terraform은 유사점이 있지만 각각 고유한 이점을 제공합니다. Azure Storage를 프로비전해야 하므로 환경에서 가장 좋은 이점을 제공하는 도구 기능은 무엇일까요?

다음 표에서는 각 Azure 명령줄 도구의 기능을 식별합니다. 테이블에서 다음을 수행합니다.

  • 예 아이콘은 기능이 지정된 명령줄 도구에 대해 true임을 나타냅니다.
  • 아니요 아이콘은 기능이 지정된 명령줄 도구에 대해 false임을 나타냅니다.
기능 Azure CLI Azure PowerShell Bicep Terraform
명령적 IaC Yes 네 없음 아니요
선언적 IaC 아니요 없음 예 Yes
Azure 네이티브 Yes 네 네 아니요
클라우드 중립적 아니요 없음 없음 Yes
Windows, Linux 및 macOS에서 실행할 수 있음 Yes 네 네 예
Azure Storage 리소스 만들기, 편집 및 삭제 Yes 네 네 Yes

각 도구를 자세히 살펴보겠습니다. Azure CLI 및 Azure PowerShell을 비교하고 Bicep 및 Terraform을 비교할 경우 환경에 더 적합한 기능은 무엇인가요?

Azure CLI 및 Azure PowerShell

Azure CLI 및 Azure PowerShell은 Azure 리소스를 만들고 관리할 수 있는 명령줄 도구입니다.

Azure CLI

  • Windows, Linux 및 macOS에 설치할 수 있는 플랫폼 간 명령줄 인터페이스
  • Azure Cloud Shell, PowerShell, Bash, Cmd.exe 또는 Docker 컨테이너에서 실행
  • Python 기반
  • 테이블, YAML, TSV 등의 다른 형식 옵션을 사용할 수 있지만 기본적으로 JSON 문자열을 출력
  • JMESPath 쿼리 구문을 사용하여 명령 출력을 쿼리할 수 있음
  • az vm 같은 그룹 및 az vm disk 같은 하위 그룹으로 구성되는 명령 사용
  • 간단한 reference name -command -parameter -parameter value 패턴을 따르는 구문 포함
  • 비동기 작업 지원

Azure PowerShell

  • Windows, Linux 및 macOS에서 실행되는 플랫폼 간 PowerShell 모듈
  • PowerShell, Azure Cloud Shell 또는 Docker 컨테이너에서 로컬로 실행
  • .NET Standard 기반
  • 탭 완성 및 예측 IntelliSense 제공
  • .NET 개체 반환
  • 쉽게 검색할 수 있도록 Verb-Noun 명령 이름 사용

Bicep 및 Terraform

Bicep

Bicep은 선언적 구문을 사용하여 Azure 리소스를 배포하는 DSL(도메인 특정 언어)입니다. Bicep 파일에서 Azure에 배포할 인프라를 정의합니다. 그런 다음, 개발 수명 주기 내내 해당 파일을 사용하여 인프라를 배포합니다. 리소스는 일관된 방식으로 배포됩니다.

Bicep는 간결한 구문, 신뢰할 수 있는 형식 안전성 및 코드 다시 사용에 대한 지원을 제공합니다. Bicep은 Azure에서 IaC 솔루션에 대한 좋은 작성 환경을 제공합니다.

Terraform

Hashicorp Terraform은 클라우드 인프라를 프로비전하고 관리하기 위한 오픈 소스 IaC 도구입니다. 토폴로지의 원하는 상태를 설명하는 구성 파일의 인프라를 코딩합니다. Terraform을 사용하면 Terraform 공급자를 사용하여 퍼블릭 클라우드, 프라이빗 클라우드 및 SaaS(Software as a Service) 서비스와 같은 모든 인프라를 관리할 수 있습니다.

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

도구를 선택할 때는 이전 환경과 현재 작업 환경을 고려합니다. 옵션에 대한 요약은 다음과 같습니다.

  • Azure CLI 구문은 Bash 스크립팅과 유사합니다.
  • Azure PowerShell은 PowerShell 모듈입니다. 명령은 Verb-Noun 명명 체계를 따르고 데이터는 개체로 반환됩니다.
  • Bicep은 선언적 구문을 사용하여 Azure 리소스를 배포하는 DSL입니다.
  • Terraform은 클라우드 인프라를 프로비전하고 관리하기 위한 오픈 소스 IaC 도구입니다.

경험을 활용하고 학습 곡선을 단축하는 도구를 선택하세요. 열린 마음을 가지면 능력을 향상시킬 수 있습니다. 적합한 경우 다른 도구를 사용하세요.