計算クォータ

GitLab 16.1では “CI/CD minutes “から “compute quota “または “compute minutes “に改名されました。

note
CI/CD minutes という用語はcompute minutesに改名されます。この移行期間中、UI やドキュメントでCI/CD minutes,CI minutes,pipeline minutes,CI pipeline minutes,pipeline minutes quota,compute credits,compute units,compute minutesという参照を目にするかもしれません。詳しくは、エピック2150をご覧ください。

管理者は、プロジェクトが共有ランナー上でジョブを実行するために使用できる時間を、毎月制限することができます。この制限は、コンピュート・クォータで追跡されます。

デフォルトでは、1つのジョブの実行時間は1分です。パイプラインの総実行時間は、すべてのジョブの実行時間の合計です。ジョブは同時に実行することができるため、総使用量はパイプラインのエンド・ツー・エンドの時間よりも長くなる可能性があります。

GitLab.comで:

セルフマネージドGitLabインスタンスで:

  • コンピュートクォータはデフォルトで無効になっています。
  • 有効にすると、コンピュートクォータは非公開プロジェクトのみに適用されます。
  • ネームスペースが月間割り当てをすべて使用した場合、管理者はより多くの計算分を割り当てることができます。

プロジェクト・ランナーには計算クォータは適用されません。

すべてのネームスペースの計算クォータを設定します。

13.9でGitLab Premiumに移行

デフォルトでは、GitLabインスタンスにはコンピュートクォータがありません。クォータのデフォルト値は0、無制限です。しかし、このデフォルト値は変更することができます。

前提条件

  • GitLab管理者である必要があります。

全てのネームスペースに適用されるデフォルトのクォータを変更するには:

  1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  2. Admin Areaを選択します。
  3. 左サイドバーで、Settings > CI/CDを選択します。
  4. 継続的インテグレーションとデプロイを展開します。
  5. Compute quotaボックスに制限を入力します。
  6. 変更を保存を選択します。

特定のネームスペースに対して既にクォータが定義されている場合、この値はそのクォータを変更しません。

特定のネームスペースに対する計算クォータの設定

13.9でGitLab Premiumに移行

グローバル値をオーバーライドして、特定のネームスペースにコンピュートクォータを設定することができます。

前提条件

  • GitLab管理者である必要があります。

ネームスペースに計算クォータを設定するには:

  1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  2. Admin Areaを選択します。
  3. 左サイドバーで「概要」>「グループ」を選択します。
  4. 更新したいグループの「編集」を選択します。
  5. Compute quotaボックスに、最大計算分数を入力します。
  6. 変更を保存を選択します。

グループの更新 APIまたはユーザーの更新 APIを代わりに使用することもできます。

note
計算クォータは、トップ・レベルのグループまたはユーザ・ネームスペースに対してのみ設定できます。サブグループに対してクォータを設定した場合、そのクォータは使用されません。

計算使用量の表示

前提条件

  • ビルドに関連付けられているネームスペースの合計使用量とクォータのサマリーを表示するには、そのビルドにアクセスする必要があります。
  • 使用量割り当てページへのアクセスは、関連するネームスペースまたはグループでのロールに基づいています。

グループの利用クォータレポートの表示

GitLab 15.0で導入されたプロジェクトごとの共有ランナー期間の表示。

前提条件

  • グループのオーナーロールを持っている必要があります。

グループのコンピュート使用量を表示するには:

  1. 左のサイドバーで「検索」を選択するか、または「検索」からグループを検索します。グループはサブグループであってはなりません。
  2. 設定] > [使用クォータ]を選択します。
  3. パイプライン]タブを選択します。

プロジェクト・リストには、当月のコンピュート使用量または共有ランナー使用量があるプロジェクトのみが表示されます。このリストには、ネームスペースとそのサブグループ内のすべてのプロジェクトが含まれ、計算機使用量の多い順にソートされます。

個人ネームスペースの使用量割り当てレポートの表示

GitLab 15.0で導入された共有ランナーの期間の表示。

前提条件

  • ネームスペースは個人ネームスペースである必要があります。

個人ネームスペースのコンピュート使用量を表示できます:

  1. 左のサイドバーで、自分のアバターを選択してください。
  2. プロフィールの編集を選択します。
  3. 左側のサイドバーで、[使用クォータ]を選択します。

プロジェクトリストには、当月のコンピュート使用量または共有ランナー使用量がある個人プロジェクトのみが表示されます。リストは、コンピュート使用量の降順でソートされます。

