Cách cài đặt Azure CLI: Hướng dẫn thực tiễn về cài đặt, xác thực và sử dụng
Tìm hiểu cách cài đặt Azure CLI trên mọi nền tảng, xác thực an toàn và quản lý tài nguyên Azure hiệu quả. Khám phá lệnh, mẹo và kỹ thuật tự động hóa để tăng năng suất.
Quản lý hạ tầng đám mây từng đồng nghĩa với hàng giờ đồng hồ nhấp chuột trong các cổng web và lần mò qua vô số menu. Sau nhiều tháng mệt mỏi với các quy trình thủ công, việc khám phá Azure CLI đã hoàn toàn thay đổi cách tôi tiếp cận quản lý tài nguyên đám mây. Đây không chỉ là một hướng dẫn cài đặt khác; mà là lộ trình giúp bạn làm chủ công cụ đa nền tảng mạnh mẽ nhất của Microsoft để quản trị Azure.
> Bắt đầu với Azure Cloud Shell để truy cập ngay lập tức mà không cần cài đặt phức tạp.
Azure CLI mang đến trải nghiệm thống nhất và mạnh mẽ để quản lý tài nguyên Azure trên tất cả các hệ điều hành chính.
Azure CLI là gì?
Azure CLI là cách trực tiếp nhất để kiểm soát tài nguyên đám mây của bạn. Nó thay thế những giới hạn của trình duyệt web bằng một giao diện có thể lập trình kịch bản, kết nối trực tiếp với các API cốt lõi của Azure. Nhờ đó, bạn có thể tự động hóa ở quy mô lớn, với các lệnh nhất quán và đáng tin cậy trên mọi hệ điều hành.
Điều tôi thích ở CLI là nó cho phép tôi khám phá dịch vụ khi học, rồi ghi lại chính xác các bước đó vào một script khi sẵn sàng xây dựng thật. Bí quyết không phải là học thuộc lệnh—mà là thành thạo cách xin trợ giúp với az findhoặc --help.
Azure CLI tận dụng mô hình Azure Resource Manager, cung cấp quyền truy cập nhất quán tới tất cả dịch vụ Azure thông qua một cấu trúc lệnh thống nhất. Quyết định kiến trúc này có nghĩa là dù bạn đang quản lý máy ảo, tài khoản lưu trữ hay cấu hình mạng phức tạp, bạn vẫn làm việc với cùng một API nền tảng đang vận hành chính Azure Portal.
Mọi lệnh Azure CLI đều được thống nhất qua Azure Resource Manager (ARM), cùng động cơ đang vận hành Azure Portal.
Azure CLI so với Azure Portal
Sau khi đã quản lý hàng trăm triển khai Azure qua cả hai giao diện, CLI trở nên không thể thiếu cho:
Tự động hóa và khả năng mở rộng: Script có thể quản lý hàng chục tài nguyên cùng lúc, điều bất khả khi khi thao tác thủ công trên Portal
Tích hợp kiểm soát phiên bản: Các lệnh hạ tầng trở thành mã, được theo dõi và rà soát như mọi hiện vật phần mềm khác
Tính nhất quán đa nền tảng: Cùng một lệnh hoạt động giống hệt trên Windows, Linux và macOS
Tốc độ và hiệu quả: Quản trị viên giàu kinh nghiệm có thể thực thi thao tác phức tạp trong vài giây thay vì vài phút
Cách cài đặt Azure CLI
Bước đầu tiên là cài đặt Azure CLI, nhưng đây cũng là nơi nhiều người dễ vướng. Cách phù hợp cho một chiếc Mac cá nhân hoàn toàn khác với nhu cầu của doanh nghiệp có máy Windows bị giới hạn quyền. Hãy cùng xem qua các lựa chọn để bạn làm đúng ngay từ đầu và tránh xung đột phiên bản hoặc khiến bộ phận IT bực bội.
Cài đặt trên các nền tảng khác nhau
Phương thức cài đặt trên Windows
Người dùng Windows có nhiều lộ trình cài đặt, phù hợp với các yêu cầu tổ chức khác nhau:
Trình quản lý gói WinGet (Khuyến nghị cho nhà phát triển cá nhân):
Lệnh trên sử dụng trình quản lý gói hiện đại của Windows để cập nhật tự động và cài đặt sạch.
Trình cài đặt MSI (Tốt nhất cho triển khai doanh nghiệp):
Tải MSI mới nhất từ trang tải xuống Azure CLI chính thức và làm theo trình hướng dẫn cài đặt. Phương thức này cho phép kiểm soát tốt nhất đối với thư mục cài đặt và tích hợp hệ thống.
Cài đặt MSI qua PowerShell (Lý tưởng cho script thiết lập tự động):
Chạy Azure CLI trong Docker mang lại sự tách biệt hoàn toàn:
docker run -it mcr.microsoft.com/azure-cli:latestĐược hỗ trợ bởi
Lệnh này khởi chạy một container tương tác với Azure CLI đã được cài đặt và cấu hình sẵn.
Azure Cloud Shell: Tùy chọn không cần cài đặt
Azure Cloud Shell cho phép truy cập CLI ngay lập tức mà không cần cài đặt cục bộ. Môi trường dựa trên trình duyệt này được cấu hình sẵn với Azure CLI phiên bản mới nhất và bao gồm các công cụ bổ sung như terraform, kubectl và nhiều trình soạn thảo văn bản.
Kiểm tra phiên bản và cập nhật
Sau khi cài đặt, hãy xác minh thiết lập của bạn với thông tin phiên bản chi tiết:
Lệnh này trả về JSON chi tiết hiển thị phiên bản Azure CLI, thành phần lõi và các phần mở rộng đã cài.
Hiểu đầu ra này giúp khắc phục vấn đề tương thích và đảm bảo script của bạn nhắm tới phiên bản CLI phù hợp. Microsoft công bố ghi chú phát hành chi tiết ghi lại thay đổi phá vỡ và tính năng mới.
> Luôn kiểm tra tính tương thích của phần mở rộng khi nâng cấp phiên bản Azure CLI.
Xác thực với Azure CLI
Xác thực là nền tảng bảo mật cho trải nghiệm Azure CLI của bạn, với những thay đổi chính sách gần đây đang định hình lại cách tổ chức quản lý thông tin xác thực. Chiến lược xác thực hiện đại phải cân bằng yêu cầu bảo mật với hiệu quả vận hành, đặc biệt khi Microsoft áp dụng các tiêu chuẩn xác thực nghiêm ngặt hơn trên mọi dịch vụ Azure.
Phương thức xác thực
Đăng nhập tự động qua Azure Cloud Shell
Cloud Shell tự động xác thực bằng phiên Azure Portal hiện tại của bạn. Sự tích hợp liền mạch này loại bỏ sự phức tạp khi xác thực cho các tình huống tương tác, rất phù hợp để học tập và các tác vụ quản trị phát sinh.
Đăng nhập tương tác
Cách xác thực tiêu chuẩn sử dụng device code flow:
Phương thức này loại bỏ gánh nặng quản lý thông tin xác thực cho ứng dụng chạy trong Azure.
Xác thực bằng service principal
Cách tiếp cận dựa trên thông tin xác thực cũ (Hiện không tuân thủ nếu không có workload identity federation):
Phương thức xác thực dựa trên mật khẩu này là hệ thống bị ảnh hưởng chính bởi việc áp dụng MFA vào tháng 9/2025. Các script dùng phương thức này có khả năng sẽ thất bại và cần được cập nhật.
az login --service-principal --username<app-id>--password<password>--tenant<tenant-id>Được hỗ trợ bởi
Lệnh này xác thực bằng thông tin xác thực ứng dụng cho các kịch bản tự động.
Vượt qua quy định bắt buộc MFA vào tháng 10/2025
Bắt đầu từ ngày 1 tháng 10 năm 2025, việc áp dụng bắt buộc xác thực đa yếu tố (MFA) của Microsoft sẽ có hiệu lực. Nếu bạn dùng service principal với xác thực dựa trên mật khẩu, các script tự động của bạn sẽ thất bại sau ngày này. Đây là thay đổi quan trọng nhất đối với tự động hóa Azure CLI trong nhiều năm.
Bản cập nhật bảo mật này thay đổi căn bản cách các tổ chức tiếp cận tự động hóa Azure CLI. Nó ảnh hưởng đến các mẫu xác thực service principal và yêu cầu chuyển sang workload identity cho nhiều kịch bản tự động.
> Tự động hóa của bạn đang gặp rủi ro. Hãy ưu tiên di chuyển sang workload identity federation ngay để tránh gián đoạn dịch vụ vào ngày 1 tháng 10.
Kế hoạch hành động 4 bước để khắc phục tự động hóa bị lỗi và tuân thủ yêu cầu MFA mới.
Lệnh này trả về access token kèm chi tiết thời hạn cho mục đích lập trình.
Bắt đầu với các lệnh Azure CLI
Làm chủ lệnh bắt đầu bằng việc hiểu triết lý tổ chức và cơ chế khám phá của CLI. Thay vì học thuộc hàng trăm lệnh, chìa khóa là học cách điều hướng hệ sinh thái dịch vụ đồ sộ của Azure một cách hiệu quả thông qua hệ thống trợ giúp thông minh của CLI.
Tìm lệnh
Tính năng khám phá của Azure CLI giảm đáng kể đường cong học tập:
Lệnh trợ giúp này hiển thị tham số, nhóm con và ví dụ thực tế để tham chiếu ngay.
Dùng "az find" để nhận gợi ý hỗ trợ AI và tìm chính xác lệnh bạn cần.
Cấu trúc lệnh
Azure CLI tuân theo cấu trúc phân cấp nhất quán: az <group> <subgroup> <command> [parameters]
Ví dụ tạo máy ảo:
az vm create --resource-group myResourceGroup --name myVM --image UbuntuLTS --admin-username azureuser --generate-ssh-keysĐược hỗ trợ bởi
Lệnh này tạo một máy ảo với các tham số cấu hình chỉ định.
Tham số toàn cục
Một số tham số hoạt động trên mọi lệnh:
- --output hoặc -o: Điều khiển định dạng đầu ra (json, table, yaml, jsonc, tsv)
- --query: Lọc kết quả bằng cú pháp JMESPath
- --verbose: Cung cấp thông tin thực thi chi tiết
- --debug: Hiển thị đầy đủ chi tiết yêu cầu/đáp ứng HTTP
> Dùng --output table để dễ đọc và --output json cho xử lý bằng script
Chế độ tương tác và tính năng năng suất
Chế độ tương tác thay đổi trải nghiệm dòng lệnh với trợ lý thông minh và hướng dẫn theo ngữ cảnh. Cách tiếp cận này thu hẹp khoảng cách giữa học lệnh mới và thực thi tự tin, cung cấp xác thực và gợi ý theo thời gian thực giúp tăng tốc cả giai đoạn khám phá lẫn thực thi.
Chế độ tương tác của Azure CLI
Chế độ tương tác mang đến trải nghiệm dòng lệnh nâng cao:
Lệnh này khởi chạy chế độ tương tác với hoàn thành lệnh, gợi ý tham số và trợ giúp theo ngữ cảnh.
Chế độ tương tác của Azure CLI đưa ra gợi ý thông minh, biến các lệnh phức tạp thành trải nghiệm có hướng dẫn.
Hoàn thành bằng phím Tab
Tăng năng suất nhờ tích hợp với shell:
Bash:
echo'source /etc/bash_completion.d/azure-cli'>> ~/.bashrcĐược hỗ trợ bởi
Lệnh này bật tính năng hoàn thành bằng tab cho lệnh Azure CLI trong Bash.
PowerShell:
Register-ArgumentCompleter-Native -CommandName az -ScriptBlock {...}Được hỗ trợ bởi
Cấu hình PowerShell này bật hoàn thành bằng tab cho lệnh Azure CLI.
Tích hợp VS Code
Phần mở rộng Azure CLI cho Visual Studio Code cung cấp tô màu cú pháp, IntelliSense và terminal tích hợp.
Sử dụng Azure CLI để quản lý tài nguyên
Giờ bạn đã cài và cấu hình CLI, đến lúc đưa nó vào công việc. Đây là phần chúng ta chuyển từ lý thuyết sang thực hành và bắt đầu quản lý tài nguyên Azure thực tế. Chúng ta sẽ đi xa hơn các lệnh đơn lẻ và xem các mẫu bạn dùng hằng ngày để xây dựng, kết nối và quản lý hạ tầng đám mây.
Tác vụ với Resource Group
Resource group là vùng chứa logic cho tài nguyên Azure:
az group create --name myResourceGroup --location eastus
az group list --output table
az group delete --name myResourceGroup --yes --no-waitĐược hỗ trợ bởi
Các lệnh này tạo, liệt kê và xóa resource group với xử lý bất đồng bộ.
Tạo tài nguyên phổ biến
Tạo Máy Ảo:
az vm create \
--resource-group myResourceGroup \--name myVM \--image UbuntuLTS \--size Standard_B2s \
--admin-username azureuser \
--generate-ssh-keysĐược hỗ trợ bởi
Lệnh này tạo máy ảo Linux với xác thực bằng khóa SSH.
Tạo Tài Khoản Lưu Trữ:
az storage account create \--name mystorageaccount \
--resource-group myResourceGroup \--location eastus \--sku Standard_LRS \--kind StorageV2Được hỗ trợ bởi
Lệnh này tạo tài khoản lưu trữ v2 đa dụng với lưu trữ dự phòng cục bộ.
Truy vấn và định dạng đầu ra
Truy vấn JMESPath lọc và biến đổi đầu ra lệnh:
az vm list --query"[].{Name:name, PowerState:powerState}"--output table
az vm list --query"[?location=='eastus'].name"--output tsvĐược hỗ trợ bởi
Các truy vấn JMESPath này trích xuất trường cụ thể và lọc kết quả theo tiêu chí.
> Thành thạo JMESPath để trích xuất đúng dữ liệu bạn cần từ các phản hồi JSON phức tạp.
Tự động hóa với Azure CLI
Tự động hóa biến các lệnh riêng lẻ thành quy trình lặp lại, đáng tin cậy có thể mở rộng vượt ra ngoài thao tác thủ công. Phép màu thực sự xuất hiện khi bạn không còn coi lệnh CLI là tác vụ đơn lẻ mà xây dựng chúng thành hệ thống xử lý mọi thứ từ cấp phát tài nguyên đến khôi phục thảm họa.
Tôi nhớ lần đầu tự động hóa việc làm mới môi trường phát triển hàng tuần. Việc vốn tốn ba giờ nhấp chuột và chờ đợi đã trở thành một script 15 phút tôi có thể chạy khi đang lấy cà phê. Script đó giúp đội ngũ tiết kiệm hàng chục giờ mỗi tháng và loại bỏ lỗi con người vốn xuất hiện trong quy trình thủ công.
> Bắt đầu nhỏ với tự động hóa—tự động hóa các tác vụ lặp đi lặp lại nhất hằng ngày trước, rồi mở rộng thành quy trình hạ tầng hoàn chỉnh
Thực hành tốt khi viết script
Mẫu script vững chắc với xử lý lỗi và ghi nhật ký:
#!/bin/bashset-euo pipefail # Exit on errors, undefined variables, pipe failuresRESOURCE_GROUP="automation-rg"LOCATION="eastus"VM_NAME="automated-vm"log(){echo"[$(date +'%Y-%m-%d %H:%M:%S')] $1"}cleanup(){
log "Cleaning up resources due to script failure"
az group delete --name"$RESOURCE_GROUP"--yes --no-wait 2>/dev/null ||true}trap cleanup ERR
log "Starting Azure resource provisioning"if! az group show --name"$RESOURCE_GROUP"&>/dev/null;then
log "Creating resource group: $RESOURCE_GROUP"
az group create --name"$RESOURCE_GROUP"--location"$LOCATION"fiVM_RESULT=$(az vm create \
--resource-group "$RESOURCE_GROUP"\--name"$VM_NAME"\--image UbuntuLTS \
--generate-ssh-keys \--output json)PUBLIC_IP=$(echo"$VM_RESULT"| jq -r'.publicIpAddress')
log "VM created successfully. Public IP: $PUBLIC_IP"Được hỗ trợ bởi
Mẫu script này triển khai xử lý lỗi toàn diện, ghi nhật ký và cơ chế dọn dẹp.
Bảo mật cho tự động hóa
Không bao giờ hardcode thông tin xác thực trong script. Hãy dùng xác thực dựa trên chứng chỉ khi có thể:
# Certificate-based authentication (recommended)exportARM_CLIENT_ID="your-client-id"exportARM_CERTIFICATE_PATH="/path/to/certificate.pem"exportARM_TENANT_ID="your-tenant-id"
az login --service-principal -u"$ARM_CLIENT_ID" --certificate-path "$ARM_CERTIFICATE_PATH"--tenant"$ARM_TENANT_ID"# Secret-based authentication (use only when certificates aren't feasible)exportARM_CLIENT_ID="your-client-id"exportARM_CLIENT_SECRET="your-client-secret"exportARM_TENANT_ID="your-tenant-id"
az login --service-principal -u"$ARM_CLIENT_ID"-p"$ARM_CLIENT_SECRET"--tenant"$ARM_TENANT_ID"Được hỗ trợ bởi
> Lưu trữ giá trị nhạy cảm trong Azure Key Vault và truy xuất bằng lập trình. Ưu tiên chứng chỉ thay vì secret để tăng cường bảo mật.
Tích hợp pipeline CI/CD
Ví dụ pipeline Azure DevOps YAML:
steps:-task: AzureCLI@2
displayName:'Deploy Infrastructure'inputs:azureSubscription:'Your-Service-Connection'scriptType:'bash'scriptLocation:'inlineScript'inlineScript:|
set -euo pipefail
echo "Creating resource group"
az group create --name $(resourceGroup) --location $(location)Được hỗ trợ bởi
Cấu hình pipeline này tích hợp lệnh Azure CLI vào pipeline triển khai tự động.
Một lượt chạy pipeline thành công trong Azure DevOps thực thi lệnh Azure CLI để tự động hóa triển khai hạ tầng.
Vấn đề thường gặp với Azure CLI và cách khắc phục
Ngay cả những người dày dạn cũng gặp phải lỗi xác thực, lệch phiên bản và xung đột cấu hình có thể làm gián đoạn hiệu suất. Hiểu các mẫu lỗi thường gặp và chiến lược xử lý sẽ biến trở ngại từ “điểm nghẽn quy trình” thành “phiền toái nhỏ” mà bạn có thể giải quyết nhanh chóng và tự tin.
Lỗi xác thực
Vấn đề: Script tự động của tôi dùng az login --service-principal đột nhiên ngừng hoạt động vào tháng 9/2025 với lỗi xác thực.
Giải pháp: Đây là hệ quả trực tiếp của việc áp dụng bắt buộc MFA. Service principal dựa trên mật khẩu giờ bị coi là phương thức xác thực kế thừa và kém an toàn. Bạn phải di chuyển tự động hóa của mình sang mẫu tuân thủ. Tham khảo mục Vượt qua quy định MFA tháng 9/2025 ở trên với kế hoạch 4 bước, tập trung vào triển khai Workload Identity Federation hoặc Xác thực dựa trên chứng chỉ.
Vấn đề: "Vui lòng chạy 'az login' để thiết lập tài khoản" vẫn xuất hiện sau khi đăng nhập thành công.
Giải pháp: Xóa bộ nhớ đệm xác thực và đăng nhập lại:
Một phiên gỡ lỗi đã dạy tôi giá trị của cờ --debug của Azure CLI khi đối mặt với những bí ẩn xác thực. Điều tưởng như lỗi đăng nhập ngẫu nhiên hóa ra là do proxy doanh nghiệp can thiệp vào trao đổi token. Đầu ra debug cho thấy chính xác các endpoint HTTP bị chặn, dẫn tới xử lý nhanh chóng và tiết kiệm hàng giờ phỏng đoán.
az account clear
az login --debug
az account list --output tableĐược hỗ trợ bởi
Các lệnh này xóa thông tin xác thực được lưu và cung cấp gỡ lỗi xác thực chi tiết, hé lộ vấn đề về mạng, chứng chỉ hoặc chính sách.
Lỗi không tìm thấy lệnh
Vấn đề: "az: command not found" sau khi cài đặt.
Giải pháp: Lỗi kinh điển này vẫn đánh lừa cả lập trình viên kỳ cựu. Tôi từng mất cả giờ vì lỗi 'command not found' trên một VM Linux mới, chỉ để nhận ra mình quên chạy source ~/.bashrc sau khi cài. Một sai sót đơn giản mà ngay cả người dày dạn cũng gặp.
which az
echo'export PATH=$PATH:/usr/local/bin'>> ~/.bashrc
source ~/.bashrcĐược hỗ trợ bởi
Các lệnh này xác định vị trí cài Azure CLI và cập nhật cấu hình PATH của shell.
Tương thích phiên bản
Vấn đề: Script thất bại với lỗi "argument not recognized".
Giải pháp: Kiểm tra tương thích phiên bản CLI và cập nhật như chi tiết trong mục kiểm tra phiên bản:
Lệnh này hiển thị phiên bản hiện tại. Tham khảo mục cài đặt để lấy lệnh cập nhật theo nền tảng.
Hãy nhớ giữ Azure CLI luôn cập nhật để có tính năng mới và bản vá bảo mật.
Mẹo năng suất nâng cao
Làm chủ vượt ra ngoài việc chạy lệnh cơ bản để bao gồm kỹ thuật truy vấn tinh vi, tối ưu cấu hình và tăng hiệu năng—những điều phân biệt chuyên gia thực thụ. Các mẫu nâng cao này trở nên thiết yếu khi quản lý môi trường Azure quy mô lớn, nơi hiệu quả và độ chính xác ảnh hưởng trực tiếp đến thành công vận hành.
Làm chủ truy vấn JMESPath
Truy vấn nâng cao biến đổi việc trích xuất dữ liệu:
az vm list --query"[?tags.Environment=='production' && tags.Team=='backend'].{Name:name, Location:location, Size:hardwareProfile.vmSize}"Được hỗ trợ bởi
Truy vấn nâng cao này lọc VM theo nhiều điều kiện thẻ và trích xuất thuộc tính cụ thể.
Biến JSON ngồn ngộn thành dữ liệu gọn gàng, hữu dụng chỉ với một truy vấn JMESPath.
Quản lý cấu hình
Tùy biến hành vi CLI qua thiết lập bền vững để tiết kiệm thời gian cho tác vụ lặp lại:
az configure --defaultsoutput=table location=eastus group=myDefaultRG
az configure --list-defaultsĐược hỗ trợ bởi
Các lệnh này đặt giá trị mặc định cho tham số phổ biến và hiển thị cấu hình hiện tại. Những thiết lập này được lưu tại ~/.azure/config và chỉ áp dụng cho hồ sơ người dùng của bạn, rất phù hợp để cá nhân hóa trải nghiệm Azure CLI mà không ảnh hưởng người dùng khác trên cùng hệ thống.
Tối ưu hiệu năng
Cải thiện khi vận hành quy mô lớn:
az vm list --query"[].name"--output tsv |xargs-I{}-P10 az vm show --name{} --resource-group myRG
az vm start --name myVM --resource-group myRG --no-waitĐược hỗ trợ bởi
Các lệnh này thực thi thao tác song song và dùng xử lý bất đồng bộ để cải thiện hiệu năng.
Kết luận
Làm chủ Azure CLI giúp tinh giản quản trị đám mây, cho phép bạn kiểm soát tài nguyên hiệu quả và tự động hóa quy trình một cách tự tin. Bắt đầu với chế độ tương tác hoặc Azure Cloud Shell, rồi dần dùng script cho các lần triển khai lặp lại.
Chúc bạn tự động hóa hiệu quả, hướng tới quy trình Azure thông minh và nhanh hơn!
Install Azure CLI FAQs
Làm sao khắc phục lỗi chứng chỉ SSL khi cài đặt Azure CLI trên mạng doanh nghiệp?⌄
Tường lửa doanh nghiệp thường chặn can thiệp kết nối SSL. Hãy cấu hình trình quản lý gói dùng chứng chỉ của doanh nghiệp hoặc cài đặt theo phương thức ngoại tuyến bằng các gói đã tải về.
Tôi có thể cài Azure CLI mà không cần quyền quản trị trên Windows không?⌄
Có, hãy sử dụng gói phân phối dạng ZIP được giải nén vào thư mục người dùng. Thêm đường dẫn đã giải nén vào biến môi trường PATH của người dùng.
Tôi nên làm gì nếu cài đặt Azure CLI làm hỏng môi trường Python hiện có?⌄
Azure CLI bao gồm runtime Python riêng. Nếu xảy ra xung đột, hãy gỡ cài đặt và cài lại bằng trình cài MSI trên Windows hoặc dùng trình quản lý gói xử lý đúng phụ thuộc trên các nền tảng khác.
Script Azure CLI có hoạt động giống hệt giữa Windows PowerShell và Linux bash không?⌄
Các lệnh Azure CLI là giống hệt nhau, nhưng tính năng đặc thù của shell như cú pháp biến, dấu phân tách đường dẫn và ký tự xuống dòng khác nhau. Hãy dùng ngôn ngữ script đa nền tảng như Python để đạt tính di động tối đa.
Xử lý khác biệt đường dẫn khi chia sẻ script giữa Windows và Unix như thế nào?⌄
Dùng dấu gạch chéo xuôi trong tham số của Azure CLI (Azure chấp nhận phổ quát) và lưu đường dẫn đặc thù hệ thống trong biến môi trường hoặc tệp cấu hình.
Tôi là một kỹ sư dữ liệu và người xây dựng cộng đồng, làm việc với pipeline dữ liệu, đám mây và công cụ AI, đồng thời viết các hướng dẫn thực hành, tác động cao cho DataCamp và các nhà phát triển mới nổi.
Quản lý hạ tầng đám mây từng đồng nghĩa với hàng giờ đồng hồ nhấp chuột trong các cổng web và lần mò qua vô số menu. Sau nhiều tháng mệt mỏi với các quy trình thủ công, việc khám phá Azure CLI đã hoàn toàn thay đổi cách tôi tiếp cận quản lý tài nguyên đám mây. Đây không chỉ là một hướng dẫn cài đặt khác; mà là lộ trình giúp bạn làm chủ công cụ đa nền tảng mạnh mẽ nhất của Microsoft để quản trị Azure.
> Bắt đầu với Azure Cloud Shell để truy cập ngay lập tức mà không cần cài đặt phức tạp.
Azure CLI mang đến trải nghiệm thống nhất và mạnh mẽ để quản lý tài nguyên Azure trên tất cả các hệ điều hành chính.
Azure CLI là gì?
Azure CLI là cách trực tiếp nhất để kiểm soát tài nguyên đám mây của bạn. Nó thay thế những giới hạn của trình duyệt web bằng một giao diện có thể lập trình kịch bản, kết nối trực tiếp với các API cốt lõi của Azure. Nhờ đó, bạn có thể tự động hóa ở quy mô lớn, với các lệnh nhất quán và đáng tin cậy trên mọi hệ điều hành.
Điều tôi thích ở CLI là nó cho phép tôi khám phá dịch vụ khi học, rồi ghi lại chính xác các bước đó vào một script khi sẵn sàng xây dựng thật. Bí quyết không phải là học thuộc lệnh—mà là thành thạo cách xin trợ giúp với
az findhoặc--help.Azure CLI tận dụng mô hình Azure Resource Manager, cung cấp quyền truy cập nhất quán tới tất cả dịch vụ Azure thông qua một cấu trúc lệnh thống nhất. Quyết định kiến trúc này có nghĩa là dù bạn đang quản lý máy ảo, tài khoản lưu trữ hay cấu hình mạng phức tạp, bạn vẫn làm việc với cùng một API nền tảng đang vận hành chính Azure Portal.
Mọi lệnh Azure CLI đều được thống nhất qua Azure Resource Manager (ARM), cùng động cơ đang vận hành Azure Portal.
Azure CLI so với Azure Portal
Sau khi đã quản lý hàng trăm triển khai Azure qua cả hai giao diện, CLI trở nên không thể thiếu cho:
Cách cài đặt Azure CLI
Bước đầu tiên là cài đặt Azure CLI, nhưng đây cũng là nơi nhiều người dễ vướng. Cách phù hợp cho một chiếc Mac cá nhân hoàn toàn khác với nhu cầu của doanh nghiệp có máy Windows bị giới hạn quyền. Hãy cùng xem qua các lựa chọn để bạn làm đúng ngay từ đầu và tránh xung đột phiên bản hoặc khiến bộ phận IT bực bội.
Cài đặt trên các nền tảng khác nhau
Phương thức cài đặt trên Windows
Người dùng Windows có nhiều lộ trình cài đặt, phù hợp với các yêu cầu tổ chức khác nhau:
Trình quản lý gói WinGet (Khuyến nghị cho nhà phát triển cá nhân):
Lệnh trên sử dụng trình quản lý gói hiện đại của Windows để cập nhật tự động và cài đặt sạch.
Trình cài đặt MSI (Tốt nhất cho triển khai doanh nghiệp):
Tải MSI mới nhất từ trang tải xuống Azure CLI chính thức và làm theo trình hướng dẫn cài đặt. Phương thức này cho phép kiểm soát tốt nhất đối với thư mục cài đặt và tích hợp hệ thống.
Cài đặt MSI qua PowerShell (Lý tưởng cho script thiết lập tự động):
Script PowerShell này tự động tải về, cài đặt và dọn dẹp gói MSI.
> Dùng WinGet cho máy phát triển và trình cài MSI cho môi trường sản xuất
Cài đặt trên Linux và WSL
Các bản phân phối Linux cần những trình quản lý gói khác nhau, hiểu rõ distro của bạn sẽ tránh được lỗi cài đặt thường gặp:
Ubuntu/Debian (apt):
Script cài đặt này tự động cấu hình kho gói của Microsoft và cài Azure CLI.
Red Hat Enterprise Linux/CentOS Stream (dnf):
Các lệnh này nhập khóa ký của Microsoft và cấu hình kho gói trước khi cài đặt.
Script cài đặt dùng chung:
Script này tự phát hiện distro của bạn và tự động dùng trình quản lý gói phù hợp.
Cài đặt trên macOS
Người dùng macOS được lợi từ quản lý gói của Homebrew:
Lệnh này cập nhật danh sách gói của Homebrew và cài Azure CLI phiên bản mới nhất.
Đối với hệ thống không có Homebrew:
Cách tiếp cận bằng Docker Container
Chạy Azure CLI trong Docker mang lại sự tách biệt hoàn toàn:
Lệnh này khởi chạy một container tương tác với Azure CLI đã được cài đặt và cấu hình sẵn.
Azure Cloud Shell: Tùy chọn không cần cài đặt
Azure Cloud Shell cho phép truy cập CLI ngay lập tức mà không cần cài đặt cục bộ. Môi trường dựa trên trình duyệt này được cấu hình sẵn với Azure CLI phiên bản mới nhất và bao gồm các công cụ bổ sung như terraform, kubectl và nhiều trình soạn thảo văn bản.
Kiểm tra phiên bản và cập nhật
Sau khi cài đặt, hãy xác minh thiết lập của bạn với thông tin phiên bản chi tiết:
Lệnh này trả về JSON chi tiết hiển thị phiên bản Azure CLI, thành phần lõi và các phần mở rộng đã cài.
Hiểu đầu ra này giúp khắc phục vấn đề tương thích và đảm bảo script của bạn nhắm tới phiên bản CLI phù hợp. Microsoft công bố ghi chú phát hành chi tiết ghi lại thay đổi phá vỡ và tính năng mới.
> Luôn kiểm tra tính tương thích của phần mở rộng khi nâng cấp phiên bản Azure CLI.
Xác thực với Azure CLI
Xác thực là nền tảng bảo mật cho trải nghiệm Azure CLI của bạn, với những thay đổi chính sách gần đây đang định hình lại cách tổ chức quản lý thông tin xác thực. Chiến lược xác thực hiện đại phải cân bằng yêu cầu bảo mật với hiệu quả vận hành, đặc biệt khi Microsoft áp dụng các tiêu chuẩn xác thực nghiêm ngặt hơn trên mọi dịch vụ Azure.
Phương thức xác thực
Đăng nhập tự động qua Azure Cloud Shell
Cloud Shell tự động xác thực bằng phiên Azure Portal hiện tại của bạn. Sự tích hợp liền mạch này loại bỏ sự phức tạp khi xác thực cho các tình huống tương tác, rất phù hợp để học tập và các tác vụ quản trị phát sinh.
Đăng nhập tương tác
Cách xác thực tiêu chuẩn sử dụng device code flow:
Lệnh này mở trình duyệt mặc định của bạn để xác thực Microsoft Entra ID với xử lý MFA tự động.
Dành cho môi trường không có giao diện đồ họa (headless):
Lệnh này hiển thị một mã thiết bị để xác thực tại https://microsoft.com/devicelogin từ bất kỳ thiết bị có internet nào.
Xác thực bằng managed identity
Tài nguyên Azure xác thực bằng managed identity:
Phương thức này loại bỏ gánh nặng quản lý thông tin xác thực cho ứng dụng chạy trong Azure.
Xác thực bằng service principal
Cách tiếp cận dựa trên thông tin xác thực cũ (Hiện không tuân thủ nếu không có workload identity federation):
Phương thức xác thực dựa trên mật khẩu này là hệ thống bị ảnh hưởng chính bởi việc áp dụng MFA vào tháng 9/2025. Các script dùng phương thức này có khả năng sẽ thất bại và cần được cập nhật.
Lệnh này xác thực bằng thông tin xác thực ứng dụng cho các kịch bản tự động.
Vượt qua quy định bắt buộc MFA vào tháng 10/2025
Bắt đầu từ ngày 1 tháng 10 năm 2025, việc áp dụng bắt buộc xác thực đa yếu tố (MFA) của Microsoft sẽ có hiệu lực. Nếu bạn dùng service principal với xác thực dựa trên mật khẩu, các script tự động của bạn sẽ thất bại sau ngày này. Đây là thay đổi quan trọng nhất đối với tự động hóa Azure CLI trong nhiều năm.
Bản cập nhật bảo mật này thay đổi căn bản cách các tổ chức tiếp cận tự động hóa Azure CLI. Nó ảnh hưởng đến các mẫu xác thực service principal và yêu cầu chuyển sang workload identity cho nhiều kịch bản tự động.
> Tự động hóa của bạn đang gặp rủi ro. Hãy ưu tiên di chuyển sang workload identity federation ngay để tránh gián đoạn dịch vụ vào ngày 1 tháng 10.
Kế hoạch hành động 4 bước để khắc phục tự động hóa bị lỗi và tuân thủ yêu cầu MFA mới.
Quản lý subscription
Môi trường sản xuất thường yêu cầu quản lý subscription rõ ràng:
Các lệnh này liệt kê các subscription hiện có và đặt mặc định cho những lệnh tiếp theo.
Access token
Các tình huống nâng cao cần thao tác trực tiếp với access token:
Lệnh này trả về access token kèm chi tiết thời hạn cho mục đích lập trình.
Bắt đầu với các lệnh Azure CLI
Làm chủ lệnh bắt đầu bằng việc hiểu triết lý tổ chức và cơ chế khám phá của CLI. Thay vì học thuộc hàng trăm lệnh, chìa khóa là học cách điều hướng hệ sinh thái dịch vụ đồ sộ của Azure một cách hiệu quả thông qua hệ thống trợ giúp thông minh của CLI.
Tìm lệnh
Tính năng khám phá của Azure CLI giảm đáng kể đường cong học tập:
Tìm kiếm hỗ trợ AI xác định lệnh phù hợp kèm ví dụ sử dụng.
Để xem chi tiết lệnh cụ thể:
Lệnh trợ giúp này hiển thị tham số, nhóm con và ví dụ thực tế để tham chiếu ngay.
Dùng "az find" để nhận gợi ý hỗ trợ AI và tìm chính xác lệnh bạn cần.
Cấu trúc lệnh
Azure CLI tuân theo cấu trúc phân cấp nhất quán:
az <group> <subgroup> <command> [parameters]Ví dụ tạo máy ảo:
Lệnh này tạo một máy ảo với các tham số cấu hình chỉ định.
Tham số toàn cục
Một số tham số hoạt động trên mọi lệnh:
-
--outputhoặc-o: Điều khiển định dạng đầu ra (json, table, yaml, jsonc, tsv)-
--query: Lọc kết quả bằng cú pháp JMESPath-
--verbose: Cung cấp thông tin thực thi chi tiết-
--debug: Hiển thị đầy đủ chi tiết yêu cầu/đáp ứng HTTP> Dùng --output table để dễ đọc và --output json cho xử lý bằng script
Chế độ tương tác và tính năng năng suất
Chế độ tương tác thay đổi trải nghiệm dòng lệnh với trợ lý thông minh và hướng dẫn theo ngữ cảnh. Cách tiếp cận này thu hẹp khoảng cách giữa học lệnh mới và thực thi tự tin, cung cấp xác thực và gợi ý theo thời gian thực giúp tăng tốc cả giai đoạn khám phá lẫn thực thi.
Chế độ tương tác của Azure CLI
Chế độ tương tác mang đến trải nghiệm dòng lệnh nâng cao:
Lệnh này khởi chạy chế độ tương tác với hoàn thành lệnh, gợi ý tham số và trợ giúp theo ngữ cảnh.
Chế độ tương tác của Azure CLI đưa ra gợi ý thông minh, biến các lệnh phức tạp thành trải nghiệm có hướng dẫn.
Hoàn thành bằng phím Tab
Tăng năng suất nhờ tích hợp với shell:
Bash:
Lệnh này bật tính năng hoàn thành bằng tab cho lệnh Azure CLI trong Bash.
PowerShell:
Cấu hình PowerShell này bật hoàn thành bằng tab cho lệnh Azure CLI.
Tích hợp VS Code
Phần mở rộng Azure CLI cho Visual Studio Code cung cấp tô màu cú pháp, IntelliSense và terminal tích hợp.
Sử dụng Azure CLI để quản lý tài nguyên
Giờ bạn đã cài và cấu hình CLI, đến lúc đưa nó vào công việc. Đây là phần chúng ta chuyển từ lý thuyết sang thực hành và bắt đầu quản lý tài nguyên Azure thực tế. Chúng ta sẽ đi xa hơn các lệnh đơn lẻ và xem các mẫu bạn dùng hằng ngày để xây dựng, kết nối và quản lý hạ tầng đám mây.
Tác vụ với Resource Group
Resource group là vùng chứa logic cho tài nguyên Azure:
Các lệnh này tạo, liệt kê và xóa resource group với xử lý bất đồng bộ.
Tạo tài nguyên phổ biến
Tạo Máy Ảo:
Lệnh này tạo máy ảo Linux với xác thực bằng khóa SSH.
Tạo Tài Khoản Lưu Trữ:
Lệnh này tạo tài khoản lưu trữ v2 đa dụng với lưu trữ dự phòng cục bộ.
Truy vấn và định dạng đầu ra
Truy vấn JMESPath lọc và biến đổi đầu ra lệnh:
Các truy vấn JMESPath này trích xuất trường cụ thể và lọc kết quả theo tiêu chí.
> Thành thạo JMESPath để trích xuất đúng dữ liệu bạn cần từ các phản hồi JSON phức tạp.
Tự động hóa với Azure CLI
Tự động hóa biến các lệnh riêng lẻ thành quy trình lặp lại, đáng tin cậy có thể mở rộng vượt ra ngoài thao tác thủ công. Phép màu thực sự xuất hiện khi bạn không còn coi lệnh CLI là tác vụ đơn lẻ mà xây dựng chúng thành hệ thống xử lý mọi thứ từ cấp phát tài nguyên đến khôi phục thảm họa.
Tôi nhớ lần đầu tự động hóa việc làm mới môi trường phát triển hàng tuần. Việc vốn tốn ba giờ nhấp chuột và chờ đợi đã trở thành một script 15 phút tôi có thể chạy khi đang lấy cà phê. Script đó giúp đội ngũ tiết kiệm hàng chục giờ mỗi tháng và loại bỏ lỗi con người vốn xuất hiện trong quy trình thủ công.
> Bắt đầu nhỏ với tự động hóa—tự động hóa các tác vụ lặp đi lặp lại nhất hằng ngày trước, rồi mở rộng thành quy trình hạ tầng hoàn chỉnh
Thực hành tốt khi viết script
Mẫu script vững chắc với xử lý lỗi và ghi nhật ký:
Mẫu script này triển khai xử lý lỗi toàn diện, ghi nhật ký và cơ chế dọn dẹp.
Bảo mật cho tự động hóa
Không bao giờ hardcode thông tin xác thực trong script. Hãy dùng xác thực dựa trên chứng chỉ khi có thể:
> Lưu trữ giá trị nhạy cảm trong Azure Key Vault và truy xuất bằng lập trình. Ưu tiên chứng chỉ thay vì secret để tăng cường bảo mật.
Tích hợp pipeline CI/CD
Ví dụ pipeline Azure DevOps YAML:
Cấu hình pipeline này tích hợp lệnh Azure CLI vào pipeline triển khai tự động.
Một lượt chạy pipeline thành công trong Azure DevOps thực thi lệnh Azure CLI để tự động hóa triển khai hạ tầng.
Vấn đề thường gặp với Azure CLI và cách khắc phục
Ngay cả những người dày dạn cũng gặp phải lỗi xác thực, lệch phiên bản và xung đột cấu hình có thể làm gián đoạn hiệu suất. Hiểu các mẫu lỗi thường gặp và chiến lược xử lý sẽ biến trở ngại từ “điểm nghẽn quy trình” thành “phiền toái nhỏ” mà bạn có thể giải quyết nhanh chóng và tự tin.
Lỗi xác thực
Vấn đề: Script tự động của tôi dùng
az login --service-principalđột nhiên ngừng hoạt động vào tháng 9/2025 với lỗi xác thực.Giải pháp: Đây là hệ quả trực tiếp của việc áp dụng bắt buộc MFA. Service principal dựa trên mật khẩu giờ bị coi là phương thức xác thực kế thừa và kém an toàn. Bạn phải di chuyển tự động hóa của mình sang mẫu tuân thủ. Tham khảo mục Vượt qua quy định MFA tháng 9/2025 ở trên với kế hoạch 4 bước, tập trung vào triển khai Workload Identity Federation hoặc Xác thực dựa trên chứng chỉ.
Vấn đề: "Vui lòng chạy 'az login' để thiết lập tài khoản" vẫn xuất hiện sau khi đăng nhập thành công.
Giải pháp: Xóa bộ nhớ đệm xác thực và đăng nhập lại:
Một phiên gỡ lỗi đã dạy tôi giá trị của cờ
--debugcủa Azure CLI khi đối mặt với những bí ẩn xác thực. Điều tưởng như lỗi đăng nhập ngẫu nhiên hóa ra là do proxy doanh nghiệp can thiệp vào trao đổi token. Đầu ra debug cho thấy chính xác các endpoint HTTP bị chặn, dẫn tới xử lý nhanh chóng và tiết kiệm hàng giờ phỏng đoán.Các lệnh này xóa thông tin xác thực được lưu và cung cấp gỡ lỗi xác thực chi tiết, hé lộ vấn đề về mạng, chứng chỉ hoặc chính sách.
Lỗi không tìm thấy lệnh
Vấn đề: "az: command not found" sau khi cài đặt.
Giải pháp: Lỗi kinh điển này vẫn đánh lừa cả lập trình viên kỳ cựu. Tôi từng mất cả giờ vì lỗi 'command not found' trên một VM Linux mới, chỉ để nhận ra mình quên chạy
source ~/.bashrcsau khi cài. Một sai sót đơn giản mà ngay cả người dày dạn cũng gặp.Các lệnh này xác định vị trí cài Azure CLI và cập nhật cấu hình PATH của shell.
Tương thích phiên bản
Vấn đề: Script thất bại với lỗi "argument not recognized".
Giải pháp: Kiểm tra tương thích phiên bản CLI và cập nhật như chi tiết trong mục kiểm tra phiên bản:
Lệnh này hiển thị phiên bản hiện tại. Tham khảo mục cài đặt để lấy lệnh cập nhật theo nền tảng.
Hãy nhớ giữ Azure CLI luôn cập nhật để có tính năng mới và bản vá bảo mật.
Mẹo năng suất nâng cao
Làm chủ vượt ra ngoài việc chạy lệnh cơ bản để bao gồm kỹ thuật truy vấn tinh vi, tối ưu cấu hình và tăng hiệu năng—những điều phân biệt chuyên gia thực thụ. Các mẫu nâng cao này trở nên thiết yếu khi quản lý môi trường Azure quy mô lớn, nơi hiệu quả và độ chính xác ảnh hưởng trực tiếp đến thành công vận hành.
Làm chủ truy vấn JMESPath
Truy vấn nâng cao biến đổi việc trích xuất dữ liệu:
Truy vấn nâng cao này lọc VM theo nhiều điều kiện thẻ và trích xuất thuộc tính cụ thể.
Biến JSON ngồn ngộn thành dữ liệu gọn gàng, hữu dụng chỉ với một truy vấn JMESPath.
Quản lý cấu hình
Tùy biến hành vi CLI qua thiết lập bền vững để tiết kiệm thời gian cho tác vụ lặp lại:
Các lệnh này đặt giá trị mặc định cho tham số phổ biến và hiển thị cấu hình hiện tại. Những thiết lập này được lưu tại
~/.azure/configvà chỉ áp dụng cho hồ sơ người dùng của bạn, rất phù hợp để cá nhân hóa trải nghiệm Azure CLI mà không ảnh hưởng người dùng khác trên cùng hệ thống.Tối ưu hiệu năng
Cải thiện khi vận hành quy mô lớn:
Các lệnh này thực thi thao tác song song và dùng xử lý bất đồng bộ để cải thiện hiệu năng.
Kết luận
Làm chủ Azure CLI giúp tinh giản quản trị đám mây, cho phép bạn kiểm soát tài nguyên hiệu quả và tự động hóa quy trình một cách tự tin. Bắt đầu với chế độ tương tác hoặc Azure Cloud Shell, rồi dần dùng script cho các lần triển khai lặp lại.
Để xây dựng kỹ năng, hãy xem Understanding Microsoft Azure hoặc Microsoft Azure Fundamentals (AZ-900) Track
Chúc bạn tự động hóa hiệu quả, hướng tới quy trình Azure thông minh và nhanh hơn!