虛擬機器擴展集的功能與優點
Azure 虛擬機器擴展集提供在一組虛擬機器 (VM) 上執行應用程式的可調整規模方法。 擴展集中的 VM 可以擁有相同的設定,並執行相同的應用程式,或有不同的設定並執行不同的應用程式。 隨著需求成長,在擴展集中執行的 VM 會增加。 當需求縮小時,可以移除多餘的 VM。 適合使用虛擬機器擴展集的案例包括計算工作負載、巨量資料工作負載,以及容器工作負載。
在我們的範例案例中,您的客戶使用公司的其中一個網站來管理和檢查其貨品狀態。 因為該網站可在全球存取,所以很難預測一天中任何特定時間的負載。 此外,負載可能隨季節而不同,在十二月可能因為年終的假日而比較忙碌。 您決定使用虛擬機器擴展集來處理變動的負載,同時維持對客戶要求的低回應時間。
在本單元中,您會探索虛擬機器擴展集的功能。 本單元結束時,您可以描述擴展集的運作方式。 您會了解擴展集如何支援向外延展和相應增加案例,並了解如何使用自動調整和排程型調整來調整擴展集可用的資源。
什麼是虛擬機器擴展集?
Azure 中虛擬機器擴展集的目的是讓您部署並管理許多負載平衡的虛擬機器。 虛擬機器擴展集有足夠智慧自動相應增加或減少 VM 執行個體數目。
用於啟動增加或減少的準則,可以取決於自訂的排程,或是實際的需求和使用量。 擴展集會同時將相同的設定套用至同一組 VM。 如果您不想要的話,您不需要個別設定每個執行個體。
擴展集會使用負載平衡器,將要求散發到 VM 執行個體之間。 其會使用健康情況探查或應用程式健全狀況延伸模組,來判斷每個執行個體的可用性。 健康情況探查或應用程式健康情況延伸模組會 ping 執行個體。 如果執行個體回應,擴展集便知道執行個體仍然是可用的。 如果 Ping 失敗或逾時,擴展集便知道該執行個體是不可用的,且不會傳送要求給它。
虛擬機器擴展集同時支援 Azure 中的 Linux 和 Windows VM,而且可以在單一擴展集上執行最多 1,000 部 VM。
如果您需處理大量工作負載,且這些工作負載的需求各有不同且難以預測,擴展集便是絕佳的解決方案。 虛擬機擴展集提供可因應需求調整且負載平衡的虛擬機器。 其會自動提供高可用性環境。
擴展集的調整選項
擴展集是針對成本效益而設計。 只會在需要時才建立新的 VM 執行個體。
取決於需求,您有時候可能需要將機器新增到擴展集,或是從中移除。 例如,您在一週或一天內的某些時間,可能會因為需求較低的原因,而不需要執行某些機器。 您可以手動增加或減少執行個體計數,來調整擴展集中的 VM 數目。 在許多情況下,最好是使用規則來自動新增或移除 VM。 規則是以計量為基礎。 它們可確保系統會根據需求或排程新增正確數目的 VM。
調整擴展集規模
虛擬機器擴展集可解決當工作負載變動時,必須快速建立和管理 VM 的需求。 您可以對擴展集設定兩種調整類型:
已排程的調整:您可以主動排程擴展集來部署一或多個額外的執行個體以容納流量尖峰,然後在尖峰結束後相應減少。
自動調整:如果工作負載是會變動的,而且不一定能夠排程,您可以使用計量型閾值來縮放。 自動調整規模會根據節點使用率擴增。 當資源返回基準時,它便會相應縮小。
這兩個選項都可以在管理相關聯成本的同時處理調整需求。 下列範例描述您可能會採用不同調整類型的案例。
已排程的調整
假設您屬於大型食物配送公司的 DevOps 小組。 星期五晚上通常是您業務最為繁忙的時刻。 相反地,星期三的早上 7 點通常是生意最清淡的時候。
Azure 是根據資源使用量收費,因此請勿執行您不需要的服務。 如果您需要 100 部網頁伺服器以滿足星期五晚上的需求,您會很樂意為它們付費。 不過,如果您在星期三早上只需要兩部伺服器,則您不會想為額外 98 部閒置伺服器付費。 若要管理您的成本並同時滿足營運需求,請考慮使用已排程的規模調整。
自動調整
假設您任職於一家熱門製鞋公司的 DevOps 小組。 隨著產品即將上市,您認為您服務的需求量勢必大幅增加。 不過,需求尖峰可能是無法預測且難以量化的。 您想透過依目前使用的資源來水平地調整規模,以使您的服務能滿足需求。
針對此案例,您可以使用計量型的自動調整。 此類型的自動規模調整會在需求上升時,相應放大您的基礎結構。 它會在需求減少時相應縮小。
使用現成虛擬機器降低成本
Azure Spot Virtual Machines 可讓您利用我們未使用的容量大幅節省成本; 每當 Azure 又需要這些容量時,Azure 基礎結構就會收回 Azure Spot Virtual Machines。 因此,這些虛擬機器很適合可因應中斷的工作負載,例如批次處理工作、開發/測試環境,以及大量計算工作負載。
可用容量的數量會根據大小、區域和當日時間和其他因素而有所不同。 部署 Azure Spot Virtual Machines 時,如果有可用的容量,則 Azure 會配置 VM,但這些 VM 沒有 SLA。 Azure Spot Virtual Machine 不提供高可用性保證。 在任何時候,只要 Azure 又需要這些容量,Azure 基礎結構就會顯示 30 秒通知,然後收回 Azure Spot Virtual Machines。
當 Azure 再度需要計算能力時,您會收到通知,指出 Azure 會將哪部 VM 從您的擴展集中移除。 如果您需要在您的 VM 上進行清理或正常結束代碼,您可以使用 Azure Scheduled Events 來在 VM 內對此通知作出反應。 您也可以指示擴展集嘗試建立另一部 VM 以取代即將被移除的虛擬機器。 不過,不保證會建立新 VM。
使用 Azure Spot Virtual Machines 時,您可以透過設定收回原則來指定兩種移除方式:
- 解除配置原則 (預設):停止 VM。 處理及記憶體資源都會解除配置。 磁碟原封不動並保留資料。 當 VM 未執行時,系統會向您收取磁碟空間的費用。
- 刪除原則:移除整個 VM,包括所有基礎磁碟,您便無需支付儲存體的費用。
Azure Spot Virtual Machines 適用於執行程序可中斷的工作負載,或適合只能花費極低成本,但需要較大型 VM 的情況。 但您必須記住自己並無法控制該 VM 的移除時機。