追加計算分の購入

GitLab SaaSをご利用の場合、コンピュート分を追加購入することができます。この追加分は

  • サブスクリプションに含まれる月間クォータがなくなった後にのみ使用されます。
  • 月末に残りがある場合、翌月に繰り越されます。
  • 有効期限は、購入日から12ヶ月間、またはすべての計算分が消費されるまでのいずれか早い方です。計算分の有効期限は強制されません。

例えば、GitLab SaaS Premiumライセンスの場合:

  • 10,000 、月間計算分数があります。
  • 5,000 を追加購入します。
  • 合計の上限は15,000 計算分です。

その月に13,000 の計算分を使用した場合、翌月の追加計算分は2,000 になります。その月に9,000 の計算分数を使用した場合、追加計算分数は変わりません。

トライアルサブスクリプションで購入した追加計算分は、トライアルが終了した後、または有料プランにアップグレードした後に利用できます。

追加分の価格はGitLabの価格ページで確認できます。

グループでの計算分数の購入

前提条件

  • グループのオーナーロールを持っている必要があります。

グループの計算分を追加購入することができます。購入した計算分をグループ間で移動することはできませんので、正しいグループを選択してください。

  1. 左のサイドバーで、Search(検索)を選択するか、Go to(移動)を選択してグループを探します。
  2. 設定] > [使用クォータ]を選択します。
  3. パイプライン]を選択します。
  4. 追加計算分を購入]を選択します。
  5. トランザクションの詳細を入力します。

支払いが処理されると、追加の計算分がグループのネームスペースに追加されます。

個人用ネームスペースの計算分数の購入

前提条件

  • ネームスペースは個人ネームスペースである必要があります。

個人ネームスペースの計算分を追加購入するには、以下の手順に従います:

  1. 左のサイドバーで、自分のアバターを選択してください。
  2. プロフィールの編集を選択します。
  3. 左側のサイドバーで、[使用クォータ]を選択します。
  4. Buy additional compute minutesを選択します。GitLabはあなたをカスタマーポータルにリダイレクトします。
  5. GitLab SaaSの個人ネームスペースにリンクされているサブスクリプションカードを探し、Buy more compute minutesを選択し、トランザクションの詳細を完了します。

支払いが処理されると、追加の計算分が個人ネームスペースに追加されます。

コンピュート使用量の計算方法

GitLabはジョブのコンピュート使用量を計算するためにこの式を使います:

Job duration * Cost factor
  • ジョブ時間:ジョブの実行時間: ジョブが共有Runner上で実行されるのにかかった時間(秒単位)。createdpending のステータスに費やされた時間は含まれません。
  • コスト係数:プロジェクトの可視性に基づく数値。

この値は計算分に変換され、ジョブの最上位ネームスペースの使用ユニット数に加算されます。

例えば、ユーザーalice がパイプラインを実行する場合:

  • gitlab-org ネームスペースの gitlab-org下でgitlab-org 、パイプラインの各ジョブが使用する計算 gitlab-org分が、alice ネームスペースではなく、ネームgitlab-org スペースの全体的な消費量に加算 gitlab-orgされます。
  • ネームスペース内の個人プロジェクトの1つについては、計算時間がalice ネームスペースの全体消費量に追加されます。

1つのパイプラインで使用される計算量は、そのパイプラインで実行されたすべてのジョブで使用される計算量の合計です。ジョブは同時に実行することができるので、総コンピュート使用量はパイプラインのエンド・ツー・エンドの期間よりも長くなることがあります。

コスト係数

GitLab.comの共有ランナーで実行されるジョブのコスト要因は以下の通りです:

セルフマネージドインスタンスのコストファクターは以下の通りです:

  • 0 公開プロジェクトのため、計算時間を消費しません。
  • 1 内部および非公開プロジェクト用。

GitLabプロジェクトにコミュニティが貢献するためのコスト要因

GitLabがメンテナンスするオープンソースプロジェクトに貢献する場合、コミュニティ貢献者は共有ランナーで最大30万分まで使用できます。最大300,000分は、GitLab製品の一部であるプロジェクトにのみ貢献する場合にのみ可能です。共有Runnerで利用可能な総分数は、他のプロジェクトのパイプラインによって使用される計算分によって減少します。300,000分はすべてのSaaSティアに適用され、コストファクターの計算は次のようになります:

  • Monthly compute quota / 300,000 job duration minutes = Cost factor

