規劃管理 Azure Batch 的成本

本文將說明如何規劃及管理 Azure Batch 的成本。 部署服務之前,您可以使用 Azure 定價計算機來預估 Azure Batch 的成本。 稍後,當您部署 Azure 資源時,請檢閱預估成本。

當您開始執行 Batch 工作負載之後,請使用成本管理功能來設定預算和監視成本。 您也可以檢閱預測成本,並找出花費趨勢來識別您可能想要採取行動的區域。Azure Batch 的成本只是您的 Azure 帳單中每月成本的一部分。 雖然本文是在說明如何規劃和管理 Azure Batch 的成本,但您還必須支付 Azure 訂用帳戶中使用的所有 Azure 服務和資源費用 (包括第三方服務)。

必要條件

成本管理中的成本分析支援大部分的 Azure 帳戶類型,但並非全部。 若要檢視所支援帳戶類型的完整清單,請參閱了解成本管理資料。 若要檢視成本資料,您至少需要 Azure 帳戶的讀取存取權。 如需 Microsoft 成本管理資料的存取權指派相關資訊,請參閱指派資料的存取權

先估計成本再使用 Azure Batch

在新增虛擬機器之前,請使用 Azure 定價計算機來預估成本。

  1. 在 [產品] 索引標籤上移至 [計算] 區段,或在搜尋列中搜尋 Batch。 在 [Batch] 圖格上,選取 [加入估算],然後向下捲動至 [您的估算] 區段。

  2. 請注意,Azure Batch 為免費服務,且 Azure Batch 的相關成本適用於執行工作負載的基礎資源。 將 Azure Batch 新增至估算時,定價計算機會自動為雲端服務虛擬機器建立選取項目。 您可以在每個產品的文件中深入了解 Azure 雲端服務Azure 虛擬機器 (VM)。 請注意,在 Azure Batch 的估算成本中,虛擬機器是佔比最重的資源。

    請從下拉式清單中選取選項。 清單中有各種選項可供選擇。 對估算總值影響最大的選項是虛擬機器的作業系統、適用的作業系統授權、VM 大小、您在 [執行個體] 下選取的選項、所選取的執行個體數目,以及執行執行個體的月份時間量。

    請注意,當您選取不同的選項時,總估算值會變更。 估算值會出現在右上角和您的估算區段的底部。

    Screenshot showing the your estimate section and main options available for Azure Batch.

    您可以從規劃管理虛擬機器的成本文件中,深入了解執行虛擬機器的成本。

了解 Azure Batch 的完整計費模型

Azure Batch 會在 Azure 基礎結構上執行,當您部署新的資源時,將會累算成本。 請務必了解可能會產生其他額外的基礎結構成本。

Azure Batch 的收費方式

Azure Batch 是免費的服務。 Batch 本身不會產生任何成本。 然而,用來執行 Batch 工作負載的基礎計算資源和軟體授權可能需要付費。 成本可能是從集區中的虛擬機器、VM 的資料傳輸,或儲存於雲端的任何輸入或輸出資料產生。

可能隨著 Azure Batch 產生的其他成本

雖然 Batch 本身是免費服務,但執行工作負載的許多基礎資源並非免費提供。 包括:

  • 虛擬機器
  • 儲存體
    • 使用應用程式套件將應用程式部署到 Batch 節點虛擬機器時,您需要為應用程式套件使用的 Azure 儲存體資源付費。 您也需要支付任何輸入或輸出檔案的儲存體費用,例如資源檔案與其他記錄資料。
    • 一般而言,與 Batch 相關聯的儲存體資料成本遠低於計算資源的成本。
  • 在某些情況下,負載平衡器
  • 網路資源
    • 系統會針對虛擬機器設定集區使用需要靜態 IP 位址的標準負載平衡器。 Batch 所使用的負載平衡器會顯示在使用者訂閱模式中設定的帳戶,但不適用於 Batch 服務模式中的帳戶。
    • 標準負載平衡器會針對在 Batch 集區 VM 之間來回傳遞的資料產生費用。 選取從集區節點 (例如取得工作/節點檔案)、工作應用程式套件、資源/輸出檔案與容器映像擷取資料的 Batch API 也將會產生費用。
    • 虛擬網路
  • 視您搭配 Batch 解決方案使用的服務而定,也可能會產生額外的費用。 通常搭配具有相關成本 Batch 一起使用的服務包括:
    • Application Insights
    • Data Factory
    • Azure 監視器

資源刪除之後可能產生的成本

刪除 Azure Batch 資源之後,下列資源可能會繼續存在。 這些資源會繼續產生成本,直到您將其刪除為止。

  • 虛擬機器
  • OS 和本機磁碟以外的任何已部署磁碟
  • 虛擬網路
    • 如果適用的話,您可以將虛擬 NIC 和公用 IP 設定為與虛擬機器一同刪除
  • 頻寬
  • 負載平衡器

在虛擬網路方面,單個虛擬網路將根據訂用帳戶和區域的數量計費。 虛擬網路不能跨越區域或訂用帳戶。 在 vNet 設定中設定私人端點可能也會產生費用。

頻寬是依使用量收費;傳輸的資料越多,向您收取的費用就越多。

將 Azure 預付款用於 Azure Batch

雖然 Azure Batch 是免費服務,但您可以使用 Azure 預付款點數支付基礎資源費用。 不過,您無法使用 Azure 預付款點數來支付第三方產品和服務的費用,包括來自 Azure Marketplace 的產品和服務。

檢視成本分析並建立預算

當您搭配 Azure Batch 使用 Azure 資源時,便會產生費用。 Azure 資源使用量單位成本會依據時間間隔 (秒、分鐘、小時和日) 或單位使用量 (位元組、MB 等等) 而改變。Azure 資源會在使用後立即產生成本,而且您可以在成本分析中看到成本。 Microsoft 成本管理可讓您規劃、分析以及減少費用,以將雲端投資的效用發揮到極致。 您可以檢視及篩選 Batch 要檢視及篩選的成本、預測未來的成本,以及在達到這些限制時設定具有警示的消費限制。

您可以在 Azure 入口網站中,為 Batch 集區或 Batch 帳戶建立預算與支出警示。 雖然可能會延遲消費警示且稍微超過預算,但預算與警示對於通知利案關係人是否有過度支出的任何風險很有用。

下列螢幕擷取畫面顯示訂閱的成本分析檢視範例,篩選為只顯示與所有 Batch 帳戶建立關聯的累積成本。 下方圖表顯示所選期間的總成本如何依已取用的服務、位置與計量分類。 雖然這是一個範例,並非用於反映您可能會看到的訂閱成本,但通常最大成本是針對配置給 Batch 集區節點的虛擬機器。

Screenshot showing cost analysis in the Azure portal for all Batch accounts in a subscription.

您可以藉由指定資源篩選來取得進一步的成本分析詳細資料。 針對 Batch 帳戶,這些值是 Batch 帳戶名稱加上集區名稱。 這可讓您檢視特定集區、多個集區,或者一或多個帳戶的成本。

檢視 Batch 集區的成本分析

批次服務集區配置模式

針對使用 Batch 服務集區配置模式所建立的 Batch 帳戶:

  1. 在 Azure 入口網站中,鍵入或選取 [成本管理 + 計費]
  2. 在 [計費範圍] 區段中選取您的訂閱。
  3. 在 [成本管理] 底下,選取 [成本分析]。
  4. 選取新增篩選。 在第一個下拉式清單中,選取 [資源]
  5. 在第二個下拉式清單中,選取 [Batch 集區]。 選取集區時,您可看到集區的成本分析。 下列螢幕擷取畫面顯示範例資料。 Screenshot showing cost analysis of a Batch pool in the Azure portal.

產生的成本分析會顯示集區的成本,以及造成此成本的資源。 在此範例中,集區中使用的 VM 是成本最高的資源。

注意

此範例中的集區使用虛擬機器設定建議用於大部分集區,並根據虛擬機器定價結構收費。 使用雲端服務設定的集區會根據雲端服務定價結構來收費。

標籤可能會與 Batch 帳戶建立關聯,允許標籤用於進一步的成本篩選。 例如,標籤可用於將專案、使用者或群組資訊與 Batch 帳戶建立關聯。 標籤目前無法與 Batch 集區建立關聯。

使用者訂閱集區配置模式

針對以使用者訂閱集區配置模式所建立的 Batch 帳戶:

  1. 在 Azure 入口網站中,鍵入或選取 [成本管理 + 計費]
  2. 在 [計費範圍] 區段中選取您的訂閱。
  3. 在 [成本管理] 底下,選取 [成本分析]。
  4. 選取新增篩選。 在第一個下拉式清單中,選取 [標籤]
  5. 在第二個下拉式清單中,選取 [poolname]
  6. 在第三個下拉式清單中,選取 [Batch 集區]。 選取集區時,您可看到集區的成本分析。 下列螢幕擷取畫面顯示範例資料。 Screenshot showing cost analysis of a user subscription Batch pool in the Azure portal.

請注意,若您有興趣檢視使用者訂閱 Batch 帳戶中所有集區的成本資料,可以在第二個下拉式清單中選取 [batchaccountname],然後在第三個下拉式清單中選取 Batch 帳戶的名稱。

注意

使用者訂閱 Batch 帳戶所建立的集區不會顯示於 [資源] 篩選下,但在服務名稱下篩選「虛擬機器」時,仍會顯示其使用量。

建立 Batch 集區的預算

您可以建立預算,並在達到各種預算百分比時發出成本警示,例如 60%、80% 與 100%。 預算可以指定一或多個篩選,以在各種細節上監視及警示 Batch 帳戶成本。

  1. 從 [成本分析] 頁面中,選取 [Budget: none] \(預算:無\)
  2. 選取 [Create new budget >] \(建立新的預算 >\)
  3. 使用產生的視窗,以特別為您的集區設定預算。 如需詳細資訊,請參閱教學課程:建立及管理 Azure 預算

