MaxCompute では、サブスクリプション、従量課金、時間単位課金の 3 種類の支払い方法をご利用いただけます。それぞれ異なるワークロードパターンに最適化されています。本ページでは、ご利用のワークロードに最も適した支払い方法を選定するための指針と、導入前のコスト見積もり方法について説明します。
支払い方法
各支払い方法は、特定のワークロードタイプを想定して設計されています。不適切な方法を選択すると、リソースのアイドル状態(過剰なリソース割り当て)や予算の不確実性(不足したリソース割り当て)といった問題が生じる可能性があります。
| 支払い方法 | 仕組み | 推奨される利用シーン |
|---|---|---|
| サブスクリプション | 計算リソースは月額または年額で課金されます。ストレージおよびダウンロードは従量課金方式で課金されます。 | 頻繁かつ予測可能なワークロードで、事前に計算リソースの必要量を予測できる場合 |
| 従量課金 | ストレージ、計算、ダウンロードのすべてが実際の使用量に基づいて課金されます。前払いやリソースサイズの事前決定は不要です。 | 予測が困難な、あるいは探索的なワークロードで、事前にリソースサイズを決定することが難しい場合 |
| 時間単位課金 | サブスクリプションリソースをベースとして利用し、追加の容量は追加された計算ユニット (CU) の数および利用時間に応じて時間単位で課金されます。 | ベースとなるワークロードが予測可能である一方で、一時的に需要が急増する場合 |
各メソッドの完全な説明については、「概要」をご参照ください。
変更前のコスト見積もり
支払い方法を確定する前に、以下のツールを活用して、ご予想されるコストをシミュレーションしてください。
MaxCompute 価格電卓
サブスクリプション課金向けには、MaxCompute 価格電卓_V5.xlsx をご利用ください。必要な計算リソースおよび推定されるデータアップロード・ダウンロード量を入力することで、月額コストの見積もりが得られます。
CostSQL
従量課金向けには CostSQL をご利用ください。CostSQL は、本番環境で実行される SQL ジョブのコストを、実行前に見積もります。
SQL ジョブを実行する前に、
COST SQLコマンドを実行して見積もりを取得します。詳細については、「コスト見積もり」をご参照ください。IntelliJ IDEA では、SQL スクリプトを送信すると、自動的にコスト見積もりが生成されます。詳細については、「SQL スクリプトの開発および送信」をご参照ください。
DataWorks でも、コスト見積もり機能をご利用いただけます。
CostSQL はすべての SQL ジョブのコストを見積もりません。たとえば、外部テーブルを含むジョブは見積もり対象外です。見積もり値は計画立案の参考情報としてご活用ください。実際のコストは最終請求額に基づきます。
1 TB のデータに対するコスト見積もり
以下の表は、異なる支払い方法およびワークロードタイプにおいて、1 TB のデータを処理する場合の月額コストの見積もりを示しています。
| 支払い方法 | ワークロードタイプ | 使用 CU 数 | 応答時間 | 月額コスト(見積もり) |
|---|---|---|---|---|
| サブスクリプション | コンピューティング集約型 | 160 CU | 数分以内 | 3,768 USD |
| サブスクリプション | ストレージ集約型 | 約 50 CU | 数時間以内 | 1,177.5 USD |
| 従量課金 | SQL 複雑度 1、1 日 1 回 | — | — | 1,413 USD |
これらの数値の算出方法:
サブスクリプション(コンピューティング集約型):160 CU × 月額 CU 単価 = 3,768 USD/月。ジョブ完了時間が数分以内であることが必須の場合にこの構成をご利用ください。
サブスクリプション(ストレージ集約型):約 50 CU × 月額 CU 単価 = 1,177.5 USD/月。ジョブ実行時間が数時間程度許容され、厳密なレイテンシ要件がない場合にこの構成をご利用ください。
従量課金:SQL 複雑度 1 の場合、1 TB のデータ処理コストは 47.1 USD/日です。1 日 1 回の実行頻度であれば、月額合計は 1,413 USD/月となります。1 日に複数回データを処理する場合は、その分日額コストを乗算してください。
ご自身のユースケースに合わせた見積もりを行うには、実際の CU 数および処理頻度を上記の数式に代入してください。
必要な CU 数の評価
サブスクリプションプランで購入すべき CU 数が不明な場合は、以下の手順に従ってください。
まず従量課金から始めます。初めてクラウドへのデータ移行を行う場合は、こちらから始めることが推奨されます。
実際のワークロードを再現した Proof of Concept (POC) テストを実行します。
テスト終了後、TASKS_HISTORY
取得した CU 時間の合計値に基づき、必要な CU 数を算出します。
算出した CU 数に応じて、サブスクリプション CU を購入します。
支払い戦略の選択
単一の支払い方法
サブスクリプションは、頻繁かつ予測可能なジョブに適しています。コストの予見性と高速なジョブスループットを提供します。
従量課金は、頻度が低く、またはリソースサイズの予測が難しいジョブに適しています。前払いの義務がなく、実際に使用した分のみをお支払いいただけます。
複合支払い
複数の支払い方法を組み合わせることで、さまざまなジョブタイプに応じたコスト最適化が可能です。
オプション 1:定期的な本番ワークロードにはサブスクリプション、不定期ジョブには従量課金
固定スケジュールで実行される抽出・変換・ロード (ETL) ジョブにはサブスクリプションをご利用ください。アドホッククエリやワンオフのデータ処理ジョブには従量課金をご利用ください。従量課金モードでは、他のアカウントが所有するテーブルから読み取りが可能であり、ストレージの重複を回避できます。他アカウントへのアクセスには権限付与が必要です。「プロジェクトレベルのロールの作成」をご参照ください。
オプション 2:不定期ジョブにはサブスクリプション、毎日の本番ワークロードには従量課金
開発およびテストジョブのコストが予測できない場合は、それらを固定リソースグループに追加し、MaxCompute マネージャーでカスタム開発およびビジネスインテリジェンス (BI) グループを設定してください。本番 ETL ジョブが 1 日 1 回のみ実行される場合は、従量課金リソースグループに割り当てることで、サブスクリプションリソースのアイドルによる無駄なコストを回避できます。
Hadoop 移行
Hadoop からの移行をご検討中の方は、コンピューティング集約型のサブスクリプションシナリオを参考にしてください。コントローラノード 1 台およびコンピュートノード 5 台(各ノード 32 コア、合計 160 CPU)から構成される典型的な Hadoop クラスターの月額コストは、割引適用なしで約 3,768 USD です。MaxCompute ではコントローラノードが不要であり、Hive と比較してパフォーマンスが 80 % 向上するため、運用および保守 (O&M) の負荷とコストの両方が削減されます。
支払い方法の変更
データ量の変化により、現在のサブスクリプションリソースが不足または過剰になっている場合は、設定の変更を行ってください。詳細については、「設定の変更」をご参照ください。
支払い方法を完全に切り替える場合は、「支払い方法の切り替え」をご参照ください。
サブスクリプションへの切り替え前に、ジョブのパフォーマンスおよびサイクルタイムを評価し、適切な CU 数を決定してください。CU 数が少なすぎると、ジョブ実行時間が延長し、スループットが低下するため、再度の変更が必要になる可能性があります。