在 Azure 上執行 Windows VM

Azure 備份
Azure Blob 儲存體
Azure Resource Manager
Azure 儲存體
Azure 虛擬機器

在 Azure 中佈建虛擬機(VM)除了 VM 本身以外,還需要一些額外的元件,包括網路和記憶體資源。 本文說明在 Azure 上執行 Windows VM 的最佳做法。

架構

Diagram that shows Windows virtual machine in Azure.

下載此架構的 Visio 檔案

工作流程

資源群組

資源群組是保存相關 Azure 資源的邏輯容器。 一般而言,根據資源的存留期和誰將管理資源分組。

將共用相同生命週期的緊密關聯資源放入相同的 資源群組中。 資源群組可讓您將資源部署和監視為群組,並依資源群組追蹤計費成本。 您也可以將資源刪除為集合,這對測試部署非常有用。 指派有意義的資源名稱,以簡化尋找特定資源並瞭解其角色。 如需詳細資訊,請參閱 Azure 資源的建議命名慣例。

虛擬機器

您可以從已發佈的映像清單,或從上傳至 Azure Blob 記憶體的自定義受控映射或虛擬硬碟 (VHD) 檔案布建 VM。

Azure 提供許多不同的虛擬機大小。 如需詳細資訊,請參閱 Azure 中虛擬機的大小。 如果您要將現有的工作負載移至 Azure,請從最符合內部部署伺服器的 VM 大小開始。 然後,以每秒 CPU、記憶體和磁碟輸入/輸出作業來測量實際工作負載的效能,並視需要調整大小。

一般而言,請選擇最接近內部使用者或客戶的 Azure 區域。 並非所有區域都有可用的 VM 大小。 如需詳細資訊,請參閱 依區域的服務。 如需特定區域中可用的 VM 大小清單,請從 Azure CLI 執行下列命令:

az vm list-sizes --location <location>

如需選擇已發佈 VM 映射的詳細資訊,請參閱 尋找 Windows VM 映射

Disks

為了獲得最佳磁碟 I/O 效能,建議您 進階儲存體,以將數據儲存在固態硬碟上。 成本是以布建磁碟的容量為基礎。 IOPS 和輸送量也取決於磁碟大小,因此當您布建磁碟時,請考慮這三個因素(容量、IOPS 和輸送量)。 進階版 記憶體也提供免費高載功能,結合對工作負載模式的瞭解,為 IaaS 基礎結構提供有效的 SKU 選擇和成本優化策略,讓高效能不過度布建,並將未使用的容量成本降至最低。

受控磁碟 為您處理記憶體來簡化磁碟管理。 受控磁碟會為您處理記憶體來簡化磁碟管理。 受控磁碟不需要記憶體帳戶。 您只需指定磁碟的大小和類型,並將其部署為高可用性資源。 受控磁碟也可藉由提供所需的效能來提供成本優化,而不需要過度布建、考慮變動的工作負載模式,以及將未使用的布建容量降到最低。

OS 磁碟是儲存在 Azure 儲存體 中的 VHD,因此即使在主電腦關閉時仍會保存。 我們也建議您建立一或多個 數據磁碟,這些磁碟是用於應用程式數據的持續性 VHD。

暫時磁碟提供無額外成本的良好效能,但具有非持續性、容量有限且僅限於 OS 和暫存磁碟使用的重大缺點。 可能的話,請在數據磁碟上安裝應用程式,而不是 OS 磁碟。 某些舊版應用程式可能需要在 C: 磁碟驅動器上安裝元件;在此情況下,您可以使用 PowerShell 調整 OS 磁碟 的大小。

VM 也會使用暫存磁碟建立( D: Windows 上的磁碟驅動器)。 此磁碟會儲存在主電腦上的實體磁碟驅動器上。 它不會儲存在 Azure 儲存體 中,而且可能會在重新啟動和其他 VM 生命週期事件期間刪除。 只將此磁碟用於暫存數據,例如頁面或交換檔案。

