만약 당신이 마이크로소프트 Azure 계정을 가지고 있고 여전히 Azure 포털을 통해서만 자원을 관리하고 있다면, 당신은 놓치고 있는 것이 많습니다. 클릭을 줄이고 생산성을 높이는 최고의 방법 중 하나는 Azure CLI를 사용하는 것입니다.
Azure CLI는 Python으로 작성된 크로스 플랫폼 도구 세트로, 커맨드 라인에서 거의 모든 Azure 자원을 관리할 수 있게 해줍니다. 어떤 운영 체제를 사용하고 있든, Azure CLI는 모든 플랫폼에서 일관된 경험을 제공합니다.
이 튜토리얼에서는 Azure CLI를 시작하는 방법을 배울 것입니다. 초기 설정을 수행하고 다양한 Azure CLI 명령을 사용하여 일부 공통 자원을 생성하고 제거하는 방법을 배울 것입니다.
사전 요구 사항
이 글은 튜토리얼이 될 것입니다. 만약 당신이 단계별로 따라가길 원한다면, 다음 중 적어도 하나가 필요합니다:
- Azure CLI – 이 튜토리얼은 Docker 컨테이너에서 v2.20.0을 사용하지만, 명령어는 다른 플랫폼에서도 모두 동일하게 작동합니다.
- Azure 클라우드 계정 – 이 튜토리얼은 무료 계정을 사용하여 진행할 수 있습니다.
- 마이크로소프트 계정을 통해 Azure 내에서 자원을 생성할 수 있는 권한, 아마도 서비스 주체를 사용하여.
az help
로 도움말 받기
Azure CLI에서 명령을 실행하기 전에 az help
명령어를 사용하는 방법을 배워보세요. Azure CLI에는 풍부하고 다양한 도움말이 있습니다. 이 튜토리얼은 모든 명령을 다룰 수 없으므로 az help
사용 방법을 익히는 것이 중요합니다.
시작하기 위해 도움말 시스템을 탐색하고 다양한 명령에 대한 추가 정보를 어떻게 찾는지 살펴보겠습니다.
일반적인 도움말 예제 탐색하기
예제는 최고의 학습 자료입니다. 필요한 명령을 찾는 예제를 통해 Azure CLI 도움말 시스템을 사용하는 방법을 살펴보겠습니다. 리소스 그룹을 만들기 위한 필요한 명령을 찾는 과정을 통해 이를 확인해 보겠습니다.
터미널을 열고 다음을 실행하세요:
1. az help
명령을 실행합니다. 이 명령은 두 종류의 출력을 반환합니다. 그룹과 하위 그룹입니다.
명령은 그룹으로 구성됩니다. 보통 튜토리얼(또는 문서)에서는 그룹을 “명령”이라고 참조합니다. 그룹은 계층적으로 구성되어 있으며 각 그룹은 Azure 서비스를 나타냅니다.

2. 하위 그룹인 group
을 찾을 때까지 아래로 스크롤합니다. 아래의 설명에서 알 수 있듯이 이 하위 그룹은 리소스 그룹을 관리합니다. 그룹은 알파벳 순서대로 정렬됩니다.

3. 원하는 명령어를 찾았으면 --help
매개변수를 사용하여 실행하십시오. --help
매개변수를 사용하면 변경 사항이 없으며, 그룹 또는 명령어에 대한 모든 도움말 문서를 반환합니다.
group
그룹 및 하나의 하위 그룹 (lock
)과 내부에 다양한 명령이 포함되어 있는 것을 아래에서 볼 수 있습니다.

4. 리소스 그룹을 만들려면 create
명령어가 올바른 명령어로 보입니다. 이제 초기 az group
참조에 더 구체적인 명령을 추가하고 도움말을 찾아보세요.
모든 명령어에 대한 도움말 문서를 보려면
--help
매개변수를 참조하십시오.
--help
매개변수는 이제 create
명령어에 대한 정보를 표시합니다. 명령어에는 아래에 표시된 인수가 있습니다. 이 예에서는 리소스 그룹 및 필수 location
을 지정하는 데 필요한 인수가 있습니다.

