- すべてのネームスペースの計算クォータを設定します。
- 特定のネームスペースに対する計算クォータの設定
- 計算使用量の表示
- 追加計算分の購入
- コンピュート使用量の計算方法
- クォータを超えるとどうなりますか
- コンピュート・クォータ使用量の削減
- コンピュート使用量のリセット
計算クォータ
GitLab 16.1では “CI/CD minutes “から “compute quota “または “compute minutes “に改名されました。
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.comネームスペースの基本月間コンピュートクォータは、そのライセンスティアによって決まります。
- 月間クォータ以上のコンピュート量が必要な場合は、コンピュート分を追加購入することができます。
セルフマネージドGitLabインスタンスで:
- コンピュートクォータはデフォルトで無効になっています。
- 有効にすると、コンピュートクォータは非公開プロジェクトのみに適用されます。
- ネームスペースが月間割り当てをすべて使用した場合、管理者はより多くの計算分を割り当てることができます。
プロジェクト・ランナーには計算クォータは適用されません。
すべてのネームスペースの計算クォータを設定します。
13.9でGitLab Premiumに移行。
デフォルトでは、GitLabインスタンスにはコンピュートクォータがありません。クォータのデフォルト値は0
、無制限です。しかし、このデフォルト値は変更することができます。
前提条件
- GitLab管理者である必要があります。
全てのネームスペースに適用されるデフォルトのクォータを変更するには:
- 左のサイドバーで、Search を選択するか、次のページに進んでください。
- Admin Areaを選択します。
- 左サイドバーで、Settings > CI/CDを選択します。
- 継続的インテグレーションとデプロイを展開します。
- Compute quotaボックスに制限を入力します。
- 変更を保存を選択します。
特定のネームスペースに対して既にクォータが定義されている場合、この値はそのクォータを変更しません。
特定のネームスペースに対する計算クォータの設定
13.9でGitLab Premiumに移行。
グローバル値をオーバーライドして、特定のネームスペースにコンピュートクォータを設定することができます。
前提条件
- GitLab管理者である必要があります。
ネームスペースに計算クォータを設定するには:
- 左のサイドバーで、Search を選択するか、次のページに進んでください。
- Admin Areaを選択します。
- 左サイドバーで「概要」>「グループ」を選択します。
- 更新したいグループの「編集」を選択します。
- Compute quotaボックスに、最大計算分数を入力します。
- 変更を保存を選択します。
グループの更新 APIまたはユーザーの更新 APIを代わりに使用することもできます。
計算使用量の表示
前提条件
- ビルドに関連付けられているネームスペースの合計使用量とクォータのサマリーを表示するには、そのビルドにアクセスする必要があります。
- 使用量割り当てページへのアクセスは、関連するネームスペースまたはグループでのロールに基づいています。
グループの利用クォータレポートの表示
GitLab 15.0で導入されたプロジェクトごとの共有ランナー期間の表示。
前提条件
- グループのオーナーロールを持っている必要があります。
グループのコンピュート使用量を表示するには:
- 左のサイドバーで「検索」を選択するか、または「検索」からグループを検索します。グループはサブグループであってはなりません。
- 設定] > [使用クォータ]を選択します。
- パイプライン]タブを選択します。
プロジェクト・リストには、当月のコンピュート使用量または共有ランナー使用量があるプロジェクトのみが表示されます。このリストには、ネームスペースとそのサブグループ内のすべてのプロジェクトが含まれ、計算機使用量の多い順にソートされます。
個人ネームスペースの使用量割り当てレポートの表示
GitLab 15.0で導入された共有ランナーの期間の表示。
前提条件
- ネームスペースは個人ネームスペースである必要があります。
個人ネームスペースのコンピュート使用量を表示できます:
- 左のサイドバーで、自分のアバターを選択してください。
- プロフィールの編集を選択します。
- 左側のサイドバーで、[使用クォータ]を選択します。
プロジェクトリストには、当月のコンピュート使用量または共有ランナー使用量がある個人プロジェクトのみが表示されます。リストは、コンピュート使用量の降順でソートされます。
追加計算分の購入
GitLab SaaSをご利用の場合、コンピュート分を追加購入することができます。この追加分は
- サブスクリプションに含まれる月間クォータがなくなった後にのみ使用されます。
- 月末に残りがある場合、翌月に繰り越されます。
- 有効期限は、購入日から12ヶ月間、またはすべての計算分が消費されるまでのいずれか早い方です。計算分の有効期限は強制されません。
例えば、GitLab SaaS Premiumライセンスの場合:
-
10,000
、月間計算分数があります。 -
5,000
を追加購入します。 - 合計の上限は
15,000
計算分です。
その月に13,000
の計算分を使用した場合、翌月の追加計算分は2,000
になります。その月に9,000
の計算分数を使用した場合、追加計算分数は変わりません。
トライアルサブスクリプションで購入した追加計算分は、トライアルが終了した後、または有料プランにアップグレードした後に利用できます。
追加分の価格はGitLabの価格ページで確認できます。
グループでの計算分数の購入
前提条件
- グループのオーナーロールを持っている必要があります。
グループの計算分を追加購入することができます。購入した計算分をグループ間で移動することはできませんので、正しいグループを選択してください。
- 左のサイドバーで、Search(検索)を選択するか、Go to(移動)を選択してグループを探します。
- 設定] > [使用クォータ]を選択します。
- パイプライン]を選択します。
- 追加計算分を購入]を選択します。
- トランザクションの詳細を入力します。
支払いが処理されると、追加の計算分がグループのネームスペースに追加されます。
個人用ネームスペースの計算分数の購入
前提条件
- ネームスペースは個人ネームスペースである必要があります。
個人ネームスペースの計算分を追加購入するには、以下の手順に従います:
- 左のサイドバーで、自分のアバターを選択してください。
- プロフィールの編集を選択します。
- 左側のサイドバーで、[使用クォータ]を選択します。
- Buy additional compute minutesを選択します。GitLabはあなたをカスタマーポータルにリダイレクトします。
- GitLab SaaSの個人ネームスペースにリンクされているサブスクリプションカードを探し、Buy more compute minutesを選択し、トランザクションの詳細を完了します。
支払いが処理されると、追加の計算分が個人ネームスペースに追加されます。
コンピュート使用量の計算方法
GitLabはジョブのコンピュート使用量を計算するためにこの式を使います:
Job duration * Cost factor
-
ジョブ時間:ジョブの実行時間: ジョブが共有Runner上で実行されるのにかかった時間(秒単位)。
created
やpending
のステータスに費やされた時間は含まれません。 - コスト係数:プロジェクトの可視性に基づく数値。
この値は計算分に変換され、ジョブの最上位ネームスペースの使用ユニット数に加算されます。
例えば、ユーザーalice
がパイプラインを実行する場合:
-
gitlab-org
ネームスペースのgitlab-org
下でgitlab-org
、パイプラインの各ジョブが使用する計算gitlab-org
分が、alice
ネームスペースではなく、ネームgitlab-org
スペースの全体的な消費量に加算gitlab-org
されます。 - ネームスペース内の個人プロジェクトの1つについては、計算時間が
alice
ネームスペースの全体消費量に追加されます。
1つのパイプラインで使用される計算量は、そのパイプラインで実行されたすべてのジョブで使用される計算量の合計です。ジョブは同時に実行することができるので、総コンピュート使用量はパイプラインのエンド・ツー・エンドの期間よりも長くなることがあります。
コスト係数
GitLab.comの共有ランナーで実行されるジョブのコスト要因は以下の通りです:
-
1
内部プロジェクト、公開プロジェクト、非公開プロジェクトの場合。 - 公開プロジェクトの例外:
-
0.5
GitLab for Open Source プログラムのプロジェクト。 -
0.008
GitLab for OpenSourceプログラムのプロジェクトのフォーク。ジョブ実行時間125分ごとに、1計算分を使用します。
-
- GitLabプロジェクトへのコミュニティ貢献者は動的に割引されます。
セルフマネージドインスタンスのコストファクターは以下の通りです:
-
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-com
やgitlab-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 amd64 | xlarge | 6 |
Linux OS amd64 | 2倍大 | 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 が有効になっていないネームスペースの場合。
コンピュート・クォータ使用量の削減
プロジェクトがコンピュートクォータを使いすぎている場合、使用量を減らすためにいくつかの戦略があります:
- プロジェクトのミラーを使用している場合、ミラーアップデートのパイプラインが無効になっていることを確認してください。
- スケジュールされたパイプラインの頻度を減らしてください。
- 不要なパイプラインはスキップします。
- 新しいパイプラインが始まったら自動的にキャンセルできる割り込み可能なジョブを使用します。
- すべてのパイプラインでジョブを実行する必要がない場合は、
rules
を使用して、必要なときだけ実行するようにします。 - ジョブによっては非公開 Runnerを使用してください。
- フォークで作業していて、親プロジェクトにマージリクエストを提出する場合、親プロジェクトでパイプラインを実行するようメンテナーに頼むことができます。
オープンソースプロジェクトを管理している場合、これらの改善により、貢献者フォークプロジェクトの計算クォータの消費を削減し、より多くの貢献を可能にすることもできます。
詳細はパイプライン効率化ガイドをご覧ください。
コンピュート使用量のリセット
管理者は、ネームスペースの当月の計算使用量をリセットできます。
個人ネームスペースの使用率のリセット
- 管理エリアでユーザーを検索します。
- 編集]を選択します。
- Limits で、Reset compute usageを選択します。
グループ・ネームスペースの使用量のリセット
- 管理エリアでグループを検索します。
- 編集]を選択します。
- 権限とグループ機能で、コンピュート使用量のリセットを選択します。