MaxCompute には、コンピューティングリソース構成最適化とも呼ばれるコスト最適化機能が提供されています。この機能は、ジョブの要件とリソース構成を分析し、サブスクリプション レベル 1 クォータのコンピューティングリソースに対して最適なプランを生成します。以下の典型的なシナリオでは、この機能を使用してコストを削減し、効率を向上させる方法を説明します。
注意事項
-
本トピックに記載されている価格は参考価格です。実際の価格については、プロダクト購入ページをご確認ください。
-
ビジネス要件に基づき、推奨プランへの移行を段階的に進め、変更適用後のパフォーマンスをモニタリングすることを推奨します。
シナリオ 1:アイドル状態のサブスクリプションリソースによる高コスト
データウェアハウス構築の初期段階にある企業は、午前 8 時までに重要な朝一番のバッチジョブを完了させるために、200 CU の予約済みサブスクリプションコンピューティングリソースを購入しました。これらのリソース上で毎日 520 件のジョブが実行され、すべて定刻またはそれより早く完了していますが、月間コンピューティングコストは4,400 USDに達しています。
最近、ビッグデータ部門はコスト削減の OKR を受けました。部門長は、重要なジョブの完了時間に影響を与えることなくコストを削減したいと考えていましたが、最適なプランの策定方法が分かりませんでした。そこで、データエンジニアが MaxCompute のコスト最適化機能の使用を提案し、以下の手順を実演しました。
-
コスト最適化ページに移動します。
-
MaxCompute コンソールにログインします。左上隅でリージョンを選択し、左側のナビゲーションウィンドウで インテリジェント最適化 > 計算リソース構成の最適化 を選択します。
-
計算リソース構成の最適化 ページで、サブスクリプション レベル 1 クォータを選択し、日次の CU リクエスト予測を表示します。

CU リクエスト予測は現在のワークロードを正確に反映しており、毎時少量のジョブバッチが実行され、
05:00から08:00の間にピークを迎えます。 -
-
推定時刻ポイントを設定します。
評価時点の設定 セクションで、エンジニアはビジネスワークフローに基づき、
05:00および08:00の 2 つの推定時刻ポイントを設定します。これにより、重要なジョブ前のジョブが 05:00 までに完了し、重要なバッチ自体が 08:00 までに完了することが保証されます。 -
現在のプランの評価結果を確認します。
現状構成の評価 をクリックし、現在のリソース構成下でのジョブ完了状況を確認します。

[CU 消費シミュレーション] チャートによると、現在の構成(200 CU の予約済み)ではジョブ遅延は発生していませんが、著しいリソースのアイドル時間が存在しており、コスト最適化の余地があることを示しています。
-
最適化目標を設定します。
[CU 消費シミュレーション] チャートの下にある 最適化目標の設定 セクションには、各推定時刻ポイントにおける現在の遅延状況が表示されており、シミュレーションチャートと一致しています。
エンジニアは、最適化目標がデフォルトで推定時刻ポイントに設定されており、必要なジョブ完了時間と一致していることに気付きます。その後、推奨プランの生成 をクリックします。
-
推奨プランを確認します。
推奨プランでは、50 の予約済み CU を購入し、タイムウィンドウ
04:00–05:00および06:00–08:00に 50 のエラスティック予約 CU を追加することを提案しています。重要なジョブは引き続き08:00前に完了すると推定されていますが、月額コンピューティングコストは 1,319.6 USD に低下します — 現在のプランと比較して約 70% の節約になります。
30 分の遅延がビジネスに大きな影響を及ぼさないと判断し、エンジニアは最適化目標を調整することにしました。
-
最適化目標を調整します。
最適化目標の設定 セクションに戻り、
08:00の推定時刻ポイントの最適化目標を08:30に変更します。 -
新しい推奨プランを確認します。
[推奨プランの生成] を再度クリックします。新しいプランでは、タイムウィンドウ
04:00–05:00および06:00–07:00について、50 予約 CU の購入と 50 エラスティック予約 CU の追加が提案されています。クリティカルジョブは08:30より前に完了すると推定され、計算コストはさらに 1,246.4 USD に低下します — 現在のプランと比べて約 71.7% の節約になります。
-
推奨プランを段階的に実施します。
部門は段階的な実施を採用し、まず予約済み CU を 100 に削減し、試用期間後に再評価することにしました。ジョブ量が大幅に増加しなかったため、システムは引き続き縮小と弾力的予約済み CU の追加を推奨しました。チームは当初の推奨プランを実施し、遅延は発生しませんでした。試用運用の結果、重要なジョブはほぼ毎日定刻通りに完了し、チームはコンピューティングコストの削減に成功しました。
シナリオ 2:サブスクリプションリソース不足によるジョブ遅延
ある企業は、データウェアハウス用に 60 CU の予約済みサブスクリプションコンピューティングリソースを購入しました。これらのリソース上で毎日 520 件のジョブが実行され、05:00 頃から開始される重要なジョブバッチは 08:00 までに完了することが期待されています。ビジネスの拡大とデータ量の増加に伴い、エンジニアは予約済み CU 不足による頻繁なジョブ遅延に気付きました。コストを大幅に増加させることなく遅延を解消するため、エンジニアは MaxCompute コンソールのコスト最適化機能を使用しました。
-
コスト最適化ページに移動します。
-
MaxCompute コンソールにログインします。左上隅でリージョンを選択します。左側のナビゲーションウィンドウで、インテリジェント最適化 > 計算リソース構成の最適化 を選択します。
-
計算リソース構成の最適化 ページで、サブスクリプション レベル 1 クォータを選択し、日次の CU リクエスト予測を表示します。

