複数のチームやアプリケーションが MaxCompute のサブスクリプションリソースの共通プールを共有するマルチテナント環境では、リソースの競合、予測不能なジョブパフォーマンス、複雑なコスト配分といった課題に直面します。あるチームのリソースを大量に消費する 1 つのクエリが、別のチームの時間的制約のある重要なパイプラインを簡単に枯渇させてしまう可能性があります。クォータ管理は、購入した計算リソースをより小さく、分離され、管理可能なプールに分割することで、この問題を解決します。これらのクォータを設定することで、優先度の高いワークロードのリソースを保証し、「ノイジーネイバー」問題を防止し、詳細な予算管理を実装して、システムの安定性、効率的なリソース利用、予測可能なコストを確保できます。
クォータの概要
MaxCompute クォータは、MaxCompute SQL、MapReduce、Spark、Mars、PAI などの計算ジョブに CPU とメモリを提供するコンピューティングリソースの単位です。
MaxCompute は 2 段階のクォータシステムを使用します:
レベル 1 クォータ:サブスクリプションのリソースプールとして機能します。レベル 1 クォータに対して直接ジョブを実行することはできません。
レベル 2 クォータ:レベル 1 クォータのサブディビジョンです。ジョブはレベル 2 クォータからコンピュートユニット (CU) を消費します。リソースは同じレベル 1 クォータ内のレベル 2 クォータ間で共有できます。
MaxCompute 計算リソースの単位はコンピュートユニット (CU) です。MaxCompute は、サブスクリプションと従量課金の 2 つの課金方法をサポートしています。
計算料金 (サブスクリプション):月単位で予約済み CU を購入すると、システムがそれらのための専用クォータを作成します。月単位の CU を補うために、時間単位で弾性予約 CU を購入できます。課金は購入量と期間に基づきます。ジョブがサブスクリプションクォータ内で実行される場合、そのクォータで購入した量に等しい最大 CU 数を使用できます。レベル 1 クォータ内のレベル 2 クォータへの CU の割り当てをカスタマイズして、予算を管理できます。
計算コスト (従量課金):従量課金モデルでは、システムはプロジェクトを共有のパブリックレベル 2 クォータに割り当てます。このタイプのクォータの CU 割り当てはカスタマイズできません。
クォータの表示
MaxCompute コンソールにログインし、左上のコーナーでリージョンを選択します。
左側のナビゲーションウィンドウで、 を選択します。
クォータ管理 ページで、利用可能なクォータのリストを表示します。
対象のレベル 1 またはレベル 2 クォータにカーソルを合わせ、
アイコンをクリックしてクォータを 懸念を追加 します。概要ページ ページの 私は心配しています セクションで、お気に入りの クォータ (クォータ) を表示できます。
リストには、レベル 1 とレベル 2 のクォータがツリー構造で表示されます。デフォルトでは、Alibaba Cloud アカウント (プライマリアカウント) とその RAM ユーザーがこのリストを表示できます。
サブスクリプションクォータ:レベル 1 クォータの左側にある
アイコンをクリックして、レベル 2 クォータのリストを展開し、現在の設定を表示します。サブスクリプションリソースを購入すると、システムはデフォルトでレベル 1 とレベル 2 のクォータを作成し、割り当てます。従量課金クォータ:レベル 1 クォータの左側にある
アイコンをクリックして、レベル 2 クォータのリストを展開します。従量課金 Standard Edition を有効にすると、システムは Default pay-as-you-go Quota_pという名前のデフォルトのレベル 1 クォータと、Default pay-as-you-go Quotaという名前のレベル 2 クォータを作成し、割り当てます。説明一部の従量課金 クォータのデフォルトのレベル 2 クォータ名は
aliyun_nickです。中国本土以外のリージョンでは、従量課金 のデフォルトのレベル 1 クォータ名が正しく表示されない場合があります。これは表示上の問題であり、クォータの機能には影響しません。各リージョンで作成できる従量課金クォータは 1 つだけであり、リージョンをまたいで使用することはできません。
クォータの設定
設定できるのはサブスクリプションベースのクォータのみです。デフォルトでは、プライマリの Alibaba Cloud アカウントがこの権限を持っています。権限付与を通じて RAM ユーザーにこの権限を付与できます。詳細については、RAM 権限をご参照ください。クォータ設定は、基本設定とスケーリング設定の 2 つの主要な部分で構成されます。
基本設定
各レベル 1 クォータは最大 100 のレベル 2 クォータをサポートします。ビジネスシナリオに基づいてクォータを計画し、設定してください。
基本設定では、レベル 2 クォータの追加または削除、および排他性、単一ジョブの CU 上限、優先度、非予約 CU、スケジューリングポリシーなどの基本パラメーターを設定できます。また、予約済み CU と弾性予約 CU の設定も含まれますが、これは現在アクティブな設定プランにのみ適用されます。リソースのニーズが一日を通して一貫している場合は、基本設定だけで十分です。
スケーリング設定
クォータのスケーリング設定は、時間ベースのスケーリングとも呼ばれ、一日の異なる時間帯にクォータに対して異なる最小および最大の予約済み CU または弾性予約 CU を設定できます。
設定手順
MaxCompute コンソールにログインし、左上のコーナーでリージョンを選択します。
左側のナビゲーションウィンドウで、 を選択します。
クォータ管理 ページで、対象のクォータを見つけ、操作 列の クォータ設定 をクリックします。
支払い方法 が 年と月 のクォータのみ設定できます。
基本的なクォータ設定を行います。
クォータ設定 ページで、基本設定 タブをクリックし、基本設定の編集 をクリックします。
パラメーターは以下の通りです:
パラメーター
説明
クォータ名
カスタム名。名前は文字で始まり、文字、数字、アンダースコア (_) を含めることができます。
データ型
バッチ処理:バッチジョブを実行するために使用されるクォータ。
インタラクティブ:クエリアクセラレーション (MCQA) ジョブの実行専用のクォータ。プロジェクトのデフォルトの計算クォータとして設定する必要はありません。
プロジェクトのデフォルトの計算クォータがサブスクリプションのバッチ処理クォータである場合、クエリアクセラレーションにヒットしたジョブは自動的にインタラクティブクォータにスケジュールされて実行されます。
複数のインタラクティブクォータがある場合、MCQA ジョブはデフォルトで最も早く作成されたインタラクティブクォータにスケジュールされます。そのため、異なるプロジェクトによって開始された MCQA ジョブを異なるインタラクティブクォータにスケジュールするには、クォータルールを使用する必要があります。クォータの詳細については、クォータルールをご参照ください。
予約cu数量 [mincu、maxcu]
月単位の予約済み CU。minCU は保証値、maxCU は上限です。
レベル 1 クォータの予約済み CU は、サブスクリプションベースで購入した CU の数です (minCU=maxCU)。スケールアウトまたはスケールインするには、クォータをスペックアップまたはスペックダウンする必要があります。このパラメーターはここでは編集できません。
maxCU > minCU の場合、レベル 2 クォータは共有モードになります。要求された CU が min 値を超えると、他のクォータのアイドル状態の非排他的な CU がプリエンプトされます。
すべてのレベル 2 クォータの minCU 値の合計は、レベル 1 クォータの minCU 値に等しくなります。
レベル 2 クォータの minCU は、その maxCU 以下でなければならず、maxCU はレベル 1 クォータに購入した minCU 以下でなければなりません。
デフォルトのレベル 2 クォータの minCU と maxCU は編集できません:
デフォルトのレベル 2 クォータの minCU = [レベル 1 クォータの minCU] - [カスタムレベル 2 クォータの minCU 値の合計];maxCU 値は、レベル 1 クォータの maxCU 値と同じです。
現在、レベル 2 クォータの minCU を 0 に設定することはできません。
新しいクォータの場合
この設定は、現在アクティブな設定プランにのみ適用されます。
複数のスケーリング設定プランが存在する場合、新しいクォータは作成後にすべてのプランに追加されます。現在アクティブなプラン以外のプランでは、デフォルトの予約済み minCU は 1 です (デフォルトのサブスクリプションレベル 2 クォータから差し引かれます)。したがって、CU の数を調整するには、スケーリング設定 タブで設定プランを編集します。
予約弾性cu
時間単位で予約される弾性 CU の数。弾性予約 CU の課金に関する詳細については、計算コスト (時間単位課金) をご参照ください。
レベル 1 クォータの弾性予約 CU は、予約する必要がある CU の数です。デフォルト値は 0 です。最大値は、クォータに購入したサブスクリプション予約済み CU の数であり、10,000 CU を超えることはできません。これは在庫にも左右され、スケールアウト設定中に在庫チェックが実行されます。スケールアウト容量は、少なくとも 50 CU または 50 の倍数でなければなりません。
レベル 2 クォータの弾性予約 CU は次のように定義されます:
すべてのレベル 2 クォータの弾性予約 CU の合計は、レベル 1 クォータの弾性予約 CU に等しくなります。
デフォルトのレベル 2 クォータの弾性予約 CU は編集できません。これは、レベル 1 クォータの弾性予約 CU からカスタムレベル 2 クォータの弾性予約 CU の合計を引いて計算されます。
新しいクォータの場合
この設定は、現在アクティブな設定プランにのみ適用されます。
複数のスケーリング設定プランが存在する場合、新しいクォータは作成後にすべてのプランに追加されます。現在アクティブなプラン以外のプランでは、デフォルトの弾性予約 CU は 0 です。したがって、CU の数を調整するには、スケーリング設定 タブで設定プランを編集します。
限定
クォータを強力に排他的にするかどうかを指定します。クォータが排他的である場合、その CU はアイドル状態であっても他のクォータグループに占有されることはありません。
このパラメーターはレベル 2 クォータに対してのみ設定できます。レベル 2 クォータのタイプが インタラクティブ の場合、このパラメーターはデフォルトで排他的に設定され、変更できません。
これは、BI や ALGO などのサービスを実行するクォータグループに適用されます。このタイプのジョブはいつでも使用される可能性があります。他のクォータに長時間占有されて解放されないことを防ぐ必要があります。クォータの最大値が最小値より大きい場合、他のアイドルクォータを占有する可能性があります。
単一ジョブcu上限
このクォータで実行されるジョブの同時 CU の上限を設定します。空の値は制限なしを示します。
0の値は絶対的な制限を示します。正の整数を入力して、適切な制限を設定できます。レベル 2 クォータのタイプがインタラクティブの場合、このパラメーターはデフォルトで利用できません。
これにより、単一のジョブが長時間にわたって多くの CU を占有し、他のジョブがリソースを待つ原因となるのを防ぎます。また、実行するコードの前に
set odps.task.max.concurrent.cu=<CU_amount>;コマンドを実行することで、ジョブレベルで制限を設定することもできます。ジョブレベルの設定は、クォータレベルの設定よりも優先度が高くなります。
優先度を開く
優先度機能。詳細については、ジョブの優先度をご参照ください。
このクォータで実行されるジョブは優先度付きで実行されます。これは、プロジェクトレベルで優先度が有効になっている場合にも効果があります。レベル 2 クォータのタイプが インタラクティブ の場合、このパラメーターはデフォルトで利用できません。
非予約cu
月単位の非予約 CU の数。
レベル 1 クォータの非予約 CU は、サブスクリプションベースで購入した非予約 CU の数です。スケールアウトまたはスケールインするには、クォータをスペックアップまたはスペックダウンする必要があります。現在の在庫不足のため、スケールアウトはできません。このパラメーターはここでは編集できません。
レベル 2 クォータの非予約 CU は次のように定義されます:
すべてのレベル 2 クォータの非予約 CU の合計は、レベル 1 クォータの非予約 CU に等しくなります。
デフォルトのレベル 2 クォータの非予約 CU は編集できません。これは、レベル 1 クォータの非予約 CU からカスタムレベル 2 クォータの非予約 CU の合計を引いて計算されます。
スケジューリングポリシー
MaxCompute レベル 2 クォータのスケジューリングポリシーには、FAIR と FIFO があります。
FAIR (フェアスケジューリング)
ジョブの優先度が同じ場合、リソースは同時に送信されたすべてのジョブに均等に割り当てられます。
ジョブの優先度が異なる場合、リソースはまず優先度の高いジョブに均等に割り当てられます。リソースが残っている場合、次に優先度の低いジョブに均等に割り当てられます。
FIFO (先入れ先出し)
ジョブの優先度が同じ場合、リソースは最初に送信されたジョブに割り当てられます。
ジョブの優先度が異なる場合、優先度の低いジョブよりも後に送信された場合でも、リソースは優先度の高いジョブに割り当てられます。
必要に応じて適切なスケジューリングポリシーを選択してください。インタラクティブなレベル 2 クォータにはスケジューリングポリシーを設定できません。詳細については、計算リソース - クォータスケジューリングポリシーをご参照ください。
重要2023 年 5 月 24 日以降、中国 (杭州)、中国 (上海)、中国 (北京)、中国 (張家口)、中国 (ウランチャブ)、中国 (深セン)、および中国 (成都) リージョンの新しいレベル 2 クォータのデフォルトのスケジューリングポリシーは FIFO です。この日より前にこれらのリージョンで作成されたレベル 2 クォータのデフォルトのスケジューリングポリシーは FAIR です。
クォータの削除
クォータ設定 ページで、基本設定 タブをクリックし、対象のクォータを見つけて 操作 列の 削除 をクリックします。
レベル 2 クォータを削除すると、システムはすべてのリソース設定プランからそれを削除します。対応する
minCUと弾性予約 CU は、デフォルトのレベル 2 クォータに戻されます。調整を行うには、スケーリング設定 タブで設定プランを編集します。
クォータのスケーリング設定
サブスクリプションの MaxCompute プロジェクトを購入すると、各レベル 1 クォータには
Defaultという名前のデフォルトのリソース設定プランがあります。各リソース設定プランには、レベル 1 クォータとそのすべてのレベル 2 クォータの予約済み CU と弾性予約 CU の設定が含まれています。スケジュールされたスケーリング管理で複数の設定プランを使用して、一日の異なる時間帯に異なる設定が必要なシナリオに対応できます。たとえば、レベル 2 クォータが 00:00-08:00 と 08:00-24:00 の期間で異なる CU 要件を持つ場合、2 つのクォータ設定プランを作成し、スケジュールされたスケーリング管理を使用してそれらを切り替えることができます。
説明最大 48 のリソース設定プランを追加できます。各プランは、一日の異なる時間帯に有効になるように異なる設定を持つことができます。
クォータ設定 ページで、スケーリング設定 タブをクリックします。
スケーリング設定 タブで、新しい構成スキーム をクリックします。新しい構成スキーム ダイアログボックスで、構成スキーム名 を入力し、レベル 2 クォータの 予約cu数量 [mincu、maxcu] と 予約弾性cu を設定します。
OK をクリックしてプランを追加します。
スケーリング設定 タブで、対象の設定プランを見つけ、操作 列の すぐに有効 をクリックしてすぐに適用します。また、タイムシェアリング管理 を設定する際に既存のプランを使用することもできます。
任意の設定プランに対して すぐに有効 をクリックできます。時間ベースの管理スケジュールが設定されている場合、プランは次のスケジュールされたプランによって上書きされます。したがって、特定プランを手動で有効化してアクティブな状態を維持したい場合は、他のすべての時間ベースの設定をクリアする必要があります。これにより、操作がすぐに有効になり、上書きされないことが保証されます。
(オプション) リソース設定プランで他の操作を実行します:
設定プランの表示
スケーリング設定 タブで、構成スキーム名 の左側にある
アイコンをクリックして、プランの詳細を展開し、各プランの情報を表示します。設定プランの編集
スケーリング設定 タブで、対象の設定プランを見つけ、操作 列の 編集 をクリックして更新します。
現在アクティブなプランを編集する場合は、変更を適用するために 操作 列の すぐに有効 をクリックする必要もあります。
設定プランの削除
スケーリング設定 タブで、対象の設定プランを見つけ、操作 列の 削除 をクリックして削除します。
デフォルトプランと現在アクティブなプランは削除できません。
設定プランのクローン
スケーリング設定 タブで、対象の設定プランを見つけ、操作 列の クローニング をクリックしてプランのコピーを作成します。
時間ベースの管理の設定
一日の異なる時間帯に異なるクォータ設定プランを有効にすることができます。これにより、クォータ設定の時間ベースの管理が可能になります。
説明時間ベースのスケジューリングには最大 5 分の遅延が発生する場合があります。
スケーリング設定 タブで、タイムシェアリング管理 エリアの タイムプランの編集 をクリックします。
有効期間を追加 をクリックし、[有効開始時間]と 設定シナリオプラン を選択します。
説明全体的な時間プランは 1 つだけです。デフォルトの開始時刻は 00:00 で、変更または削除はできず、
Default設定プランに対応しています。これは変更可能です。他の開始時刻を追加しない場合、一日を通して同じ設定プランが使用されます。正時および 30 分ごとに異なる設定プランを有効にできます。単一の設定プランを複数回有効にすることもできます。
クォータ消費量の表示
レベル 1 クォータ内の CU リソースの消費量を表示します。デフォルトでは、プライマリアカウントとその RAM ユーザーがこの情報を表示できます。
MaxCompute コンソールにログインし、左上のコーナーでリージョンを選択します。
左側のナビゲーションウィンドウで、 を選択します。
クォータ管理 ページで、対象のクォータを見つけ、操作 列の リソース消費 をクリックします。
リソース消費 ページで、レベル 2 クォータの左側にある
アイコンをクリックして展開すると、CPUリソース (単位: コア) と [メモリリソース (単位: GB)] の消費トレンドチャート、クォータ、および関連付けられたプロジェクトのリストが表示されます。CPUリソース (単位: コア) と [メモリリソース (単位: GB)]では、さまざまなレベル 2 クォータと時間範囲を選択して、さまざまなタイプの CU の使用状況の傾向を表示できます。 時点をクリックすると、その時点のジョブスナップショットリストを表示できます。
クォータと関連プロジェクトのリストには、対応するレベル 2 クォータをデフォルトの計算クォータとして使用するプロジェクトが表示されます。
クォータルール
クォータルールを設定して、特定の条件を満たすジョブを特定のクォータにスケジュールすることができます。詳細については、クォータルールをご参照ください。
クォータタグ管理
MaxCompute では、レベル 1 のサブスクリプションクォータにタグをアタッチしたり、デタッチしたりすることができます。タグの詳細な使用方法と制限については、タグとはをご参照ください。
MaxCompute コンソールにログインし、左上のコーナーでリージョンを選択します。
左側のナビゲーションウィンドウで、 を選択します。
タグの作成
クォータ管理 ページで、利用可能なクォータのリストを表示します。
単一のレベル 1 クォータにタグを作成します。
対象の最上位のクォータ(年と月の課金方法の場合のみ)のラベル列にある
アイコンにカーソルを合わせ、編集または編集をクリックします。タグが作成されていない場合は 編集 が表示されます。それ以外の場合は 編集 が表示されます。
タグの設定 ダイアログボックスで、タグキー と タグ値 を入力します。
OK をクリックします。タグを設定しました ダイアログボックスで、閉じる をクリックします。
複数のレベル 1 クォータに一括でタグを作成します。
一括でタグを追加したいレベル 1 クォータを選択し、ページ下部の バッチマーキング をクリックします。
タグの設定 ダイアログボックスで、タグキー と タグ値 を入力します。
OK をクリックします。タグを設定しました ダイアログボックスで、閉じる をクリックします。
タグによるフィルタリング
クォータ管理 ページで、タグでフィルタリング をクリックして、タグキーと値でクォータをフィルタリングします。
(オプション) タグのデタッチ
単一のレベル 1 クォータからタグをデタッチします。
対象のレベル 1 クォータの ラベル 列の
アイコンにカーソルを合わせ、編集 をクリックします。タグの設定 ダイアログボックスで、デタッチしたいタグの横にある
アイコンをクリックします。OK をクリックします。タグを設定しました ダイアログボックスで、閉じる をクリックします。
複数のレベル 1 クォータから一括でタグをデタッチします。
一括でタグをデタッチしたいレベル 1 クォータを選択し、ページ下部の バッチ削除ラベル をクリックします。
複数リソースのタグの削除 ダイアログボックスで、デタッチしたいタグを選択します。
[x 個のタグをデタッチ] (x はデタッチするタグの数) をクリックします。タグを設定しました ダイアログボックスで、閉じる をクリックします。