このトピックでは、計算コストの最適化機能の仕組みと使用方法について説明します。 MaxCompute は、ジョブの完了を保証しながらサブスクリプション計算リソースのコストを削減するのに役立つ計算コストの最適化機能を提供します。 また、現在のリソース構成ではジョブが期待どおりに完了しない場合にも、この機能を使用できます。 この機能は、実際のジョブリクエストと期待されるリソース構成に基づいて、レベル 1 サブスクリプションクォータに最適なリソース構成プランを生成します。 また、プロジェクトを従量課金計算リソースからサブスクリプション計算リソースに切り替えるための推奨プランと予測結果も提供します。 これにより、計算コストをさらに最適化し、リソース使用率を向上させることができます。
仕組み
以下の 3 つの例では、MaxCompute がリソース構成の最適化プランを生成する方法について説明します。
サブスクリプション計算リソースを再構成するための最適化プランの生成
利用シーン
ある企業が特定のサブスクリプション計算リソースを購入しました。 現在のリソース構成プランでは、ジョブ用に 1,000 予約済み計算ユニット (CU) が構成されています。 2 つのバッチジョブが毎日、予約済み CU を消費します。
最初のバッチジョブ:すべてのジョブは毎日 01:00 までに送信および開始されます。 企業は 02:00 までにジョブを完了することを期待しています。 現在のリソース構成では、ジョブは期待どおりに完了できません。
2 番目のバッチジョブ:すべてのジョブは毎日 05:00 までに送信および開始されます。 企業は 06:00 までにジョブを完了することを期待しています。
リソースコスト (リスト価格):月次計算リソースコストは、1,000 CU × 22.0 米ドル/CU = 22,000 米ドルです。
プラン生成ロジック
システムは、基本的なシナリオ情報に基づいて、毎日の CU リクエスト数を見積もります。

30 日間の 2 つのバッチジョブの実行結果に基づいて、システムは 2 つのバッチジョブで個別に消費される CU 時間を見積もります。 以下に、見積もり値を示します。
最初のバッチジョブ
ジョブは 1,500 CU を消費し、1 時間実行されます。 リソース使用量は 1,500 CU × 1 h = 1,500 CU 時間です。
2 番目のバッチジョブ
ジョブは 750 CU を消費し、1 時間実行されます。 リソース使用量は 750 CU × 1 h = 750 CU 時間です。
システムは、2 つのバッチジョブの期待される完了時間に基づいて、02:00 と 06:00 の 2 つの見積もり時点を設定します。
システムは、現在のリソース構成に基づいてリソース消費量を見積もります。
説明以下のメトリックのデータは、CU 時間に基づいて見積もられます。 計算ロジックの詳細については、このトピックの「用語」をご参照ください。

最初のバッチジョブでは 1,500 CU 時間が必要で、1,000 の予約済み CU が構成されています。 最初のバッチジョブは 1.5 時間で完了できます。 この場合、最初のバッチジョブは 02:30 に完了できます。 ジョブの遅延は 30 分です。
2 番目のバッチジョブでは 750 CU 時間が必要で、1,000 の予約済み CU が構成されています。 2 番目のバッチジョブは 0.75 時間で完了できます。 この場合、すべてのジョブは約 05:45 に完了します。 冗長な CU が利用可能で、ジョブの遅延はありません。
現在のリソース構成に基づく見積もりは次のとおりです:
見積もりメトリック
計算式
最初のバッチジョブ
2 番目のバッチジョブ
要件充足率
期待される完了時間:
使用済み CU 時間/実際に必要な CU 時間66.67%
(リソース不足)
100%
(リソースの冗長性)
ジョブの遅延
ジョブが期待される完了時間までに完了しない場合:
実際の完了時間 - 期待される完了時間30 分
0 分
システムは、出力目標に基づいて最適なリソース構成の最適化プランを生成します。 出力目標とは、関連するすべてのジョブが完了すると期待される時間を指します。