たとえば、Premiumティアで毎月10,000分の計算クォータを使用した場合:

  • 10,000/300,000=0.0333333333333コスト係数。

この削減されたコストファクターに対して

  • マージリクエストソースプロジェクトは、gitlab-com/www-gitlab-comgitlab-org/gitlabのような GitLab がメンテナンスしているプロジェクトのフォークでなければなりません。
  • マージリクエスト先のプロジェクトは、フォークの親プロジェクトでなければなりません。
  • パイプラインはマージリクエスト、マージ結果、またはマージトレインパイプラインでなければなりません。

GitLab管理者は、ci_minimal_cost_factor_for_gitlab_namespaces というフラグで、コスト削減要因に名前空間を追加することができます。

GitLab SaaSの追加コスト

GitLab SaaSランナーには、ランナーの種類(Linux、Windows、MacOS)と仮想マシンの設定によって異なるコストがかかります。

GitLab SaaSランナータイプマシンサイズコスト係数
Linux OS amd64小さい1
Linux OS amd64媒体2
Linux OS amd64ラージ3
Linux OS amd64xlarge6
Linux OS amd642倍大12
Linux OS amd64 + GPU対応ミディアム、GPU標準7
MacOS M1媒体6 (ベータ)
Windowsサーバー-1 (ベータ)

コンピュート使用量の月次リセット

各暦月の初日に、0 共有Runnerを使用するすべてのネームスペースの 0累積計算使用量がリセットされます。これは、0 クォータがフルに使用可能であることを意味し、計算は. 0

例えば、10,000 分の月間割り当てがある場合:

  • 4月1日には、10,000
  • 4月中は、10,000 の計算分のうち、6,000 のみを使用します。
  • 5月1日に、累積されたコンピュート使用量は0 にリセットされ、5月中に再び使用できるコンピュート分数は10,000 になります。

前月の使用量データは、時間の経過に伴う使用量の履歴を表示するために保持されます。

購入した計算分の月次ロールオーバー

コンピュート分を追加購入し、全額を使用しなかった場合、残額は翌月にロールオーバーされます。

使用例:

  • 4月1日に5,000 、コンピュート分を追加購入します。
  • 4月中は、5,000 の追加分のうち、3,000 のみを使用します。
  • 5月1日に、未使用のコンピュート分はロールオーバーされ、5月に使用できる追加コンピュート分は2,000

追加の計算分数は1回限りの購入で、毎月更新されることはありません。

クォータを超えるとどうなりますか

その月のコンピュートクォータを使い切ると、GitLabは新しいジョブの処理を停止します。

  • 共有Runnerによって選択されるべき、実行されていないジョブは自動的に削除されます。
  • 再試行されているジョブは自動的に中止されます。
  • 実行中のジョブは、全体的なネームスペースの使用量が猶予期間によってクォータを超えた場合、いつでも削除できます。

実行中のジョブの猶予期間は、1,000 計算分です。

プロジェクトRunner上のジョブは計算クォータの影響を受けません。

GitLab SaaSの利用通知

GitLab SaaSでは、以下の場合にネームスペースオーナーにメール通知が送られます:

  • 残りの計算時間がクォータの30%以下になった場合。
  • 残りの計算時間が割り当て時間の5%未満です。
  • すべての計算クォータが使用されました。

特別なクォータ制限

場合によっては、クォータ制限が以下のラベルのいずれかに置き換えられます:

  • 無制限:計算クォータが無制限のネームスペースの場合。
  • サポートされていません:アクティブな共有 Runner が有効になっていないネームスペースの場合。

コンピュート・クォータ使用量の削減

プロジェクトがコンピュートクォータを使いすぎている場合、使用量を減らすためにいくつかの戦略があります:

オープンソースプロジェクトを管理している場合、これらの改善により、貢献者フォークプロジェクトの計算クォータの消費を削減し、より多くの貢献を可能にすることもできます。

詳細はパイプライン効率化ガイドをご覧ください。

コンピュート使用量のリセット

管理者は、ネームスペースの当月の計算使用量をリセットできます。

個人ネームスペースの使用率のリセット

  1. 管理エリアでユーザーを検索します。
  2. 編集]を選択します。
  3. Limits で、Reset compute usageを選択します。

グループ・ネームスペースの使用量のリセット

  1. 管理エリアでグループを検索します。
  2. 編集]を選択します。
  3. 権限とグループ機能でコンピュート使用量のリセットを選択します。