CU リクエスト予測は現在のワークロードと一致しており、毎時少量のジョブが実行され、
05:00から08:00の間にピークを迎えます。
-
-
推定時刻ポイントを設定します。
評価時点の設定 セクションで、エンジニアはビジネスワークフローに基づき、
05:00および08:00の 2 つの推定時刻ポイントを設定します。これにより、重要なジョブ前のジョブが 05:00 までに完了し、重要なバッチが 08:00 までに完了することが保証されます。 -
現在のプランの評価結果を確認します。
現状構成の評価 をクリックし、現在のリソース構成下でのジョブ完了状況を確認します。

CU 消費シミュレーションチャートによると、現在の構成(60 CU の予約済み)では、
05:00前に送信されたジョブは 3 分の遅延が推定されています。05:00から08:00の間に送信された重要なジョブは、最大 48 分の遅延が推定されています。このシミュレーションは実際に観測された遅延と一致しています。 -
最適化目標を設定します。
[CU 消費シミュレーション] チャートの下にある 最適化目標の設定 セクションには、各推定時刻ポイントにおける現在の遅延状況が表示されており、シミュレーションチャートと一致しています。
エンジニアは、最適化目標が希望の完了時間にデフォルトで設定されていることを確認し、推奨プランの生成 をクリックします。
-
推奨プランを確認します。
CU 消費シミュレーション(推奨プラン) チャートに示されている推奨プランは、50 CU の予約済みリソースを購入し、
04:00–05:00および06:00–08:00のタイムウィンドウに 50 CU の弾力的予約済みリソースを追加することです。このプランにより、05:00および08:00の期限に対する遅延が解消され、現在のプランと比較して0.4 USD/月のコスト削減が実現されます。
-
推奨プランを構成します。
推定コストは許容範囲内であるため、エンジニアはまず予約済み CU を即座に調整せずに、推奨された弾力的予約済み CU のみを構成し、パフォーマンスをモニタリングすることにしました。
-
MaxCompute コンソールの左側ナビゲーションウィンドウで、ワークスペース > クォータ (Quota) 管理 を選択します。
-
クォータ管理 ページで、評価したレベル 1 クォータを見つけ、操作 列の Quota の設定 をクリックします。
-
Quota の設定 ページで、Quota プラン タブに移動し、[プランの追加] をクリックします。
-
[クォータプランの追加] ダイアログボックスで、エラスティックリザーブド CU を
50に設定し、OK をクリックします。 -
推奨されたタイムウィンドウに基づき、クォータのタイムプランを構成します。詳細については、「クォータの構成」をご参照ください。
開始時刻
有効なクォータプラン
00:00
デフォルト
04:00
新しく追加されたクォータプラン。
05:00
デフォルト
06:00
新しく追加されたクォータプラン。
08:00
デフォルト
説明デフォルトプランの弾力的予約済み CU は
0です。
試用期間後、エンジニアは重要なジョブがほぼ毎日定刻通りに完了することを確認し、コンピューティングコストを大幅に増加させることなく開発効率を向上させました。
-