規劃調整大小和網路功能

已完成

Azure VM 是 Azure 中常用的基礎結構即服務 (IaaS) 計算資源類型。 相較於平台即服務 (PaaS) 計算服務,Azure VM 可提供更多 VM 作業系統 (OS) 及其設定的彈性和控制。 增加的控制和彈性需要更多規劃來支援最佳結果。

本單元說明規劃 Azure Linux VM 部署的整體因素和考量。 此規劃流程應考慮 VM 設定的計算、網路和儲存體方面。 其中一些特性是特定於作業系統的,不同 Linux 發行版本的實作詳細資料各不相同。

Microsoft 與知名的 Linux 供應商合作,將其產品與 Azure 平台整合。 為了充分受益於此整合,您可以從各種熱門 Linux 發行版本 (如 SUSE、Red Hat 和 Ubuntu) 的預建映像中建立 Azure VM。 您可以選擇建置 Linux 發行版本自訂映像,以便在雲端環境中執行。 在此情況下,您的 Azure VM 設定流程可能包含更多步驟。

不論是哪一種情況,此學習課程模組都可協助您進一步最佳化產生的部署。 最佳化要求您對 Azure VM 資源及其相依性具有深度了解。

了解資源相依性

當您建立 Azure VM 時,也需要建立數個相關聯的資源,讓 Azure VM 相依以提供虛擬化 OS 的完整功能。 這些資源包括:

  • 用於儲存作業系統、應用程式和資料的虛擬磁碟。

  • 具有一個或多個子網路的虛擬網路,用於將 Azure VM 連線至其他 Azure 服務或內部部署資料中心。

  • 用於將 Azure VM 連線至虛擬網路之子網路的網路介面。

    注意

    每個網路介面必須至少有一個動態或靜態指派給它的私人 IP 位址。 私人 IP 位址不是獨立的 Azure 資源,而是子網路設定的一部分。

  • 用於裝載 Azure VM 的資源群組。

  • 公用 IP 位址會選擇性地與 VM 網路介面建立關聯,以提供從網際網路對 VM 的直接輸入存取。

現在您已了解 Azure VM 資源相依性,就可以開始規劃虛擬機器大小了。

規劃調整大小

若要確定 Azure VM 的正確大小,您需要考慮其預期工作負載。 您選擇的大小會決定 VM 的下列特性:

  • 處理能力
  • 記憶體
  • 儲存容量
  • 效能
  • 支援進階網路功能

重要

Azure VM 具有虛擬 CPU (vCPU) 配額限制,您應該在規劃中考慮到這一點。 若要在部署後提高配額限制,您必須將線上要求提交至 Azure 支援。

Azure 提供多種尺寸,具有不同的規格和價位,可符合廣泛類型的需求。 虛擬機器大小以多個類別分組,表示其爲之最佳化的工作負載類型。 每個類別都包含一個或多個系列,也稱為家族,其共用共同的基礎硬體特性,但提供不同的尺寸範圍。

下列清單顯示工作負載類型以及每種工作負載類型的常見使用案例。 每個工作負載類型都有包含各種大小的對應系列。

  • 一般用途:測試和開發、小型至中型資料庫,以及低至中流量 Web 伺服器。
  • 計算密集型:中流量 Web 伺服器、網路設備、批次處理,以及應用程式伺服器。
  • 記憶體密集型:關聯式資料庫伺服器、中型至大型快取,以及記憶體內部分析。
  • 儲存體密集型:需要高磁碟輸送量和輸入/輸出 (I/O) 的巨量資料、SQL 和 NoSQL 資料庫。
  • 圖形處理器 (GPU)-已啟用:大量圖形轉譯或視訊編輯,以及搭配深度學習運作的模型訓練和推斷。
  • 高效能運算 (HPC):速度最快、功能最强大的 CPU 虛擬機器 (其具有支援遠端直接記憶體存取 (RDMA) 的選用高輸送量網路介面)。

當您規劃 Azure VM 大小時,也請考慮下列因素:

  • 變更 Azure VM 系列或大小雖然簡單且常見,但需要重新啟動作業系統。 若要避免重新啟動,請盡可能適當地調整 VM 的大小。
  • VM 大小可用性會因區域而異,因此當您規劃部署時,請考慮區域可用性。
  • 您可以連結至 Azure VM 的磁碟數目上限取決於其大小。

其他大小考慮

考慮使用 Microsoft Azure 虛擬機器選取器,根據工作負載類型、作業系統、安裝的軟體和部署區域來確定最合適的 VM 大小。