最適化プラン:750 の予約済み CU と、01:00 から 02:00 までの期間に 750 の弾力的な予約済み CU。
最適化の結果:
2 つのバッチジョブについて、要件充足率は 100% で、ジョブの遅延は 0 分です。
リソースコスト (リスト価格):750 CU × 22.0 米ドル/CU + 750 CU × 0.0488 米ドル/CU/H × 1 H × 30 = 17,598 米ドル。 これは、最適化前の月次計算コスト 1,000 CU × 22.0 米ドル/CU = 22,000 米ドルから 4,402 米ドルの削減に相当します。
従量課金プロジェクトの新規サブスクリプションクォータへの変更
シナリオ
ある企業が従量課金モードで課金される MaxCompute をアクティベートしました。 プロジェクト A では、2 つのバッチジョブが毎日固定された期間に実行されます。
最初のバッチジョブ:すべてのジョブは毎日 01:00 までに送信および開始されます。 企業は 02:00 までにジョブを完了することを期待しています。
2 番目のバッチジョブ:すべてのジョブは毎日 05:00 までに送信および開始されます。 企業は 06:00 までにジョブを完了することを期待しています。
リソースコスト (リスト価格):従量課金 SQL ジョブは、データスキャン量に基づいて課金されます。 1 日あたりの平均データスキャン量は約 1,200 GB です。 月次計算コストは1,200 GB × 0.0438 米ドル/GB × 30 = 1,576.8 米ドルです。
企業は、プロジェクト A の計算ジョブを実行するためにサブスクリプション計算クォータを購入したいと考えています。
プラン生成ロジック
システムは、基本的なシナリオ情報に基づいて、毎日の CU リクエスト数を見積もります。
30 日間の 2 つのバッチジョブの実行結果に基づいて、システムは 2 つのバッチジョブで個別に消費される CU 時間を見積もります。 以下に、見積もり値を示します。
最初のバッチジョブ
ジョブは 100 CU を消費し、1 時間実行されます。 リソース使用量は 100 CU × 1 h = 100 CU 時間です。
2 番目のバッチジョブ
ジョブは 50 CU を消費し、1 時間実行されます。 リソース使用量は 50 CU × 1 h = 50 CU 時間です。
システムは、2 つのバッチジョブの期待される完了時間に基づいて、02:00 と 06:00 の 2 つの見積もり時点を設定します。 システムは出力目標も設定します。 デフォルトでは、ジョブの遅延は許可されません。
システムは、出力目標に基づいて最適なリソース構成の最適化プランを生成します。 出力目標とは、関連するすべてのジョブが完了すると期待される時間を指します。