網路

網路元件包含下列資源:

  • 虛擬網路。 每個 VM 都會部署到可分割成多個子網的虛擬網路。

  • 網路介面 (NIC)。 NIC 可讓 VM 與虛擬網路通訊。 如果您需要 VM 的多個 NIC,請注意每個 VM 大小都會定義最大 NIC 數目。

  • 公用 IP 位址。 需要公用IP位址才能與VM通訊,例如,透過遠端桌面 (RDP) 進行通訊。 公用IP位址可以是動態或靜態的。 預設值為動態。

  • 如果您需要不會變更的固定IP位址,請保留靜態IP位址,例如,如果您需要建立 DNS 'A' 記錄或將IP位址新增至安全清單。

  • 您也可以為IP位址建立完整功能變數名稱 (FQDN)。 接著,您可以在 DNS 中註冊 指向 FQDN 的 CNAME 記錄 。 如需詳細資訊,請參閱在 Azure 入口網站 中建立完整域名。

  • 網路安全群組 (NSG)網路安全組 可用來允許或拒絕對 VM 的網路流量。 NSG 可以與子網或個別 VM 實例相關聯。

所有 NSG 都包含一組 默認規則,包括封鎖所有輸入因特網流量的規則。 無法刪除默認規則,但其他規則可以覆寫它們。 若要啟用因特網流量,請建立允許輸入流量流向特定埠的規則,例如 HTTP 的埠 80。 若要啟用 RDP,請新增 NSG 規則,以允許將輸入流量傳送至 TCP 連接埠 3389。

Operations

診斷。 啟用監視和診斷,包括基本健康情況計量、診斷基礎結構記錄和 開機診斷。 如果您的 VM 進入無法開機狀態,開機診斷可協助您診斷開機失敗。 建立 Azure 儲存體 帳戶來儲存記錄。 標準本地備援記憶體 (LRS) 帳戶足以用於診斷記錄。 如需詳細資訊,請參閱 啟用監視和診斷

可用性。 您的 VM 可能會受到 計劃性維護非計劃性停機的影響。 您可以使用 VM 重新啟動記錄 來判斷 VM 重新啟動是否由計畫性維護所造成。 如需更高的可用性,請在可用性設定組中部署多個 VM。 此設定提供較高的服務等級協定 (SLA)。

備份 若要防止意外遺失數據,請使用 Azure 備份 服務將 VM 備份至異地備援記憶體。 Azure 備份提供應用程式一致備份。

停止 VM。 Azure 會區分「已停止」和「已解除分配」狀態。 當 VM 狀態停止,但未解除分配 VM 時,您需支付費用。 在 Azure 入口網站 中,[停止] 按鈕會解除分配 VM。 如果您在登入時透過OS關閉,則會停止VM,但 不會 解除分配,因此您仍會向您收費。

刪除 VM。 如果您刪除 VM,則不會刪除 VHD。 這表示您可以安全地刪除 VM,而不會遺失數據。 不過,您仍需支付記憶體費用。 若要刪除 VHD,請從 Blob 記憶體刪除檔案。 若要防止意外刪除,請使用 資源鎖定 來鎖定整個資源群組或鎖定個別資源,例如 VM。

考量

這些考慮會實作 Azure Well-Architected Framework 的支柱,這是一組指導原則,可用來改善工作負載的品質。 如需詳細資訊,請參閱 Microsoft Azure Well-Architected Framework

成本最佳化

成本優化是考慮如何減少不必要的費用,並提升營運效率。 如需詳細資訊,請參閱 成本優化要素概觀。

視使用量和工作負載而定,VM 大小有各種選項。 此範圍包含 Bs 系列最經濟的選項,以及針對機器學習優化的最新 GPU VM。 如需可用選項的相關信息,請參閱 Azure Windows VM 定價

針對可預測的工作負載,請使用 Azure 保留Azure 節省方案來計算 一年或三年期合約,並節省大量隨用隨付價格。 對於沒有可預測完成時間或資源耗用量的工作負載,請考慮 [ 隨用隨付] 選項。

使用 Azure Spot VM 來執行可以中斷的工作負載,而且不需要在預先決定的時間範圍內完成或 SLA。 Azure 會在有可用的容量時部署 Spot VM,並在需要容量時收回。 與 Spot 虛擬機相關聯的成本大幅降低。 請考慮針對這些工作負載找出 VM:

  • 高效能運算案例、批次處理作業或視覺效果轉譯應用程式。
  • 測試環境,包括持續整合和持續傳遞工作負載。
  • 大規模無狀態應用程式。

使用 Azure 定價計算機來預估成本。

如需詳細資訊,請參閱 Microsoft Azure Well-Architected Framework 中的成本一節。

安全性

安全性可提供針對蓄意攻擊和濫用寶貴數據和系統的保證。 如需詳細資訊,請參閱 安全性要素概觀。

使用 適用於雲端的 Microsoft Defender 來取得 Azure 資源安全性狀態的集中檢視。 適用於雲端的 Defender 監視潛在的安全性問題,並全面瞭解部署的安全性健康情況。 每個 Azure 訂用帳戶會設定 適用於雲端的 Defender。 啟用安全性數據收集,如將 Azure 訂用帳戶上架至 適用於雲端的 Defender Standard 中所述。 啟用數據收集時,適用於雲端的 Defender 會自動掃描在該訂用帳戶下建立的任何 VM。

修補程式管理。 如果啟用,適用於雲端的 Defender 會檢查是否有任何安全性和重大更新遺失。 使用 VM 上的組策略設定 來啟用自動系統更新。

反惡意代碼。 如果啟用,適用於雲端的 Defender 會檢查是否已安裝反惡意代碼軟體。 您也可以使用 適用於雲端的 Defender 從 Azure 入口網站 內安裝反惡意程式碼軟體。

存取控制。 使用 Azure 角色型存取控制 (Azure RBAC) 來控制 Azure 資源的存取。 Azure RBAC 可讓您將授權角色指派給 DevOps 小組的成員。 例如,讀者角色可以檢視 Azure 資源,但無法建立、管理或刪除它們。 某些許可權專屬於 Azure 資源類型。 例如,虛擬機參與者角色可以重新啟動或解除分配 VM、重設系統管理員密碼、建立新的 VM 等等。 此架構可能有用的其他 內建角色 包括 DevTest Labs 使用者網路參與者

注意

Azure RBAC 不會限制使用者登入 VM 可以執行的動作。 這些許可權取決於客體OS上的帳戶類型。

稽核記錄。 使用 稽核記錄 來查看布建動作和其他 VM 事件。

資料加密。 如果您需要加密 OS 和資料磁碟,請使用 Azure 磁碟加密

卓越營運

卓越營運涵蓋部署應用程式的作業程式,並讓它在生產環境中執行。 如需詳細資訊,請參閱 營運卓越支柱概觀。

使用基礎結構即程序代碼 (IaC)使用單 一 Azure Resource Manager 範本 來布建 Azure 資源(宣告式方法),或使用單一 PowerShell 腳本(命令式方法)。由於所有資源都位於相同的虛擬網路中,因此它們會隔離在相同的基本工作負載中。 這可讓您更輕鬆地將工作負載的特定資源與 DevOps 小組產生關聯,讓小組可以獨立管理這些資源的所有層面。 此隔離可讓 DevOps 小組和服務執行持續整合和持續傳遞(CI/CD)。

此外,您可以使用不同的 Azure Resource Manager 範本 ,並將其與 Azure DevOps Services 整合,以在幾分鐘內布建不同的環境,例如只在需要時復寫生產環境,例如案例或負載測試環境,以節省成本。

請考慮使用 Azure 監視器 來分析和優化基礎結構的效能、監視和診斷網路問題,而不需要登入虛擬機。

下一步