az find
를 사용하여 구문 예제 찾기
--help
매개변수를 사용하여 원하는 그룹 또는 명령을 쉽게 찾을 수 없는 경우 az find
명령어를 살펴보세요. 이 명령어는 아래에 표시된 그룹/명령어 참조를 사용하여 구문 예제를 검색합니다.
예를 들어, 위에서 설명한 것처럼 도움말 시스템을 탐색하는 대신 az find
로 한 줄로 동일한 작업을 수행하십시오.

az configure
를 사용하여 기본 구성 할당하기
Azure CLI에는 많은 명령과 기능이 있습니다. 이러한 기능 각각에는 로깅 및 데이터 수집 환경과 같은 다양한 구성이 있습니다. Azure CLI를 처음 설정할 때 완료해야 할 첫 번째 작업 중 하나는 az configure
명령을 실행하는 것입니다.
한 번의 명령으로 az configure
명령은 세 가지 다른 설정을 안내합니다:
- 출력 형식 – Azure CLI가 출력하는 방법에는 일곱 가지가 있습니다.
- 로그 – 모든 Azure CLI 활동을 파일에 로그로 기록하는 기능
- 텔레메트리 – Azure CLI 사용에 관한 정보를 Microsoft에 전송할지 여부를 설정합니다.
시작하려면 이미 Azure CLI가 설치되어 있는 것으로 가정합니다:
1. 터미널 (Bash 또는 PowerShell)을 엽니다.
2. 명령 az configure
를 입력합니다. 모든 설정이 .azure/config 파일에 저장될 것임을 알리는 간단한 메뉴가 표시됩니다. 계속하려면 Y를 누릅니다.

3. 명령은 먼저 원하는 기본 출력 형식을 입력하라는 메시지를 표시합니다. 여기에서 원하는 출력 형식을 선택합니다. 기본 출력 형식은 명령을 실행하거나 오류 메시지를 받은 후 화면에 출력되는 방식을 설정합니다.

아래 예제는
output
매개변수를 사용합니다. 기본으로 선택한 형식과 상관없이 항상output
매개변수로 기본 출력을 재정의할 수 있습니다.
JSON (자바 객체 표기법)

JSONC (주석 및 색상 구문 강조가 포함된 자바 객체 표기법)

표

TSV (탭으로 구분된 값)

YAML (YAML은 마크업 언어가 아닙니다)

YAMLC (주석 및 색상 구문 강조가 포함된 YAML)

없음 – Azure CLI는 오류 또는 경고만 반환합니다.
4. 출력 형식을 설정하면 Azure CLI에서 로깅을 사용하도록 요구됩니다. 여기서 파일에 모든 명령 및 출력을 기록하려면 Y
를 선택하십시오.

Y
를 선택하면 CLI를 사용하는 동안 수집된 모든 명령 및 출력이 포함된 로그가 생성됩니다. 이 로그는 Linux 및 macOS의 $HOME/.azure/logs 디렉터리에 위치하며 Windows의 경우 %USERPROFILE%\.azure\logs에 위치합니다.
아래에서 로그의 예시를 볼 수 있습니다.

az login
5. 그런 다음 Azure CLI에서 Microsoft에게 텔레메트리 데이터를 전송할 것인지 묻습니다. 여기서 Y
를 선택하면 Azure CLI 사용 방법에 대한 익명 정보가 Microsoft로 전송됩니다.

Microsoft가 수집하는 정보에 대한 자세한 내용은 Azure CLI에서 익명 데이터를 수집하는 데 사용되는 Microsoft의 개인 정보 안내를 참조하십시오.
마지막으로, az configure
은 CLI 오브젝트 캐시 유효 시간 값을 설정하라고 요청할 것입니다. 이 값을 기본값인 10으로 유지해야 합니다.