最適化プラン:50 の予約済み CU と、01:00 から 02:00 までの期間に 50 の弾力的な予約済み CU。
最適化の結果:
2 つのバッチジョブについて、要件充足率は 100% で、ジョブの遅延は 0 分です。
リソースコスト (リスト価格):50 CU × 22.0 米ドル/CU + 50 CU × 0.0488 米ドル/CU/H × 1 H × 30 = 1,173.2 米ドル。 これは、最適化前の月次計算コスト 1,576.8 米ドルから 403.6 米ドルの削減に相当します。
従量課金プロジェクトの既存サブスクリプションクォータへの切り替え
シナリオ
ある企業が特定のサブスクリプション計算リソースを購入しました。 現在のリソース構成プランでは、ジョブ用に 1,000 予約済み計算ユニット (CU) が構成されています。 2 つのバッチジョブが毎日、予約済み CU を消費します。
最初のバッチジョブ:すべてのジョブは毎日 01:00 までに送信および開始されます。 企業は 02:00 までにジョブを完了することを期待しています。
2 番目のバッチジョブ:すべてのジョブは毎日 05:00 までに送信および開始されます。 企業は 06:00 までにジョブを完了することを期待しています。
リソースコスト (リスト価格):月次計算リソースコストは1,000 CU × 22.0 米ドル/CU = 22,000 米ドルです。
企業は従量課金モードで課金される MaxCompute をアクティベートしました。 プロジェクト A では、2 つのバッチジョブが毎日固定された期間に、従量課金リソースで実行されます。
最初のバッチジョブ:すべてのジョブは毎日 01:00 までに送信および開始されます。 企業は 02:00 までにジョブを完了することを期待しています。
2 番目のバッチジョブ:すべてのジョブは毎日 05:00 までに送信および開始されます。 企業は 06:00 までにジョブを完了することを期待しています。
リソースコスト (リスト価格):従量課金 SQL ジョブは、データスキャン量に基づいて課金されます。 1 日あたりの平均データスキャン量は約 4,200 GB です。 月次計算コストは4,200 GB × 0.0438 米ドル/GB × 30 = 5,518.8 米ドルです。
計算リソースの月次総コストは22,000 + 5,518.8 = 27,518.8 米ドルです。
企業は、プロジェクト A の計算ジョブを既存のサブスクリプションクォータで実行し、ジョブが期待される時間に完了できるようにしたいと考えています。
MaxCompute 計算リソース最適化プランの生成ロジック
システムは、基本的なシナリオ情報に基づいて、従量課金プロジェクトとサブスクリプションクォータの毎日の CU リクエスト数を見積もります。
過去 30 日間のサブスクリプションクォータでの 2 つのバッチジョブの実行データに基づいて、システムは各バッチを完了するために必要なリソース (CU 時間) を予測します。 予測値は次のとおりであると仮定します:
最初のバッチジョブ
ジョブには 1,500 CU が必要で、1 時間実行されます。 リソース使用量は 1,500 CU × 1 h = 1,500 CU 時間です。
2 番目のバッチジョブ
ジョブには 750 CU が必要で、1 時間実行されます。 リソース使用量は 750 CU × 1 h = 750 CU 時間です。
過去 30 日間のプロジェクト A での 2 つのバッチジョブの実行データに基づいて、システムは各バッチを完了するために必要なリソース (CU 時間) を予測します。 予測値は次のとおりであると仮定します:
最初のバッチジョブ
ジョブには 500 CU が必要で、1 時間実行されます。 リソース使用量は 500 CU × 1 h = 500 CU 時間です。
2 番目のバッチジョブ
ジョブには 250 CU が必要で、1 時間実行されます。 リソース使用量は 250 CU × 1 h = 250 CU 時間です。
システムは、2 つのバッチジョブの期待される完了時間に基づいて、02:00 と 06:00 の 2 つの見積もり時点を設定します。

システムは、サブスクリプションクォータの現在のリソース構成に基づいてリソース消費量を見積もります。
説明以下のメトリックのデータは、CU 時間に基づいて見積もられます。 計算ロジックの詳細については、このトピックの「用語」をご参照ください。

従量課金プロジェクト A の最初のバッチジョブがサブスクリプションクォータに追加された後、クォータ内のすべての最初のバッチジョブを実行するには 2,000 CU 時間が必要で、1,000 の予約済み CU が構成されています。 最初のバッチジョブは 2 時間で完了できます。 この場合、最初のバッチジョブは 03:00 に完了します。 ジョブの遅延は 1 時間です。
従量課金プロジェクト A の 2 番目のバッチジョブがサブスクリプションクォータに追加された後、クォータ内のすべての 2 番目のバッチジョブを実行するには 1,000 CU 時間が必要で、1,000 の予約済み CU が構成されています。 2 番目のバッチジョブは 1 時間で完了できます。 この場合、すべてのジョブは約 06:00 に完了します。 ジョブの遅延はありません。
現在のリソース構成の見積もりは次のとおりです:
見積もりメトリック
計算式
最初のバッチジョブ
2 番目のバッチジョブ
要件充足率
期待される完了時間でのリソース消費量に基づいて計算:使用済み CU 時間/実際に必要な CU 時間
50% (リソース不足)
100%
ジョブの遅延
ジョブが期待される完了時間までに完了しない場合に計算:実際の完了時間 - 期待される完了時間
1 時間
0 分
システムは、出力目標に基づいて最適なリソース構成の最適化プランを生成します。 出力目標とは、関連するすべてのジョブが完了すると期待される時間を指します。 システムは、サブスクリプションクォータの現在のリソース構成に基づいてリソース消費量を見積もります。