如果您打算在同一區域中長時間使用相同或類似大小的 Azure 虛擬機器,請考慮使用 Azure 保留來顯著降低計算成本,最多降低 72%。

為了降低具有可處理中斷的工作負載 (如批次處理作業) 之 Azure VM 的成本,請使用 Azure Spot VM

規劃網路功能

VM 透過使用虛擬網路與外部資源進行通訊。 虛擬網路表示 Azure 區域內的私人網路。 您可以將虛擬網路連線至其他網路,包括內部部署資料中心的網路,並套用流量規則來控制輸入和輸出連線。

每個虛擬網路指定 IP 位址空間,其通常包含一個或多個由 RFC 1918 定義的私人位址範圍。 與內部部署網路一樣,您可將虛擬網路位址空間分割為多個子網路,以隔離 Azure VM 工作負載。 虛擬網路內的每個子網路都代表私人位址範圍。 若要強制隔離工作負載,請將網路安全性群組 (NSG) 與每個子網路關聯。

每個 Azure VM 都包含一或多個網路介面,而每個介面都會連線到相同虛擬網路內的子網路。 Azure 會自動為子網路中的每個 VM 指派子網路範圍中的 IP 位址。 Azure 會將每個子網路上的前四個和最後一個 IP 位址保留給自己使用,並不會指派這些 IP 位址。

雖然可以在虛擬機器設定流程中建立虛擬網路及子網路,但建議的方法是使用網路環境啟動 Azure VM 部署規劃。 在考慮了所有網路需求並建立了相應的虛擬網路後,您可以繼續部署 Azure 虛擬機器。

在規劃 Azure 虛擬網路和子網路時,請記住以下設計原則:

  • 請確定位址空間不會重疊。 如果您想要連線虛擬網路和內部部署網路,則 IP 位址空間無法重疊。
  • 使用較少數量的較大虛擬網路,而不是較大數量的較小虛擬網路。 這種做法有助於將管理額外負荷降至最低,並協助延展性。

網路頻寬

雖然 Azure VM 可以有多個網路介面,但其可用頻寬完全取決於其大小。 通常,大小較大的 VM 比較小的 VM 獲配置更多的頻寬。

若要根據配置的限制來測量實際網路頻寬量,Azure 只會以輸出流量為目標。 離開 VM 的所有網路流量都將計入該限制,而與流量目的地無關。

Azure 不會直接限制輸入頻寬。 然而,儲存體和計算資源使用率等因素會影響 Azure VM 可以處理的内送資料量。

規劃遠端連線

做為部署計劃的一部分,請考慮提供遠端連線的最合適方法。 針對 Linux VM,遠端連線通常牽涉到使用安全殼層 (SSH) 來實作終端機殼層工作階段的傳輸中加密。

要透過 SSH 連線進行驗證,可以使用使用者名稱和密碼,或者 SSH 金鑰組。 對 SSH 連線使用密碼會使 VM 容易受到暴力密碼破解攻擊。 使用 SSH 金鑰是透過 SSH 連線至 Linux 虛擬機器的一種更安全、更熱門方法。

即使使用 SSH 金鑰,根據預設,您也必須開啟與目標 Azure VM 的網路介面卡關聯的公用 IP 位址的連線。 此公用 IP 容易受到外部威脅的攻擊,是潜在的攻擊媒介。 若要降低此風險,請考慮實作 Azure Bastion 或 Just-In-Time (JIT) VM 存取。

注意

在混合式案例中,為了在從內部部署環境連至 Azure VM 時消除對公用 IP 位址的需求,您可以使用站對站虛擬私人網路 (VPN) 或 Azure ExpressRoute。

Azure Bastion

您將 Azure Bastion 服務部署至虛擬網路的專用子網路中,並連線至目標 VM。 Azure Bastion 可做為透過 HTTPS 外部 SSH 連線的訊息代理程式,只能從 Azure 入口網站取得。 Azure Bastion 不需要將公用 IP 位址指派給目標 VM 的網路介面,也可確保只有已驗證且已正確授權的使用者才能起始 SSH 連線。

JIT VM 存取

JIT VM 存取是適用於雲端的 Microsoft Defender 功能,可限制存取與 Azure VM 網路介面相關聯的公用 IP 位址。 這些限制會動態調整 NSG,以在指定時間範圍僅允許來自指定 IP 位址範圍的内送連線。 與 Azure Bastion 一樣,使用者在從 Azure 入口網站起始連線之前,必須先進行驗證。