Azure CLI의 문제 해결 중에 Microsoft에서 권장할 때만 CLI 오브젝트 TTL을 변경하십시오.
기본 매개변수 값 설정
Azure CLI에는 위치 및 그룹과 같은 동일한 매개변수를 갖는 여러 명령이 있습니다. 각 명령마다 이러한 매개변수의 값을 매번 입력하는 대신 기본 매개변수 값을 설정할 수 있습니다.
매개변수 기본값을 설정하려면 az configure
의 --defaults
매개변수를 사용하십시오. 이 매개변수를 사용하면 매개변수와 해당 기본값을 정의할 수 있습니다. 예를 들어, 여러 명령에 대해 location
및 group
을 계속 입력하는 것이 지루하다면 문제 없습니다. 몇 가지 기본값을 설정하십시오.
다음 예제에서는 기본 지역(location
)을 westus2
로, 리소스 그룹(group
)을 MyResourceGroup
으로 설정합니다. 이제 location
또는 group
매개변수를 갖는 Azure CLI 명령을 실행할 때마다 Azure CLI가 이러한 매개변수에 값을 자동으로 전달합니다.
컨테이너를 사용하는 경우 각 컨테이너 인스턴스에서 각 컨테이너를 사용하여 기본값을 설정하여 특정 영역, 구독 또는 리소스 그룹을 관리할 수 있습니다. 위의 명령을 사용하여 각 컨테이너에 기본 리전 및 기본 리소스 그룹을 설정하려면 각 컨테이너에 4개의 컨테이너를 만들 수 있습니다.
브라우저를 사용하여 인증하기
Azure CLI를 사용하는 기본 사항을 배웠지만 실제로 아무것도 수행하지 않았습니다. 이제 일부 리소스를 생성하는 단계로 나아가 보겠습니다! 그러나 먼저 명령어 az login
을 사용하여 Azure에 로그인해야 합니다.
여러 Azure 구독이 있는 경우
az account list
명령을 실행하여 모든 구독을 찾습니다. 구독을 찾으면 세션에 사용할 구독을 설정하기 위해az account set --subscription <subscription name>
을(를) 실행합니다. 또한 글로벌subscription
매개변수를 사용하여 명시적으로 구독을 지정할 수도 있습니다.
1. 터미널을 열고 az login
을(를) 실행합니다. 이 명령은 사용자 이름과 암호를 제공할 페이지로 이동하는 브라우저 창을 엽니다.

2. Azure 계정 자격 증명을 제공하거나 아래에 표시된 기존 사용자 계정을 클릭합니다.

3. Azure가 계정을 인증하면 웹 브라우저를 닫고 Azure CLI 세션으로 돌아갑니다. az login
명령은 인증 토큰이 있는지 확인하기 위해 구독에 대한 정보를 반환합니다.

장치 코드를 사용하여 인증하기
만약 브라우저가 없는 시스템이거나 다른 컴퓨터에서 인증 토큰을 다운로드하려면 --use-device-code
매개변수를 사용하세요. 이 매개변수를 사용하면 사용자는 다른 장치에서 제공된 코드를 사용하여 인증할 수 있습니다.
장치 코드를 사용하여 인증하려면 터미널을 열고 다음을 실행하세요:
az login
을 --use-device-code
매개변수와 함께 사용합니다. 이번에는 az login
명령이 브라우저를 열지 않고 대신 다른 컴퓨터의 장치 로그인 페이지에 제공할 코드를 제공합니다.

2. 다른 컴퓨터에서 https://microsoft.com/devicelogin으로 이동하고 제공된 코드를 붙여넣고 다음을 클릭합니다.

3. 이제 Azure에 인증하려면 자격 증명을 입력하고 브라우저를 닫습니다(필요하지 않은 경우).

Azure CLI 세션으로 돌아와서 az login
은 구독 정보를 반환합니다.

Azure CLI 출력 옵션
이미 언급한 대로 Azure CLI는 여러 가지 방식으로 출력을 반환할 수 있습니다. 기본 출력을 정의하고 output
매개변수로 실시간으로 변경할 수 있습니다. 그러나 output
매개변수만이 출력 동작을 변경하는 데 사용되는 유일한 매개변수는 아닙니다.
출력을 변경하려면 다음과 같은 매개변수를 사용하세요.
query
– JMESPath 쿼리 언어를 사용하여 모든 명령의 출력을 필터링합니다. 더 자세한 내용은 this article를 참조하세요.verbose
– Azure에서 생성된 리소스 및 해당 리소스에 대한 확장 정보를 반환합니다.debug
– 디버깅에 사용되는 CLI 작업에 대한 낮은 수준의 정보를 반환합니다.only-show-errors
– 오류를 표시하고 경고를 억제합니다.
리소스 그룹 생성
Azure에 인증되었으므로 권한이 있는 모든 리소스를 자유롭게 관리할 수 있습니다. 먼저 리소스 그룹을 만드는 일반적인 예제를 실행해 봅시다.
Azure CLI가 설치된 컴퓨터에서 Azure에 이미 인증되어 있는 경우 다음을 수행합니다.
다음과 같이 az group create
명령을 사용하여 리소스 그룹을 만듭니다. 이 명령은 북유럽 location
에 TESTGrp라는 resource-group
을 생성하고 모든 verbose
출력을 반환합니다.