將與 Azure Batch 建立關聯的成本降至最低

視您的案例而定,您可能會想要盡可能降低成本。 請考慮使用其中一或多個策略,將工作負載的效率最大化,並降低潛在的成本。

減少使用集區節點

與使用 Batch 建立關聯的最大成本,通常是來自配置給集區節點的虛擬機器。 針對虛擬機器設定集區,用於 VM OS 磁碟的相關聯受控磁碟也可能大幅提升成本。

評估您的 Batch 應用程式,以判斷作業工作是否充分利用集區節點,或集區節點是否閒置超過預期時間。 這可以減少配置的集區節點數目、降低集區節點擴大的速率或增加其縮小的速率,以增加使用率。

除了自訂監視之外,Batch 計量也可協助識別已配置但處於閒置狀態的節點。 您可以使用 Azure 入口網站中的 Batch 監視計量,來選取大部分集區節點狀態的計量。 例如,可以檢視「閒置節點計數」與「執行中的節點計數」,以指出集區節點的使用率。

確保集區節點能夠執行工作

針對集區列出的已配置節點通常會產生成本,但集區節點可能處於無法執行工作的狀態,例如「無法使用」或「啟動工作失敗」。 Batch API 或計量可用於監視及偵測此 VM 類別。 接著可以判斷這些狀態的原因,並採取矯正措施以減少或消除這些狀況不良的節點。

使用正確的集區節點 VM 大小

請確保已使用適當的 VM 大小,以在執行工作時妥善使用 VM,同時提供在必要時間內完成作業工作所需的效能。 在某些情況下,集區節點 VM 可能會使用量過低,例如低 CPU 使用量。 您可以藉由選擇價格較低的 VM 大小來節省成本。

若要判斷 VM 使用率,您可以在執行工作時登入節點,以檢視效能資料或使用 Application Insights 等監視功能,從集區節點取得效能資料。

使用集區位置來減少節點需求

可為集區指定多個工作位置,以在每個節點上平行執行對應的工作數目。 集區工作位置可用於減少集區中使用的節點數目,方法是選擇較大的 VM 大小,並在節點上平行執行多個工作,以確保節點已充分運用。 若節點使用量過低,可以使用插槽來增加使用率。 例如,針對單一執行緒工作應用程式,可以設定每個核心一個插槽。 也可以擁有比核心更多的插槽。 其中一個範例是,當應用程式封鎖大量等候傳回外部服務的呼叫時,就適用此狀況。

taskSchedulingPolicy 設定為 pack 可協助確保盡量將 VM 使用率保持滿載,而且可在調整時更輕鬆地移除未執行任何工作的節點。

使用 Azure Spot Virtual Machines

Azure Spot VM 會利用 Azure 中剩餘的計算容量,降低 Batch 工作負載的成本。 當您在集區中指定 Spot VM 時,Batch 就會使用此剩餘容量來執行工作負載。 當您使用 Spot VM 而不是專用 VM 時,可能會節省大量成本。 請記住,Spot VM 不適用於所有工作負載,因為可能沒有可用的容量可供配置,或可能已遭先占。

使用暫時性 OS 磁碟

根據預設,集區節點使用會產生成本的受控磁碟。 某些 VM 大小的虛擬機器設定集區可以使用暫時性 OS 磁碟 (其會在 VM 快取或暫存 SSD 上建立 OS 磁碟),以避免與受控磁碟建立關聯的額外成本。

購買虛擬機器執行個體的預留容量

若您想要長時間使用 Batch,可以為工作負載使用 Azure Reservations 以降低 VM 成本。 保留費率比隨用隨付費率低很多。 使用不含預留容量的虛擬機器執行個體會按隨用隨付費率收費。 當您購買預留容量時,會套用保留折扣。 在您認可 VM 執行個體的一年或三年方案時,會將大量折扣套用至 VM 使用量,包括透過 Batch 集區所取用的 VM

需要注意的是,保留折扣為「不用則作廢」。如果一小時內未使用相符的資源,您將失去那一小時的保留時數。 未使用的保留時數無法移轉,因此若未使用,則會遺失。 Batch 工作負載通常會根據負載來調整已配置的 VM 數目,並具有不同的負載,包括沒有負載的期間。 因此,有鑑於您會在 Batch VM 縮小到低於保留數量時失去保留時數,請務必謹慎判斷保留時數。

使用自動調整

自動調整會根據目前作業的需求,以動態方式調整 Batch 集區中的 VM 數目。 當您根據作業的存留期來調整集區時,自動調整會確保只有在出現可執行作業時才擴大並使用 VM。 作業完成時,或沒有任何作業時,會自動縮小 VM 以節省計算資源。 調整可讓您透過僅使用所需的資源來降低 Batch 解決方案的整體成本。

下一步