GitLab とは#
GitLab は DevOps プラットフォームであり、ソースコードのホスティング、コードレビュー、CI/CD、レジストリ、セキュリティスキャンといった機能を 1 つのアプリケーションに統合しています。GitLab Inc. はこのプラットフォームをサービスとして提供しているほか、ユーザーがインストールできるソフトウェア としても提供しています。
重要な配送モデルは3つあります:
- GitLab.com:GitLabが運営するマルチテナント型SaaS
- GitLab Self-Managed:オンプレミスまたは自社のクラウド環境にインストールして運用するものです
- GitLab Dedicated:GitLabが運営するシングルテナント型のSaaSで、政府機関向けのFedRAMP対応版も用意されている
エディションの名称にご注意ください。Community Edition(CE)は、MITライセンスに基づくオープンソース版です。Enterprise Edition(EE)は、GitLab Enterprise Editionライセンスに基づく商用版です。両エディションは同一のコードベースから提供されており、EEの機能はサブスクリプションを適用するまでロックされたままとなります。ライセンスなしでEEをインストールした場合、Free版として動作します。
GitLab はどのような種類のライセンスに対応していますか#
「GitLabライセンス」と呼ばれるものは2つあります。これらを混同しないようにしてください。
サブスクリプションプラン#
「Free」、「Premium」、「Ultimate」。2026年9月現在、「Premium」はユーザー1人あたり月額29ドル(年額一括払い)で提供されており、「Ultimate」は個別に見積もりが提示されます。これに加え、アドオンとして「GitLab Duo」、「Enterprise Agile Planning」(ユーザー1人あたり月額15ドル)、コンピューティング分、ストレージなどが利用可能です。
権限がインスタンスにどのように適用されるか#
アクティベーションコードとは、「管理」>「サブスクリプション」に貼り付ける24文字の英数字の文字列です。クラウドライセンスを利用するには、接続されたインスタンスが必要です。エアギャップ環境のサイトでは、代わりにライセンスファイルをアップロードします。
スケーラブルなアーキテクチャでは、1つのインスタンスにのみアップロードしてください。ライセンス情報はデータベースに格納され、レプリケーションされます。GitLab Geoの場合、これはプライマリを指します。
誰がその席を利用しているのか#
課金対象となる役割は、Premiumの「ゲスト」に加え、「プランナー」、「レポーター」、「開発者」、「メンテナー」、「オーナー」、「セキュリティマネージャー」です。ここが収益源となります。「監査人」ユーザーも課金対象となります。また、Self-Managed PremiumおよびUltimateの「管理者」も同様です。
これらは何も消費しません:
- 承認待ちのユーザー
- アカウントが無効化されたユーザー、利用停止処分を受けたユーザー、またはブロックされたユーザー
- 「最小限のアクセス」ロール
- サービスアカウントおよびボットユーザー(ゴーストユーザー、サポートボット、移行ボット、アラートボット、プロジェクトおよびグループのボット)
- 「Ultimate」エディションに限り、役割が「ゲスト」のみのユーザー
最大ユーザー数
GitLabの課金は、最大ユーザー数(請求期間中のピーク時の課金対象ユーザー数)から、購入したライセンス数を差し引いた数に基づいて行われます。たとえば、10ライセンスを購入し、ピーク時のユーザー数が13人だった場合、3ライセンス分の料金が発生します。2ヶ月目にそのユーザーが退会したとしても、この3ライセンス分の料金は支払わなければなりません。
GitLabは、四半期ごとの精算または契約更新時の調整(トゥルーアップ)を行い、不足分を「サブスクリプション超過ユーザー数」、あるいはSaaSにおける「未払いシート数」と呼んでいます。
PremiumおよびUltimateのセルフマネージドインスタンスでは、「Admin」>「Subscription」から、日ごとの課金対象カウントが記録されたライセンス使用状況ファイルをエクスポートできます。この操作は手動で行い、インスタンスごとに1つずつ処理する必要があります。また、GitLabからは、送信前にopen it を実行しないよう警告が表示されます。
ソフトウェア のどのベンダーがGitLabに対応しており、その費用はどれくらいか#
GitLabは、FlexNet、Reprise、Sentinelのように、ソフトウェア ベンダーが自社のアプリケーションに組み込むようなライセンス管理ツールではありません。サードパーティ製のソフトウェア のライセンスを確認したり、その遵守を強制したりすることはありません。GitLabの利用料金に影響を与えるのは、GitLabに組み込まれているツール群です。
まずはIDプロバイダーから見ていきましょう。OktaとMicrosoft Entra IDは、SCIMを介してGitLabユーザーのプロビジョニングを行います。IDプロバイダーでプロビジョニングを解除すると、グループへのアクセス権は削除されますが、GitLabアカウント自体は残ります。IDプロバイダーでのオフボーディング処理を完了させないと、ピーク時のユーザー数は増え続けてしまいます。
CI、コード品質、セキュリティツールはトークンを介して接続されます。Jenkins、SonarQube、Snyk、Trivy、Semgrepは、それぞれインスタンス上で識別情報が必要です。GitLabでは通常、サービスアカウントやボットユーザーは課金対象から除外されるため、これらのツールを割り当てるには、GitLabが最もコストを抑えられる場所となります。 特定のユーザーアカウントで統合を実行すると、課金対象のライセンスを消費してしまう可能性があります。統合が無料であると判断する前に、その認証方法と、どのアカウントタイプで実行されているかを確認してください。
Jira、Confluence、Slack、Salesforceはそれぞれ独自のライセンスモデルを採用しており、他社のライセンス情報を参照することはありません。IDEについても同様で、VS Code、JetBrains、Visual StudioはGitLabに接続しますが、各IDEのライセンスはそれぞれ個別の項目として扱われます。
Duoの価格設定はこれらとは別になっています。Duo ProおよびDuo Enterpriseのライセンスは個別に購入・割り当てますが、Duo CoreはGitLab 18.0以降、PremiumおよびUltimateにバンドルされています。「Admin」>「GitLab Duo」では、各ユーザーの最終アクティビティ日付とともにライセンスの利用状況が表示されます。
Open iT がGitLabでの業務をどのようにサポートするか#
Open iT ソフトウェア の利用状況を測定し、その結果に基づいてライセンス付与の判断を行います。一般的な検出ツールは、インストールされているソフトウェアの把握にとどまります。コレクターはGitLab APIに対してポーリングを行います。 のCore Clientは、5分間隔でサンプリングを行いながら、1時間ごとにライセンスステータスユーティリティを実行します。前処理されたデータは、クライアントのタイムゾーンで毎時5分にCore Serverに送信されます。Open iT
セットアップでは、ベースURLと、read_apiスコープを持つ個人用アクセストークンの入力が求められます。これらの情報は、暗号化された認証情報ファイルに保存されます。このトークンを使用するには、gitlab.com ではグループの「オーナー」権限、セルフマネージド環境では「管理者」権限が必要です。
GitLabを1つだけで運用している環境はほとんどありません。アカウントごとに1つのコレクターノードを設定し、gitlab.comのグループとセルフマネージドサーバーのレポートを同じセットに集約するようにしてください。
ライセンスマネージャーの用語では、3つのレベルがあります。GitLabは、レベル1のソースとして文書化されています。
「実行時使用状況」はレベル1です。これは、GitLabのシートを誰がいつ保有していたかを1時間単位で記録したものです。1時間ごとに、全期間にわたって記録されます。これが「最大ユーザー数」という数値の根底にある監査証跡であり、ライセンスモニターポータルではこれがリアルタイムで表示されます。
レベル2および3は、残りの環境全体で機能します。「True Active Usage」は、チェックアウトされたシートと実際に作業中のシートを区別し、CPU、経過時間、キーボード、マウス、I/Oの使用状況を計測します。「Managed Usage」は、アイドル状態のシートを検出し、それらをプールに戻します。
混合環境において、これが重要なポイントです。GitLabは、FlexNet、Reprise、Dassault、Autodeskの各ソースと同じパイプラインを通じてレポートを作成するため、そのライセンス数は他のすべてのベンダーと同様に、同一のチャージバックレポートに反映されます。
よくある質問#
GitLabのライセンスマネージャーとは何ですか?
FlexNet Publisher や RLM のような GitLab 用のライセンス管理デーモンは存在しません。GitLab では、アクティベーションコードやライセンスファイルを通じて、アプリケーション内でサブスクリプションを管理しています。GitLab のライセンス管理とは、購入済みのシート数に対して、課金対象となるユーザーを長期的に追跡することを意味します。これはメータリング作業であり、ライセンスサーバーは関与しません。
GitLabにライセンスを追加するにはどうすればよいですか?
管理者としてログインし、「管理」>「サブスクリプション」に移動して、24文字のアクティベーションコードを貼り付けてください。オフラインインスタンスの場合は、代わりにライセンスファイルをアップロードします。また、スケーリングされたデプロイメントやGeoデプロイメントでは、1つのインスタンスにのみライセンスが適用されます。プロジェクトへのLICENSEファイルの追加は、これとは別の意味を持ちます。それは、自身のコードのオープンソースライセンスを宣言することです。
「ゲスト」ユーザーはGitLabのライセンスを1つ消費しますか?
「Ultimate」プランでは、役割が「ゲスト」のみのユーザーはライセンス枠を消費しません。「Premium」プランでは、「ゲスト」も課金対象となります。この違いだけでも、読み取り専用ユーザーの割合が高い組織においては、プランのコスト計算に影響を及ぼします。
GitLabの更新料金が、現在のユーザー数よりも高くなっているのはなぜですか?
GitLabでは、請求期間中に達した最大請求対象ユーザー数に基づいて課金されます。更新日のユーザー数は考慮されません。加入・退会したユーザーもカウント対象となり、日ごとの利用履歴を確認することで、ピークがいつ発生したか、その理由を把握することができます。
