AZ-305 Azure 解決方案架構師 — 第二天課程筆記
Day 1 把治理、計算、非關係性存儲講完了(佔考試 35%),Day 2 進入關聯式資料庫、大數據架構、消息與事件機制。
Azure SQL Database 五種部署方式
| 方式 | 控制程度 | 適用場景 |
|---|---|---|
| SQL on VM | 最高 | 需要 100% 功能相容、完全控制 |
| Managed Instance | 高 | 99% 相容,託管基礎架構的過渡方案 |
| Elastic Pool | 中 | 多個資料庫共享資源 |
| SQL Database | 低 | 單一資料庫,最簡單 |
| 服務連接器 | 低 | 直接連接雲端 SQL 實例 |
微軟的推薦順序很明確:PaaS 優先(Azure SQL Database),安全又簡單。真的需要完全控制才用 SQL on VM。Managed Instance 是過渡方案——沒辦法直接從 VM 跳 PaaS 的時候,先停在 MI 慢慢遷。
架構層級長這樣:SQL Server 實例(邏輯服務器)→ Elastic Pool(彈性池)→ Database(資料庫)。
定價模式與 SKU
三種定價模式
| 模式 | 說明 | 適用場景 |
|---|---|---|
| DTU | 固定計算單位,簡單易懂 | 開發/測試、可預測工作負載 |
| vCore | 半彈性,可指定 CPU/記憶體 | 需要精細控制資源 |
| Serverless | 自動擴縮容 | 不可預測的工作負載 |
三種 SKU 層級
| SKU | 特點 | 適用場景 |
|---|---|---|
| 標準(General Purpose) | 最常選用,有備份保護 | 一般生產、開發型資料庫 |
| 業務關鍵(Business Critical) | 4 個節點自動故障轉移,內建唯讀副本 | 關鍵生產系統 |
| 超大規模(Hyperscale) | 計算存儲分離,彈性擴展 | 超大型資料庫、批次計算 |
Business Critical 的架構有 4 個副本節點,主節點斷網時可以自動切換。Hyperscale 則是計算跟存儲完全分離,各自獨立擴展。
彈性池(Elastic Pool)
讓多個資料庫共享同一組計算資源,實現資料庫級別的自動擴縮容。建立順序是:先建 SQL Server 實例 → 再建彈性池 → 最後建資料庫。
彈性池跟單一資料庫用的是同一套配置層級。
安全性與網路配置
防火牆規則
Azure SQL Database 預設無法透過互聯網存取,必須手動加客戶端 IP。刪除規則之後誰都進不去。建立資料庫的時候記得點「添加當前 IP」,不然自己也連不上。
Private Endpoint
考試必考。透過 VNet 內部網路存取資料庫,不走公網。企業內部存取的標準做法。
身份驗證
三種方式:SQL 驗證(傳統帳密)、Azure AD 驗證(推薦,跟組織身份整合)、雙重驗證(兩種都配,確保備援)。
其他安全功能還有透明加密(TDE)、Always Encrypted、軟刪除、備份保留——這些都可能在考試出現。
大數據架構設計
存儲的重要性遠大於計算跟網路。現代資料大量自動產生(社交媒體、IoT、日誌),收集跟存儲才是核心挑戰。
整個大數據流程長這樣:
1 | 資料來源 → 收集/整理(Data Factory) → 存儲(Data Lake) → 處理/分析(Databricks) → BI(Power BI) |
Data Lake
本質上就是儲存帳戶啟用了「分層命名空間」。安全、低成本、無限容量、什麼資料來源都能接。存的是檔案形式(CSV、JSON、Parquet),不是資料庫形式。
Data Factory
ETL 資料整合工具,低代碼風格,拖拉拽操作。負責加時間戳、刪無用欄位、格式轉換這些事,整理完的資料丟進 Data Lake。
考試考法
給你一張大數據流程圖,挖空某一環節問該用什麼服務。記住:結構化/半結構化檔案(CSV、JSON)→ Data Lake,非結構化檔案(JPG、影片)→ Blob Storage。
Azure Databricks
課程裡有句話印象很深:「沒有 Databricks 就沒有今天的 AI。」
Databricks 是基於 Apache Spark 的第三方開源平台,做資料工程、資料科學、機器學習的。跟 Data Factory 的差別在於:Databricks 更強大更靈活,但需要寫程式碼(Jupyter Notebook);Data Factory 更簡單,是低代碼工具。
計費模式跟 AKS 一樣:平台本身免費(開源的,不能收費),僅在使用計算/儲存/網路資源時才收費。
消息 vs 事件
這兩個概念考試一定會出。
| 消息(Message) | 事件(Event) | |
|---|---|---|
| 範圍 | 應用內部組件間 | 應用與應用之間 |
| 大小 | 小(< 5 KB) | 較大 |
| 模式 | 輪詢(生產者/消費者) | 推送(發佈者/訂閱者) |
| 典型服務 | Storage Queue / Service Bus | Event Hub / Event Grid |
兩種佇列服務
| Storage Queue | Service Bus Queue | |
|---|---|---|
| 容量 | 無上限 | 最大 5 GB |
| 功能 | 基本佇列 | TTL、死信、鎖定、最大傳遞次數 |
| 死信 | 無 | 支援 |
| 定價 | 依存儲量 | 依操作次數 |
決策很單純:不需要額外功能 → Storage Queue,需要 TTL/死信/鎖定 → Service Bus Queue。
Service Bus 的重要設定:最大傳遞次數建議 3-5 次(超過即列為死信)、鎖定持續時間建議 1 分鐘(處理完要回報,否則重新入列)。
事件服務
Event Hub 是主動推送事件給訂閱者的,Event Grid 是事件路由服務。典型場景像是會議邀請郵件自動同步到行事曆再同步到 Teams,或是手機 App 推送通知。
考試速記
| 問題 | 答案 |
|---|---|
| SQL 部署優先順序? | PaaS > VM > MI |
| 多個 DB 共享資源? | Elastic Pool |
| 4 節點自動故障轉移? | Business Critical |
| 計算存儲分離? | Hyperscale |
| 預設能透過網路存取 SQL DB? | 不行,要設防火牆 |
| 內部存取 SQL DB? | Private Endpoint |
| CSV/JSON 存哪? | Data Lake |
| JPG/影片存哪? | Blob Storage |
| ETL 用什麼? | Data Factory |
| ML/資料處理? | Databricks |
| Databricks 收費嗎? | 平台免費,資源使用才收費 |
| 不需功能的佇列? | Storage Queue |
| 需 TTL/死信的佇列? | Service Bus |
| 輪詢模式? | Message |
| 推送模式? | Event |
Day 3 預告:身分驗證/授權、記錄與監視、網路基礎架構,加上還沒講完的 API 集成。
來源:AZ-305 Designing Microsoft Azure Infrastructure Solutions 課程第二天筆記