2. 이제 Azure가 리소스를 생성했는지 확인합니다. az group list
를 실행합니다.
TESTGrp 리소스 그룹이 생성되었음을 확인하세요.

3. 아마도 확인해야 할 리소스 그룹이 많을 것입니다. 스크롤하는 대신 query
매개변수를 사용하여 목록을 좁힐 수 있습니다. 아래 명령은 JMESPath를 사용하여 북유럽 location
에 있는 리소스 그룹만 반환합니다.

리눅스 가상 머신 만들기
마지막 예제에서는 Azure CLI를 사용하여 Azure VM을 만드는 방법을 배우겠습니다. 가상 머신을 만들고 그 구성을 익히는 것은 좋은 기술입니다. Azure VM 만들기는 클라우드 여정 중 반복해서 수행할 수 있는 일반적인 작업입니다.
이 연습에서는 기본 설정으로 Azure Linux VM을 만들고 이전 섹션에서 생성된 리소스 그룹에 배포합니다.
Azure VM은 디스크 이미지, 가상 네트워크 어댑터, 가상 머신 등과 같이 모든 Azure 리소스로 구성됩니다.
Azure CLI를 사용하여 Azure VM을 만들려면 다음 단계를 따르십시오:
1. 모든 가능한 VM 이미지를 찾으려면 az vm image list
명령을 실행하십시오. 이 명령은 모든 캐시된/오프라인 이미지를 반환합니다. az vm image list
이 데모에서는 아래에 강조된 UbuntuLTS
이미지를 선택하십시오.

Azure CLI는 모든 VM 이미지의 캐시된 목록을 유지합니다. UbuntuLTS 이미지가 나타나지 않으면 업데이트된 목록을 얻기 위해
all
매개변수를 사용하십시오.
2. 가상 머신에 사용할 디스크 이미지를 알게 되면 az vm create
를 사용하여 가상 머신을 생성하세요. 아래 코드 스니펫은 UbuntuLTS image
를 사용하여 resource-group
TESTGrp에 ATAVM1이라는 name
의 VM을 생성합니다. Azure가 VM을 생성할 때 나중에 연결하기 위해 SSH 키 (generate-ssh-keys
)를 생성하고 JSON (output
) 형식으로 결과를 반환합니다.
Azure CLI 명령어를 여러 줄에 걸쳐 작성하는 방법은 뒤에 백슬래시를 붙여서 단일 긴 명령어를 분할합니다.
az vm create
명령에는 VM을 구성하는 다양한 방법이 있습니다. 도움말 시스템이 친구입니다!az vm create --help
명령이 성공적으로 시작되면 아래 스크린샷과 유사한 내용이 표시됩니다.

verbose
매개변수를 사용하면 녹색으로 표시된 실제 REST API 메서드 및 매개변수를 확인할 수 있습니다.
3. 배포가 완료되면 출력의 마지막 부분에 VM에 관한 정보가 표시됩니다. 특히 이 데모에서는 공용 IP 주소를 복사합니다. 이것은 인터넷을 통해 VM에 연결하는 데 필요합니다.

이 시점에서 VM 위의 공용 IP 주소를 사용하여 Ubuntu VM에 SSH로 연결하십시오. 이를 위해 좋아하는 SSH 클라이언트를 열고 다음과 같이 사용자 azureuser로 VM에 연결하십시오. 기본적으로 az vm create
명령은 azureuser라는 로컬 사용자를 만듭니다.

VM에 암호 없이 SSH로 연결할 수 있었던 이유는 VM을 생성할 때
generate-ssh-keys
매개변수를 사용했기 때문입니다. 이로써 개인 키가 ~/.ssh 디렉터리로 다운로드되고 공개 키가 VM에 업로드되어 인증이 가능합니다.
5. 이제 VM과 리소스 그룹을 정리하십시오.
다음 단계
이제 Azure CLI를 사용할 준비가 되었습니다. 이제 일부 리소스를 관리할 준비가 되었습니다! 그럼 다음은 무엇인가요?