為什麼選擇 EMR?
Amazon EMR 是領先業界的雲端大數據平台,用於使用開放原始碼架構 (如 Apache Spark、Apache Hive 和 Presto) 來進行資料處理、互動式分析和機器學習。Amazon EMR 定價不但簡單而且可預測:您只需依所用的秒數支付每秒費率,但需支付一分鐘最低費用。10 個節點叢集執行 10 小時的費用與 100 個節點叢集執行一小時的費用相同。Amazon EMR 定價取決於您如何部署 EMR 應用程式。您可以在具有 Amazon Elastic Cloud Compute (Amazon EC2) 執行個體的 EMR 叢集上、AWS Outposts 上或 Amazon Elastic Kubernetes Service (Amazon EKS) 或 EMR 無伺服器叢集上執行這些應用程式。您可以使用 EC2 或 AWS Fargate 在 AWS 上執行 Amazon EKS。
針對在 EC2 叢集上的 Amazon EMR、EKS 叢集上的 Amazon EMR 以及 Amazon EMR Serverless 應用程式中使用的 IPv4 地址,將會對您收取標準公有 IPv4 地址費用。如需詳細資訊,請造訪 VPC 定價頁面的公有 IPv4 地址部分。
AWS 定價計算器
一次估算即可計算您的 Amazon EMR 和架構成本。
Amazon EC2 上的 Amazon EMR
此定價適用於在具有 Amazon EC2 執行個體的 Amazon EMR 叢集上執行的 Amazon EMR 應用程式。
Amazon EMR 定價已新增至 Amazon EC2 定價 (基礎伺服器的定價) 和 Amazon Elastic Block Store (Amazon EBS) 定價 (如果連接 Amazon EBS 磁碟區)。這些也都以秒計費,需支付一分鐘最低費用。EC2 提供多種定價選項供您選擇,包括隨需 (如下所示)、1 年期和 3 年期預留執行個體、Capacity Savings Plans 以及 Spot 執行個體。Spot 執行個體是備用 EC2 容量,與隨需價格相比,最高可享有 90% 的折扣。在 Spot Instance Advisor 頁面篩選「EMR 支援的執行個體類型」,了解 Spot 執行個體與隨需執行個體相比節省多少。
Amazon EKS 上的 Amazon EMR
此定價適用於 Amazon EKS 上的 Amazon EMR 叢集。
Amazon EMR 價格已附加到 Amazon EKS 定價或與 EKS 一起使用的任何其他服務。您可以使用 EC2 或 AWS Fargate 在 AWS 上執行 EKS。如果使用的是 EC2 (隨附 EKS 受管節點群組),您需支付為執行 Kubernetes 工作節點所建立的 AWS 資源 (例如,EC2 執行個體或 EBS 磁碟區) 的費用。請參閱 EC2 定價頁面上的詳細定價資訊。如果使用的是 AWS Fargate,定價方式是從您開始下載容器映像直到 EKS Pod 終止的時間所使用的 vCPU 和記憶體資源來計算,四捨五入到最接近的秒數。需支付一分鐘最低費用。請參閱 AWS Fargate 定價頁面上的詳細定價資訊。
Amazon EKS 上的 Amazon EMR 定價方式是從您開始下載 EMR 應用程式映像直到 EKS Pod 終止的時間 (四捨五入到最接近的秒數) 所使用的 vCPU 和記憶體資源來計算。定價是以任務或 Pod 請求的 vCPU 和記憶體資源為依據。
AWS Outposts 上的 Amazon EMR
AWS Outposts 上的 Amazon EMR 定價與以雲端為基礎的 EMR 執行個體相同。請參閱 AWS Outposts 定價頁面以取得 AWS Outposts 定價的詳細資訊。
Amazon EMR Serverless
使用 EMR Serverless 無需預付費用,只需按使用的資源付費。您需支付應用程式所使用的 vCPU、記憶體和儲存資源的費用。
藉由 EMR Serverless,您可以使用開放原始碼架構版本建立應用程式,然後將任務提交給應用程式。作為任務規範的一部分,您可以提供並發工作者的最小和最大數量,以及每個工作者的 vCPU、記憶體和儲存。EMR 會根據您指定限制內的任務需要自動新增和刪除工作者。工作者的運算、記憶體和儲存三個維度可以獨立設定。 您可以選擇每個工作者 1 個 vCPU、2 個 vCPU、4 個 vCPU、8 個 vCPU 或 16 個 vCPU,2 GB 到 120 GB 的記憶體 (以 1 GB 到 8 GB 為增量)。針對儲存選項,您可以選擇每個工作者 20 GB 至 200 GB 的標準儲存,或選擇每位工作者 20 GB 至 2 TB 的隨機優化儲存。
您需支付從工作者準備好執行工作負載到停止時間開始使用的彙總 vCPU、記憶體和儲存資源的費用,四捨五入到最接近的秒數,最短為 1 分鐘。如果您將應用程式設定為在應用程式啟動時啟動工作者,則請求的工作者將在您啟動應用程式時啟動,並在您停止應用程式或應用程式保持閒置時結束。
注意:使用自訂映像時,需要依據從 EMR Serverless 開始下載映像,到工作者處理序停止期間使用的彙總 vCPU、記憶體和儲存資源付費,四捨五入到最接近的秒數,最短為 1 分鐘。
定價詳細資訊 (運算和記憶體)
定價基於工作者使用的 vCPU、記憶體和儲存資源,跨所有工作者匯總。
-
Linux/x86
-
Linux/ARM
-
Linux/x86
-
-
Linux/ARM
-
定價詳細資訊 (暫時性儲存)
標準儲存︰系統預設將前 20 GB 的暫時性儲存提供給所有工作者,您只需為設定的每個工作者的附加儲存付費。
隨機優化儲存:您需為設定的每個工作者的整個儲存付費,包括前 20 GB。
支援的工作者組態
CPU | 記憶體值 | 暫時性儲存 |
1 個 vCPU | 最小值2 GB,以及最大值8 GB,1 GB 增量 | 20 GB - 200 GB |
2 個 vCPU | 最小值4 GB,以及最大值16 GB,1 GB 增量 | 20 GB - 200 GB |
4 個 vCPU | 最小值8 GB,以及最大值30 GB,1 GB 增量 | 20 GB - 200 GB |
8 個 vCPU | 最小值16 GB,最大值60 GB,4 GB 增量 | 20 GB - 200 GB |
16 個 vCPU | 最小值32 GB,最大值120 GB,8 GB 增量 | 20 GB - 200 GB |
持續時間
持續時間是從工作者準備好執行工作負載的時間開始計算,直到工作負載停止為止,四捨五入至最接近的秒數,最小值為 1 分鐘。
其他費用
如果您的應用程式使用其他 AWS 服務,您可能會產生額外費用。例如,如果您的應用程式使用 Amazon Simple Storage Service (S3) 存放和處理資料,則需支付標準 Amazon S3 費率的費用。如果您從 Amazon S3、Amazon Relational Database Service (RDS) 或 Amazon Redshift 等來源移動資料,則需支付標準請求和資料傳輸費率。如果您使用 Amazon CloudWatch,則需支付 CloudWatch Logs 及 CloudWatch Events 的標準費。
Amazon EMR WAL
此定價適用於使用 Amazon EMR WAL 的 Amazon EMR on EC2 叢集搭配 Apache HBase 應用程式。Apache HBase 預寫式日誌可將資料的所有變更記錄到以檔案為基礎的儲存中。使用 Amazon EMR on EC2,您可將 Apache HBase 預寫式日誌寫入 Amazon EMR WAL,這是一個耐用的受管儲存層,可延長叢集的使用壽命。如果您的叢集,或在可用區域變得運作狀態不良或無法使用的罕見情況下,您可建立新的叢集,將其指向相同的 Amazon S3 根目錄和 Amazon EMR WAL 工作區,然後在幾分鐘內自動復原 WAL 中的資料。如需詳細資訊,請參閱 Amazon EMR WAL 文件。
您只需依 EMR WAL 用量付費。如果您有作用中叢集已設定為使用 WAL,則會依據用量為 EMR WAL-WalHours,寫入為 WriteRequestGib,讀取為 ReadRequestGib 對 EMR WAL 計費。
EMR-WAL-WALHours︰EMR WAL 將為每個 Apache HBase 區域建立一個 WAL。在叢集終止之後,如果 EMR WAL 中仍有資料未清除至 Amazon S3,您可透過啟動復原叢集來復原資料,或是選擇建立暫時叢集來清除 WAL,以及使用 EMR WAL CLI 來刪除 EMR WAL 資源。如果您沒有明確刪除 EMR WAL 資料,EMR WAL 則會保留資料,並依據任何未清除的資料向您收取 30 天的費用。請查看下面的範例。
ReadRequestGiB and WriteRequestGiB︰這兩個維度適用於讀取和寫入請求。Apache HBase API 呼叫將資料寫入使用 EMR WAL 的叢集上的資料表,依 WriteRequestGib 計費。所有 Apache HBase 寫入,例如 `Put` 操作都會發生 EMR WAL 寫入。Apache HBase API 呼叫,可在 Apache HBase 復原操作期間從 EMR WAL 讀取資料,依 ReadRequestGIB 計費。讀取和寫入依據項目大小和 EMR 帳單計費,最少為 1 位元組。
定價範例
範例 1:EC2 上的 EMR
根據 US-East-1 定價的定價。
假設您執行部署在 Amazon EC2 上的 Amazon EMR 應用程式,並使用一個 c4.2xlarge EC2 執行個體做為主節點,並使用兩個 c4.2xlarge EC2 執行個體做為核心節點。您需要支付 EMR 和 EC2 節點的費用。如果您執行一個月,該月的使用率為 100%,並使用 EC2 的隨需定價,您的費用將為:
主節點:
EMR 費用 = 1 個執行個體 x 每小時 0.105 USD x (100 / 100 使用量/月) x 一個月 730 小時 = 76.65 USD (EMR 主節點成本) EC2 費用 = 1 個執行個體 x 每小時 0.398 USD x 一個月 730 小時 = 290.54 USD (EC2 主節點成本)
核心節點:
EMR 費用 = 2 個執行個體 x 每小時 0.105 USD x (100 / 100 使用量/月) x 一個月 730 小時 = 153.30 USD (EMR 核心節點成本)
EC2 費用 = 2 個執行個體 x 每小時 0.398 USD x 一個月 730 小時 = 581.08 USD (EC2 核心節點成本)
總費用 = 76.65 USD + 290.54 USD + 153.30 USD + 581.08 USD = 1101.57 USD
範例 2:EKS 上的 EMR
根據 US-East-1 定價的定價。
假設您執行的是在 Amazon EKS 上部署的 Amazon EMR-Spark 應用程式。在此案例中,EKS 會使用 r5.2xlarge EC2 執行個體取得運算容量 (8 vCPU、64 GB RAM)。假設 EKS 叢集有 100 個節點,總計 800 個 vCPU 以及記憶體共為 6400 GB。假設該應用程式在 30 分鐘內使用 100 個 vCPU 和 300 GB 的記憶體。
此任務的 Amazon EMR 提升總費用:
在 vCPU 的提升總計 = (100 * 0.01012 USD * 0.5) = (vCPU 數 * 每 vCPU 小時比率 * 任務執行時間 (小時)) = 0.506 USD
在記憶體的提升總計 = (300 * 0.00111125 USD *0.5) = (使用的記憶體量 * 每 GB 小時比率 * 任務執行時間 (小時)) = 0.1667 USD
EMR 任務的 EMR 提升總計 = 0.6727 USD
其他費用
您建立的每個 Amazon EKS 叢集,每小時需支付 0.10 USD。您可以利用 Kubernetes 命名空間和 IAM 安全政策,使用單一 Amazon EKS 叢集執行多個應用程式。您可以使用 Amazon EC2 或 AWS Fargate 在 AWS 上執行 EKS。
如果使用的是 Amazon EC2 (隨附 Amazon EKS 受管節點群組),您需支付為執行 Kubernetes 工作節點所建立的 AWS 資源 (例如,EC2 執行個體或 Amazon EBS 磁碟區) 的費用。您僅需針對使用的部分付費。沒有最低費用,也沒有預付款項。請參閱 EC2 定價頁面上的詳細定價資訊。
如果使用的是 AWS Fargate,定價方式是從您開始下載容器映像直到 Amazon EKS pod 終止的時間所使用的 vCPU 和記憶體資源來計算,四捨五入到最接近的秒數。需支付一分鐘最低費用。請參閱 AWS Fargate 定價頁面上的詳細定價資訊。
範例 3:EMR 無伺服器
假設您將 Spark 任務提交給無伺服器 EMR。假設任務設定為使用至少 25 個工作者和最多 75 個工作者,每個工作者都設定了 4VCPU 和 30GB 的記憶體。請考慮未設定其他暫時儲存裝置。如果您的任務使用 25 個工作者 (或 100 個 vCPU) 執行 30 分鐘,並且已自動調整規模以新增 50 個工作者 (另外 200 個 vCPU),持續 15 分鐘:
vCPU 小時總成本 = (100 * 0.052624 USD * 0.5 USD) + (200 * 0.052624 USD * 0.25) = (vCPU 數 * 每 vCPU 小時費率 * 以小時為單位的任務執行時間) = 5.2624 USD
總 GB 小時 = (750 * 0.0057785 USD * 0.5 USD) + (1500 * 0.0057785 USD * 0.25) = (設定的記憶體總 GB * 每 GB 小時費率 * 以小時為單位的任務執行時間) = 4.333875 USD
EMR 無伺服器費用總額 = 9.596275 USD
額外費用:如果應用程式使用其他 AWS 服務 (例如 Amazon S3),則需支付標準 S3 費率。
範例 4:EMR WAL
假設您使用 Apache HBase 建立新的 Amazon EMR 叢集,並選擇在美國東部 (維吉尼亞北部) 區域完全備份叢集。由於這適用於新應用程式,因此您不會知道自己的流量模式。為簡單起見,假設您的使用者建立了 10 個 HBase 資料表,包括系統資料表、每個資料表 2 個 HBase 區域,並且每次使用者與您的應用程式互動時,他們都會寫入 1 KiB 的資料。
在 10 天的期間,您的應用程式只有少許流量,每天產生 10,000 次寫入。但是,在第 11 天,您的應用程式流量激增至當日 2,500,000 次寫入。您也決定同時更新叢集上的自訂程式碼,並在第 11 天為最終使用者排程每晚停機時間。我們假設這會導致 HBase 復原操作從 EMR WAL 產生 1,000,000 次讀取。您的應用程式可進行擴展,為使用者提供無縫體驗。然後,您的應用程式進入較規律的流量模式,到月底每天有 50,000 次寫入。
下表總結當月的用量總計。
時間範圍 – (當月日次) | 寫入總計 | 讀取總計 | EMR WAL 用量 |
1 至 10 | 100,000 次寫入 (10,000 次寫入 x 10 天) | ||
11 | 2,500,000 次寫入 | 1,000,000 次讀取 | |
12 - 30 | 950,000 次寫入 (50,000 次寫入 x 19 天) | ||
每月總計 | 3,550,000 次寫入 | 1,000,000 次讀取 | |
每月費用 | 0.30 USD (每 GiB EMR WAL 寫入請求 0.0883 USD x 3.55 百萬 KiB 寫入/1048576 KiB/GiB) | 0.08 USD (每 GiB EMR WAL 讀取請求 0.0883 USD x 1 百萬 KiB 讀取/1048576 KiB/GiB) | 25.92 USD (每 WAL 每小時 EMR WAL 用量 0.0018 USD X 10 個 HBase 資料表用量 X 每個 HBase 資料表 2 個 HBase 區域 X 每個 HBase 區域 1 個 WAL X 30 天 X 24 小時或 14,400 EMR-WAL-WALHours 用量) |
當月,您的帳單將為 26.52 USD,總計包括 ReadRequest Gib 和 WriterEQUESTGIB 0.38 USD,以及 EMR-WAL-WALHours 25.92 USD。