AWS GlueとAWS EMRの価格比較を行って、EMRとGlueを選択しました。
ETLジョブが30日間10分間実行される6つのDPU(4つのvCPU + 16 GBのメモリ)を検討しました。予想されるクローラーリクエストは、無料枠を100万回超えると想定され、100万回の追加リクエストに対して$ 1と計算されます。
EMRでは、EC2とEMRの両方でm3.xlargeを検討し(価格はそれぞれ$ 0.266と$ 0.070)、6ノードで10分間30日間実行しました。
1か月の計算で、AWS Glueは約$ 14.64であることがわかりますが、EMRの場合は約$ 10.08であることがわかります。私の目的はETLジョブ価格のメリットを比較することなので、S3、RDS、Redshiftなどのその他の追加費用やオプションのDEVエンドポイントは考慮していません。
AWS Glueと比較すると、EMRの方が安いようです。 EMRの価格設定は正しいですか?何か不足している場合は誰かが提案できますか?私はEMRのAWS料金計算ツールを試しましたが、混乱しており、正規化された時間が課金されているかどうかがわかりません。
よろしく
ユバ
On-Demand
の代わりにEMRのSpot
インスタンスを使用すると、オンデマンド料金の3分の1のコストで、はるかに安価になります。 AWS Glue
には、そのような価格設定のメリットはありません。
インフラストラクチャが大幅なスケーリングを必要としない場合(そしてほとんどが固定構成の場合)、EMRを使用します。しかし、それが必要な場合は、サーバーレスであるため、グルーの方が適しています。 DPUを変更するだけで、インフラストラクチャが拡張されます。ただし、EMRでは、クラスターの種類、ノード数、自動スケーリングルールを決定する必要があります。変更ごとに、クラスター作成スクリプトを変更してテストし、デプロイする必要があります。基本的に、変更の標準リリースサイクルのオーバーヘッドを追加します。インフラ構成の変更に伴い、spark構成を変更して、それに応じてジョブを最適化します。そのため、インフラ構成を変更すると、新しいバージョンのリリースを作成する時間が長くなります。高構成を追加して開始すると、開始時に低構成を追加する場合は、スクリプトを頻繁に変更する必要があります。
そうは言っても、AWS Glueは各DPUのインフラ構成を修正しています。コアあたり16 GBのメモリ。 ETLがコアごとにより多くのメモリを要求する場合、EMRに移行する必要があるかもしれません。ただし、ETLが1つのエグゼキューターで11GBのドライバーメモリまたは2つのエグゼキューターで5.5GBを超えないように設計されている場合(たとえば、新しいコアで追加のデータボリュームを並行して取得するか、5gb/11gbのバッチでボリュームを分割して実行します同じコアでループ)、接着剤は正しい選択です。
ETLが複雑で、すべてのジョブがクラスターを1日中使用し続ける場合は、EMRインフラストラクチャを管理する専任の開発チームを備えたEMRに参加することをお勧めします。