最適化プラン:1,000 の予約済み CU と、01:00 から 02:00 までの期間に 1,000 の弾力的な予約済み CU。
最適化の結果:
2 つのバッチジョブについて、要件充足率は 100% で、ジョブの遅延は 0 分です。
リソースコスト (リスト価格):1,000 CU × 22.0 米ドル/CU + 1,000 CU × 0.0488 米ドル/CU/H × 1 H × 30 = 23,464 米ドル。 これは、最適化前の月次計算コスト 27,518.8 米ドルから 4,054.8 米ドルの削減に相当します。
用語 (クリックして展開)
制限事項
MaxCompute は、レベル 1 サブスクリプションクォータの計算リソースと従量課金計算リソースについてのみ、計算リソースを分析し、リソース構成最適化プランを生成できます。
説明MaxCompute 計算リソースは、従量課金、サブスクリプション、時間単位課金の 3 つの課金方法をサポートしています。 さまざまなリソースの課金の詳細については、「課金項目と課金方法」をご参照ください。
クォータ管理機能を使用して、MaxCompute 計算リソースをさまざまなレベルのクォータに割り当てることができます。 詳細については、「新しい MaxCompute コンソールでクォータを管理する」をご参照ください。
この機能は、中国 (杭州)、中国 (上海)、中国 (北京)、中国 (張家口)、中国 (深セン)、中国 (成都)、中国 (香港)、シンガポール、インドネシア (ジャカルタ)、ドイツ (フランクフルト) の各リージョンでのみ利用できます。
操作手順
MaxCompute コンソールにログインし、左上隅でリージョンを選択します。
左側のナビゲーションウィンドウで、を選択します。
Intelligent Optimization > Computing Resource Config Optimizationページで、クォータ名ドロップダウンリストからクォータを選択します。
サブスクリプション計算クォータを選択した場合、既存のサブスクリプション計算リソースのスペックアップまたはスペックダウンに関する推奨事項を表示できます。
従量課金計算クォータを選択した場合、プロジェクトを従量課金計算リソースからサブスクリプション計算リソースに切り替えるための推奨リソース構成プランと予測結果を表示できます。 従量課金 Standard Edition クォータのデフォルト名は PayAsYouGoQuota_p です。
従量課金計算クォータを選択した場合は、分析したい従量課金 Standard Edition 計算リソースにアタッチされているプロジェクトを選択します。
プロジェクトリストには、分析要件を満たす従量課金プロジェクトのみが含まれます。 プロジェクトは、過去 7 日間、毎日ジョブを実行している必要があります。 プロジェクトリストのデータは、毎日 00:00:00 に更新されます。
スムーズなページエクスペリエンスを確保するために、一度に最大 20 のプロジェクトを評価対象として選択できます。
変数式はデフォルトで選択されています。
既存のサブスクリプションクォータがある場合、最適化機能は既存のサブスクリプションクォータのリソースリクエストに基づいて変更を評価し、推奨します。
サブスクリプションクォータがない場合、最適化機能は指定されたプロジェクトのリソースリクエストに基づいて新しいサブスクリプションクォータの購入を推奨します。
Intelligent Optimization > Computing Resource Config Optimizationページで、コンピューティング要件の分析をクリックします。
特定のプライマリサブスクリプションクォータグループの毎日の CU 予測グラフを表示して、予測される毎日のリソース要件を理解できます。 変数式に既存の事前購入プライマリクォータを使用する場合、スペックアップまたはスペックダウンされるプロジェクトの計算需要と既存のサブスクリプションクォータを組み合わせた累積予測を表示できます。
過去のジョブリクエストデータが不十分な場合、またはデータに規則的なパターンが見られない場合は、この機能を使用できません。
チャートの見積もり値は、30 日間のジョブリクエストデータに基づいて、周期特定・分解アルゴリズムを使用して計算されます。
評価時点の設定エリアで、評価時点をジョブの期待される完了時間に設定します。 ポイント全体を選択、ハーフポイントを選択、または 選択解除をクリックします。
MaxCompute は、設定された見積もり時点に基づいて、さまざまなリソース構成プランでリソースが十分であるか、ジョブが遅延するかどうかを評価します。 ロジックの詳細については、「仕組み」をご参照ください。
構成例:
すべてのジョブを毎日 05:00 までに完了させたい場合は、見積もり時点を 05:00 に設定します。
前日の 05:00:00 から当日の 05:00:00 までに送信されたすべてのジョブは、1 つのバッチジョブと見なされます。 当日の 05:00:00 時点でのこのバッチジョブの要件充足率とジョブ遅延を見積もることができます。
最初のバッチジョブを 02:00 までに、2 番目のバッチを毎日 10:00 までに完了させたい場合は、02:00 と 10:00 のように 2 つの見積もり時点を設定します。 すると、システムは次の処理を行います:
前日の 10:00:00 から当日の 02:00:00 までに送信されたすべてのジョブは、最初のバッチジョブと見なされます。 当日の 02:00:00 時点でのこのバッチジョブの要件充足率とジョブ遅延を見積もることができます。
当日の 02:00:00 から 10:00:00 までに送信されたすべてのジョブは、2 番目のバッチジョブと見なされます。 当日の 10:00:00 時点でのこのバッチジョブの要件充足率とジョブ遅延を見積もることができます。
出力ターゲットの設定エリアで、最適化後のジョブの目標完了時間を設定します。
デフォルトでは、最適化目標時点は見積もり時点です。 ジョブ出力のために余分な時間を確保するために、見積もり時点より前の時点を設定することもできます。 または、許容される最大のジョブ遅延を設定して、リソースコストを削減するためにジョブ出力に特定の遅延を許容することもできます。
推奨シナリオの表示をクリックして、最適化結果と推奨構成の詳細を表示します。
最適化の結果は、推奨プランの CU 消費シミュレーションとしても表示されます。 この情報は現在のプラン評価チャートと一致しており、比較に使用できます。
重要推奨プランは参照用であり、最適化目標が完全に達成されることを保証するものではありません。 必要に応じて構成を段階的に変更し、変更後の結果を監視することを推奨します。
推奨プログラムエリアで、推奨プランをローカルコンピューターにダウンロードできます。
さまざまな推奨事項を保存して比較するには、プランを
.xlsxファイルとしてダウンロードします。 次に、必要に応じて 設定に移動をクリックし、クォータ管理ページでクォータを構成します。
次のステップ
最適化プランが生成された後、プランで提供される計算リソース構成に基づいて、最適化された計算リソースコストを評価できます。
月次計算リソースコスト (カタログ価格) = 購入したサブスクリプション CU 数 × 22.0 米ドル (月額) + 弾力的な予約済み CU 数 × スケーリング期間 (時間) × 0.0488 米ドル (CU/時間あたり) × 30サブスクリプションリソースの課金の詳細については、「」および「コスト計算 (従量課金)」をご参照ください。 実際の価格は、注文送信ページの価格に準じます。
プランのコストと最適化目標に基づいて、コストと最適化された完了時間を評価します。 最適化プランに基づいてサブスクリプションリソースを購入し、構成を段階的に変更し、変更後のジョブ実行結果を監視します。
関連ドキュメント
計算リソース最適化機能を使用するためのベストプラクティス:「コスト最適化機能を使用してコスト効率を達成する」。
MaxCompute のコスト最適化の詳細については、次のトピックをご参照ください: