系列專欄:從 AWS 視角征服 Azure:AZ-900 30 天通關實戰
難度指數:★☆☆☆☆
核心考點:Azure Portal, Azure CLI, Azure PowerShell, Azure Cloud Shell, Azure Mobile App, ARM (Azure Resource Manager) 統一管理平面, 跨平台支援性(Windows / macOS / Linux / 瀏覽器)
本日 使用了aws kiro-cli(模型為opus 5) 補充gemini.md 偷懶的部分制定了更嚴謹的 寫作規範及 參考順序。
詳見gist https://gist.githubusercontent.com/linjinhsien/7f4792b2f40bfe79e427b37c4524ea7c/raw/39219723d927b0a5c6b9894f2e1b0d06cc259371/gistfile1.txt ,
在經歷了 Day 1 的邏輯資源階層、Day 2 的全球實體架構與 Day 3 的主權合規雲之後,我們已經全面掌握了 Azure 的版圖邊界。
但作為一名雲端架構師或 DevOps 工程師,日常工作中不可或缺的一環就是:「我們到底該拿什麼武器去操控 Azure 資源?」
當你想手動探索功能、撰寫跨平台 CI/CD 自動化腳本、利用 PowerShell 模組批次維運,或者在外出用餐時用手機重啟故障 VM 時,Azure 提供了完整的管理兵器庫。
今日 Day 4 的核心任務,就是要帶你全面拆解 Azure Portal、Azure CLI、Azure PowerShell、Azure Cloud Shell 與 Azure Mobile App 的選型情境與跨平台支援度,並揭開微軟雲端架構最迷人的底層設計——Azure Resource Manager (ARM) 統一管理平面!
許多從 AWS 轉換到 Azure 的工程師常有一個盲點:「在 Azure Portal 上建的虛擬機器,用 Azure CLI 看得到嗎?權限會不會不一樣?」
答案是:100% 看得到,而且行為完全一致!
因為不論你點擊網頁、敲下指令碼還是執行 SDK,所有請求最終都會發送給同一個核心大腦——ARM API。
| 管理工具類別 | AWS 對應工具 | Azure 對應工具 | 運作環境與跨平台支援 | 核心特色與最佳適用情境 | AZ-900 關鍵考點 |
|---|---|---|---|---|---|
| 圖形化網頁介面 | AWS Management Console | Azure Portal | 任何支援現代瀏覽器的設備(Chrome, Edge, Safari, Firefox) | • 圖形化 GUI 介面,最適合初學者探索、可視化監控與手動調整。• 支援自訂儀表板 (Custom Dashboards) 與跨訂閱資源搜尋。 | • 不適合大規模重複性部署或自動化任務。 |
| 跨平台命令列 | AWS CLI | Azure CLI | 可安裝於 Windows、macOS、Linux(支援 Docker 容器) | • 跨平台命令列工具,指令皆以 az 開頭(如 az vm create)。• 輸出預設為 JSON,易於與 Bash / Linux 腳本與 CI/CD 管線整合。 |
• 跨平台:可在 macOS 與 Linux 終端機直接執行。 |
| Cmdlet 指令碼模組 | AWS Tools for PowerShell | Azure PowerShell (Az 模組) |
可安裝於 Windows、macOS、Linux(需 PowerShell 7+) | • 以 PowerShell Cmdlet 為基礎,採用「動詞-名詞」語法(如 New-AzVM, Get-AzResourceGroup)。• 物件導向輸出,最適合熟悉 Windows / .NET 生態系的維運工程師。 |
• 跨平台:過去僅限 Windows,現在透過 PowerShell Core 亦可跑在 Linux/macOS 上。 |
| 瀏覽器內建終端機 | AWS CloudShell | Azure Cloud Shell | 免安裝!直接在瀏覽器(或 Portal、VS Code、手機 App)中開啟 | • 預先認證 (Pre-authenticated):登入即自動帶入當前 Azure 帳號身分。• 雙核心環境:可自由切換 Bash(預載 Azure CLI)或 PowerShell(預載 Azure PowerShell)。• 需掛載一個 Azure Storage Account (Files) 以持久化保存 $HOME 目錄檔案。 |
• 免安裝任何軟體。• 第一次啟動時必須關聯一個儲存體帳戶。 |
| 行動端 App | AWS Console Mobile App | Azure Mobile App | iOS / Android 行動裝置 | • 提供即時告警通知、健康狀況檢視。• 可執行基本的緊急維運操作(如重啟 VM、停止 Web App),並內建 Cloud Shell 終端。 | • 適合下班或通勤時的緊急突發故障排除,不適合做複雜建置。 |
不論是開發者用 Visual Studio 呼叫 REST API、維運工程師用 Azure CLI 執行腳本,還是架構師在 Portal 點擊按鈕,背後的呼叫路徑如下:
┌────────────────────────────────────────────────────────────────────────┐
│ 🛠️ 各式客戶端管理工具 (Management Clients) │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐│
│ │ Azure Portal │ │ Azure CLI │ │ Azure PS │ │ Cloud Shell ││
│ │ (GUI 網頁) │ │(Bash/跨平台) │ │ (Az 模組) │ │(免安裝瀏覽器)││
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘│
│ │ │ │ │ │
│ │ ┌─────────────┴─────────────────┴─────────────┐ │ │
│ └──►│ HTTPS REST API / SDK 統一請求 │◄──┘ │
│ └──────────────────────┬──────────────────────┘ │
└────────────────────────────────────┼───────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────────────────┐
│ 🏛️ Azure Resource Manager (ARM) 統一控制平面 │
│ • 統一驗證身分 (Microsoft Entra ID) • 統一授權控管 (Azure RBAC) │
│ • 統一套用合規 (Azure Policy) • 統一資源防刪 (Resource Locks) │
│ • 全局操作日誌 (Azure Activity Log) │
└────────────────────────────────────┬───────────────────────────────────┘
│
┌───────────────────────────┼───────────────────────────┐
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│Microsoft.Compute│ │Microsoft.Network│ │Microsoft.Storage│
│ • VMs / VMSS │ │ • VNets / Subnets│ │ • Storage Accts │
│ • App Services │ │ • NSG / Pub IPs │ │ • Blob / Files │
└─────────────────┘ └─────────────────┘ └─────────────────┘
💡 架構師必備心法(ARM 統一性的三大好處):
- 結果一致性:用 Portal 建立的資源,跟用 CLI、PowerShell 或 ARM Template 建立的完全沒有差別。
- 安全與審計一致性:所有請求都會被 Microsoft Entra ID 驗證身分,並被 Azure RBAC 檢查權限,最後寫入 Azure Activity Log(活動記錄)。
- 鎖定與原則全面生效:只要你在 ARM 層級上了「資源鎖 (Resource Lock)」或「合規原則 (Policy)」,不論任何人用哪種工具都無法繞過!
portal.azure.com)。az [group] [subgroup] [action] [parameters]。Az module)形式提供的管理工具,使用 Cmdlet(動詞-名詞,如 New-AzResourceGroup)操作 Azure。Titan 科技的雲端架構逐步成形,但在每週的跨部門工程會議上,開發與維運主管們為了「管理工具」吵成一團:
Linux 維運工程師:「我們團隊平常都在 Ubuntu 環境開發,每天要跑數十個 Bash 自動化腳本來部屬微服務,我們不想用 Windows 工具!」
Mac 前端工程師:「我用 MacBook Pro,有時候需要快速跑指令驗證 API,但我的電腦容量不夠,不想裝一大堆龐大的本機軟體!」
Windows 自動化管理員:「我們公司過去幾年累積了數千行以 Cmdlet 物件導向為主的 PowerShell 腳本,我們希望能繼續沿用現有維運資產!」
CTO 轉頭問你:「架構師,我們公司有 Windows、macOS、Linux 各種環境,還有跨平台的 CI/CD 自動化管線需求。微軟的工具鏈能不能同時滿足所有人?在 CI/CD 跨平台自動化腳本中,你推薦最標準的工具是什麼?」
Az 模組) 在 Windows/Linux/macOS 上無縫執行現有腳本。Az 模組)已可在 PowerShell Core (7+) 上跨平台執行,完美相容舊有資產。以下精選 3 題 關於管理工具的高頻真題進行深度拆解:
【Question】 (選自 AZ-900 官方考古題真題 Question 42)
For each of the following statements, select Yes if the statement is true. Otherwise, select No.
| 題目陳述 (Statements) | Yes / No |
|---|---|
| 1. Azure CLI can be installed on computers that run Windows, macOS, and Linux. | [ ? ] |
| 2. Azure PowerShell can be used from computers that run Linux and macOS. | [ ? ] |
| 3. Azure Portal can be accessed from a tablet or Chromebook that has a web browser. | [ ? ] |
Az PowerShell 模組並支援 PowerShell Core 後,Azure PowerShell 已經可以在 Linux 與 macOS 上順暢運行。【Question】 (選自 AZ-900 考古題真題 Question 88)
You plan to use Azure Cloud Shell to manage Azure resources.
What is required when you use Azure Cloud Shell for the first time?
B
$HOME),以便在不同工作階段(Sessions)之間永久保存你寫的腳本、金鑰與工具設定檔。【Question】 (選自 AZ-900 官方題庫精選)
Review the underlined text. If it makes the statement correct, select "No change is needed". If the statement is incorrect, select the answer choice that makes the statement correct.
Azure CLI, Azure PowerShell, and the Azure Portal all send requests to Azure Resource Manager (ARM) to manage resources.
A (No change is needed)
⚠️ 來源說明:本題改寫自 2020 年 gratisexam AZ-900 題庫(Q31),屬歷史題庫層,已與 Microsoft Learn 交叉驗證,考點至今仍然有效。
【Question】
系統管理員要跑一支 PowerShell 腳本來建立 Azure 資源,需選擇合適的電腦環境。
解法:從一台執行 macOS 且已安裝 PowerShell Core 6.0 的電腦執行該腳本。這個解法可行嗎?
A (Yes)
Az 模組即可建立 Azure 資源,故解法可行。⚠️ 來源說明:本題改寫自 2020 年 gratisexam AZ-900 題庫(Q52),屬歷史題庫層,已與 Microsoft Learn 交叉驗證,考點至今仍然有效。
【Question】
你需要從一台執行 Android 作業系統的平板建立一台新的 Azure 虛擬機器。
解法:使用 Azure Cloud Shell 中的 PowerShell。這個解法可行嗎?
A (Yes)
| 項目 | 內容 |
|---|---|
| 對應課程章節 | 第 3 章 Azure 管理與治理 ▸ 管理 Azure 的入口(p117) |
| 官方考綱領域 | Describe Azure Management & Governance(占比 30–35%) |
| 課程涵蓋範圍 | 介紹 Azure Portal、Azure Cloud Shell、Azure CLI 與 Azure PowerShell 四大工具的基本定義、操作型態(GUI vs CLI vs Scripting)與 Cloud Shell 的快速上手。 |
| 本文補充範圍 | 深入剖析 ARM (Azure Resource Manager) 統一控制平面的架構圖與 API 轉發流程、跨平台作業系統支援矩陣(Windows/macOS/Linux/Chromebook)、Azure Mobile App 行動端定位、Cloud Shell 需綁定 Storage Account 的底層機制,以及與 AWS 對應工具(Console / AWS CLI / CloudShell / Tools for PowerShell)的深度對照。 |
Az) 與 Azure Portal 全都支援 Windows、macOS 與 Linux!學會了用命令列與 Portal 操控 Azure,但如果我們要一鍵部署包含 100 台 VM、VNet 與負載平衡器的整套複雜生產環境,總不能一條條指令手敲吧?
明天 Day 5,我們將正式踏入現代雲端工程師的核心武器庫——【ARM Templates & Bicep】!我們將探索 Infrastructure as Code (IaC) 的精髓,並與 AWS CloudFormation 進行深度對照!