AWS CodeCommitの料金は、その月にリポジトリへアクセスした「アクティブユーザー」の数で決まります。先着5人までは無料で、アカウント全体で50GBのストレージと月1万回のGitリクエストが付きます。6人目からは1人あたり月1USDで、リージョンによる差はありません。
CodeCommitは2024年7月に新規受付を止めたサービスですが、2025年11月24日に一般提供(GA)へ戻り、料金も据え置かれました。この記事では、課金対象になるアクティブユーザーの数え方、規模別の計算例、GitHub・Bitbucket・GitLabとの月額比較、自分のアカウントの利用量を確かめる方法を、AWSの料金ページとドキュメント(2026年10月18日確認)に沿って整理します。
まとめ
- 料金:先着5アクティブユーザーは無料、6人目から1人月1.00USD。1人増えるごとにストレージ10GBとGitリクエスト2,000回の枠が足され、枠を超えた分は1GBあたり月0.06USD、1回0.001USDです。
- 数え方:IAMユーザーだけでなく、CodeBuildやCodePipelineがアクセスに使うIAMロールも1人と数えます。その月にアクセスしなかったIDは課金されません。
- 無料枠の期限:AWSの12か月無料利用枠とは別枠で、期限はありません。使用量は全リージョンの合計で計算します。
- 他サービスとの差:10人なら月5USDで、GitHub Team(40USD)より安い一方、GitHub Freeならプライベートリポジトリも0USDです。料金差より、IAMによる権限管理やVPCエンドポイント経由のアクセスが必要かで選びます。
- 現状:2025年11月24日にGA復帰しました。料金ページ上部には2026年10月時点も「新規のお客様にはご利用いただけなくなりました」の表示が残っていますが、ドキュメントの変更履歴は新規受付の再開を記録しています。予告されていたGit LFS対応と新リージョンは、10月時点で提供開始の告知がありません。
AWS CodeCommitの料金体系
CodeCommitの料金ページに載っている体系を1つの表にまとめると次のとおりです。金額は税抜のUSDです。
| 項目 | 先着5人(アカウント合計) | 6人目以降(1人追加ごと) |
|---|---|---|
| ユーザー料金 | 0USD | 月1.00USD |
| ストレージ枠 | 50GB/月 | +10GB/月 |
| Gitリクエスト枠 | 10,000回/月 | +2,000回/月 |
| 枠を超えたストレージ | 0.06USD/GB月 | 0.06USD/GB月 |
| 枠を超えたGitリクエスト | 0.001USD/回 | 0.001USD/回 |
| リポジトリ数 | 5,000(申請で最大25,000) | 同左 |
無料枠は新規・既存どちらの顧客も無期限で使え、12か月の無料利用枠が終わっても失効しないと料金ページに明記されています。使用量は全リージョンの合計で月ごとに計算され、使わなかったストレージとGitリクエストの枠は翌月へ繰り越せません。AWS Price List APIのCodeCommit価格表(2026年9月11日公開版)でも、ユーザー料金のSKUはロケーション「Any」の1件だけです。東京・大阪で使っても単価は変わりません。
アクティブユーザーの数え方とCI/CDロールの課金対象
料金ページの定義では、アクティブユーザーとは、その月にGitリクエスト、マネジメントコンソール、AWS CLI、SDKのいずれかでリポジトリにアクセスした固有のAWS Identity(IAMユーザー/ロール、フェデレーションユーザー、ルートアカウント)です。同じ注記に、CodeBuildやCodePipelineなど他のAWSサービスが使うIDや、固有のIDでアクセスするサーバーも数えると書かれています。
見積もりで漏れやすいのがこの部分です。開発者が4人でも、AWS CodePipelineのサービスロールとAWS CodeBuildのサービスロールがそれぞれリポジトリを読めば、その月は6人になり1USDかかります。逆に、IAMユーザーが残っていてもその月にアクセスしていなければ料金は発生しません。
IAM Identity Centerで複数人が同じ許可セットのロールを引き受ける場合に、ロール1つと数えるのか人ごとに数えるのかは、料金ページにもFAQにも書かれていません。見積もりは人数ベースの多めの値で置き、確定値は請求の使用量で確かめるのが安全です(確かめ方は後述)。IAMユーザーからIAM Identity Centerへ移る手順はAWS SSOへの移行手順:IAMユーザー棚卸しから権限セットのTerraform化までで扱っています。
Gitリクエストとストレージの超過料金
Gitリクエストに数えるのは、リポジトリのオブジェクトを送受信するpushとpullです。コンソールでの直接編集やCodeCommit API経由の操作も含みます。ローカルとリモートのブランチが最新でオブジェクトの転送が起きなかった場合は、枠を減らしません。既存のクローンで変更の無い時間帯に定期fetchを回しても数えません。一方、ビルドのたびに空の作業環境へクローンする構成は、前回から変更がなくても毎回オブジェクトを転送するので、1回ずつ数えます。
料金ページは、手作業のGit操作が中心のワークフローなら枠はめったに超えないとしています。超過が出やすいのは、人数が少なく枠が増えないのに、自動化でpullやpushを大量に回すチームです。
料金の計算例:開発者数とCIロール数による月額比較
上の体系をそのまま式にしたPythonです。下の出力は、このコードをPython 3.9.6で実行した結果です。
def codecommit_monthly_usd(active_users, storage_gb, git_requests):
extra_users = max(0, active_users - 5)
storage_allow = 50 + 10 * extra_users
request_allow = 10_000 + 2_000 * extra_users
user_fee = extra_users * 1.00
storage_fee = max(0, storage_gb - storage_allow) * 0.06
request_fee = max(0, git_requests - request_allow) * 0.001
return round(user_fee + storage_fee + request_fee, 2)
cases = {
"3名+CIロール2": (5, 4, 3_000),
"8名+CIロール2": (10, 20, 12_000),
"4名+自動化で大量pull": (4, 60, 15_000),
"30名+CIロール3": (33, 120, 40_000),
}
for name, args in cases.items():
print(name, args, codecommit_monthly_usd(*args))
3名+CIロール2 (5, 4, 3000) 0.0
8名+CIロール2 (10, 20, 12000) 5.0
4名+自動化で大量pull (4, 60, 15000) 5.6
30名+CIロール3 (33, 120, 40000) 28.0
| ケース | アクティブユーザー | ストレージ | Gitリクエスト | 月額 |
|---|---|---|---|---|
| 開発者3名+CIロール2 | 5 | 4GB | 3,000回 | 0USD |
| 開発者8名+CIロール2 | 10 | 20GB | 12,000回 | 5.00USD |
| 開発者4名+自動化で多数pull | 4 | 60GB | 15,000回 | 5.60USD |
| 開発者30名+CIロール3 | 33 | 120GB | 40,000回 | 28.00USD |
料金ページの例(ある月のアクティブユーザーが6人で超過が無ければ1USD)とも一致します。3番目のケースは人数が無料枠に収まっていても、ストレージ10GB分の0.60USDとGitリクエスト5,000回分の5.00USDがかかります。4番目は28人分の追加でストレージ枠が330GB、Gitリクエスト枠が66,000回まで広がるため、超過は出ません。人数が増えると付帯枠も増えますが、人数にかかわらずストレージやGitリクエストが枠を超えれば超過料金が発生します。
GitHub・Bitbucket・GitLabとの料金比較
各社の公式料金ページ(2026年10月18日確認、USD・税抜)から、同じ人数での月額を並べます。CodeCommitはCIのロールを含めず、人数=アクティブユーザー数として計算しています。
| サービス・プラン | 単価 | 5人 | 10人 | 30人 |
|---|---|---|---|---|
| AWS CodeCommit | 6人目から1人1USD | 0USD | 5USD | 25USD |
| GitHub Free | 0USD | 0USD | 0USD | 0USD |
| GitHub Team | 1人4USD | 20USD | 40USD | 120USD |
| Bitbucket(5人はFree、10・30人はStandard) | Standardは1人3.65USD | 0USD | 36.50USD | 109.50USD |
| GitLab Premium | 1人29USD(年払い) | 145USD | 290USD | 870USD |
料金だけならCodeCommitが最安とは言えません。GitHubの料金ページでは、Freeプランでもプライベートリポジトリを無制限に作れます。Bitbucketは5人までFree、Standardが1人3.65USD、GitLabのPremiumは年払いで1人29USDです。GitHub TeamやGitLab Premiumの料金にはCI/CDの実行枠やレビュー機能が含まれるため、CodeCommitの月額と並べるときは、CodeBuildやCodePipelineの費用を足してから比べます。GitHubとGitLabのCI機能と料金の違いはGitHubとGitLabの違い|ActionsとGitLab CIの対応表・料金・セルフホスト比較にまとめています。
CodeCommitを選ぶ条件と避けるべき場面
AWSはGA復帰の告知で、IAMとの統合、VPCエンドポイント、CloudTrailでの記録、CodePipeline・CodeBuildとの連携を、利用者が残した理由に挙げています。ソースコードをAWSアカウントの外に出せない規程がある、人とCIの権限をIAMロールで一元管理したい、CI/CDをCodePipelineとCodeBuildで閉じたい。この3つのどれかに当てはまるなら、CodeCommitは有力です。費用はCIロールを含むアクティブユーザー数と、ストレージ・Gitリクエストの超過量で見積もります。
避けるべきなのは、外部の協力会社がAWSアカウントを持たずにレビューへ参加する体制と、Issue管理やWikiまで1つのサービスで済ませたいチームです。CodeCommitのAPIはプルリクエスト、承認ルール、コメント、トリガーまでで、IssueやWikiの操作はありません。大きなバイナリをGit LFS前提で管理したい場合も、2026年10月時点では選べません。GitHubへ寄せるなら、CIはGitHub Actionsでビルド・自動テストを設定する方法で組み替え、オンプレミス要件があればGitHub Enterprise Serverも候補です。CodeCommitとGitHubのどちらにCI/CDを寄せるかを含めた設計は、DevOps・CI/CD導入支援でも相談を受けています。
AWSアカウントの利用量と請求額の確認手順
見積もりの前提(何人と数えられているか、Gitリクエストが何回か)は、実際のアカウントで確かめられます。請求額はCost Explorer、内訳の推定はCloudTrailで見ます。以下のコマンドはAWS CLI 1.44.87で引数の解釈が通ることを確認したものです。
Cost Explorerによる請求額と使用量の確認
サービス名は価格表のservicenameと同じ「AWS CodeCommit」です。使用タイプでまとめると、ユーザー料金(使用タイプUser-Month)の使用量と金額が月ごとに出ます。
aws ce get-cost-and-usage \
--time-period Start=2026-09-01,End=2026-10-01 \
--granularity MONTHLY \
--metrics UnblendedCost UsageQuantity \
--filter '{"Dimensions":{"Key":"SERVICE","Values":["AWS CodeCommit"]}}' \
--group-by Type=DIMENSION,Key=USAGE_TYPE
CloudTrailによるアクセスIDとGit操作の集計
CodeCommitのCloudTrail連携のドキュメントによると、Gitクライアントのpullとpushも GitPull・GitPush というイベントで記録され、証跡を作っていなくても直近のイベントはイベント履歴で見られます。イベントの additionalEventData.dataTransferred が、オブジェクトの転送があったかを示します。成功したpushでは GitPush が2件記録され、転送ありは片方だけです。
aws cloudtrail lookup-events --region ap-northeast-1 \
--lookup-attributes AttributeKey=EventSource,AttributeValue=codecommit.amazonaws.com \
--start-time 2026-09-01T00:00:00Z --end-time 2026-10-01T00:00:00Z \
--output json > codecommit-events.json
python3 count_codecommit.py codecommit-events.json
以下をcount_codecommit.pyとして保存します。IDはロール単位とセッション単位で集計し、リクエストは転送ありのGitPull・GitPushだけを数えます。コンソールやAPI経由の編集は含まれないため、請求対象リクエストの総数ではありません。
import json
import re
import sys
from collections import Counter
data = json.load(open(sys.argv[1]))
sessions = set()
roles = set()
requests = Counter()
for item in data["Events"]:
ev = json.loads(item["CloudTrailEvent"])
ident = ev.get("userIdentity", {})
arn = ident.get("arn") or ident.get("principalId", "unknown")
sessions.add(arn)
# 引き受けたロールはセッション名を落としてロール単位にもまとめる
roles.add(re.sub(r"^(arn:aws:sts::\d+:assumed-role/[^/]+)/.*$", r"\1", arn))
extra = ev.get("additionalEventData") or {}
if ev["eventName"] in ("GitPull", "GitPush") and extra.get("dataTransferred"):
requests[ev["eventName"]] += 1
print("ID数(ロール単位):", len(roles))
print("ID数(セッション単位):", len(sessions))
for arn in sorted(roles):
print(" ", arn)
print("転送ありのGitリクエスト:", dict(requests), "合計", sum(requests.values()))
IAMユーザー1人のpull2回(転送なし1回・あり1回)とpush1回、CodeBuildのロールの2セッションからのpull、IAM Identity Centerのロールからの一覧取得を模したサンプルで実行した出力です。
ID数(ロール単位): 3
ID数(セッション単位): 4
arn:aws:iam::111122223333:user/Mary_Major
arn:aws:sts::111122223333:assumed-role/AWSReservedSSO_Dev_abc
arn:aws:sts::111122223333:assumed-role/codebuild-app-service-role
転送ありのGitリクエスト: {'GitPull': 3, 'GitPush': 1} 合計 4
イベント履歴は直近90日分で、リージョンごとに保持されます。リポジトリを置いているリージョンごとに実行してください。ここで出るID数は請求上のアクティブユーザー数の推定で、ロール単位とセッション単位のどちらが請求に一致するかは、Cost ExplorerのUser-Monthの使用量と突き合わせて判断します。
CodeCommitの現状:2024年の新規停止から2025年のGA復帰まで
2024年7月25日:新規顧客への提供停止
CodeCommitユーザーガイドの変更履歴は、2024年7月25日に「新規顧客は利用できなくなった。既存顧客は通常どおり使える」と記録しています。同じ時期のAWS CLI 1.33.31の変更履歴には、アカウントがリポジトリ作成を制限されている場合にCreateRepositoryがOperationNotAllowedExceptionを返す変更が載っています。CodeCommitを使ったことのないアカウントでは、リポジトリを新しく作れなくなりました。AWSが他のGitプロバイダーへの移行手順を案内したため、当時は終了に向かうサービスと受け止められました。
2025年11月24日:GA復帰、料金とSLAは据え置き
AWSは2025年11月24日、「The Future of AWS CodeCommit」(日本語訳あり)でCodeCommitを即日で完全なGAに戻すと発表しました。新規顧客のサインアップを同日から受け付け、コンソール・CLI・APIでリポジトリを作れます。料金は変更なし、99.9%の稼働時間SLAも維持し、提供リージョンは29です。移行を計画・実行した利用者へのお詫びも記されています。変更履歴への記載は2025年11月25日付です。
料金ページの「新規不可」表示とロードマップの進捗
2026年10月18日時点でも、CodeCommitの料金ページ(英語版・日本語版)の上部には「新規のお客様にはご利用いただけなくなりました」の表示が残っています。サービスの状態はGA復帰の告知と変更履歴が新しく、表示は更新漏れと読むのが妥当です。
GA復帰の告知では、Git LFS対応を2026年第1四半期、スペイン(eu-south-2)とカルガリー(ca-west-1)へのリージョン拡張を2026年第3四半期開始と予告していました。2026年10月18日時点では、AWSのWhat’s NewのCodeCommitタグに2024年以降の記事が無く、変更履歴の最新も2025年11月25日、リージョン一覧も29のままで両リージョンは載っていません。APIの操作一覧にもLFSに関する操作はありません。予定を前提に設計を決めず、提供開始の告知を待ってから判断してください。
クォータと制限:料金以外で効く上限
CodeCommitのクォータのうち、運用で引っかかりやすいものです。
| 項目 | 上限 |
|---|---|
| リポジトリ数 | アカウント・リージョンごとに5,000(引き上げ可) |
| Git blob 1つのサイズ | 2GB |
| コンソール・API・CLIで扱う1ファイル | 6MB |
| 1回のpushに含める参照 | 4,000(作成・削除・更新の合計) |
| オープン中のプルリクエスト | 1,000 |
| リポジトリあたりのトリガー | 10 |
Gitクライアントからのpushは2GBまでのblobを受け付けますが、コンソールやPutFile APIで扱えるのは1ファイル6MBまでです。大きな成果物はリポジトリに入れずS3へ置く設計にしておくと、ストレージの超過料金も避けられます。
リポジトリのバックアップと復旧
AWS Backupの対応リソース一覧にCodeCommitは載っていません。CodeCommitのFAQが案内しているのは、バックアップ用のサーバーで git clone を定期実行してスナップショットを取り、差分だけなら git pull で取り込む方法です。ミラーで取得してS3に置く例を示します(git-remote-codecommitの導入が前提。リージョン名・リポジトリ名・バケット名は置き換えてください)。
# バックアップ:全ブランチとタグをミラーで取得
git clone --mirror codecommit::ap-northeast-1://MyRepo
# 2回目以降:既存のミラーを差分だけ更新
git -C MyRepo.git remote update --prune
# 取得したミラー(MyRepo.git)をS3へ保存
aws s3 sync MyRepo.git s3://my-backup-bucket/MyRepo.git/
# 復旧:空の作業ディレクトリで、復元先の作成とS3からの取得を実行
aws codecommit create-repository --region ap-northeast-1 --repository-name MyRepoRestored
aws s3 sync s3://my-backup-bucket/MyRepo.git/ MyRepo.git/
cd MyRepo.git
git push --mirror codecommit::ap-northeast-1://MyRepoRestored
料金への影響も見ておきます。バックアップを実行するIAMロールはアクティブユーザー1人に数えます。2回目以降を既存ミラーの差分更新にしておけば、変更の無い日の取得はオブジェクトを転送しないのでGitリクエストの枠を減らしません。毎回新しくクローンする作りだと、変更の無い日も1回ずつ数えます。毎時実行なら月700回前後になるため、無料枠1万回のうちどれだけを使うかを先に見積もってください。
別サービスへ移すときも同じ手順で、git push --mirror の宛先を移行先に変えます。この手順で移せるのはGitの履歴とブランチ・タグです。CodeCommit側のプルリクエスト、コメント、承認ルール、トリガー、通知ルールは含まれないため、必要なものは別途記録し、移行先で設定し直します。
接続方法:GRC・HTTPS・SSHの使い分け
主な接続方法には、git-remote-codecommit(GRC)、Git認証情報を使うHTTPS、SSH、AWS CLIの認証情報ヘルパーを使うHTTPSがあります。セットアップのドキュメントでは、HTTPSのGit認証情報はIAMユーザーごとに発行する固定のユーザー名とパスワード、SSHはIAMユーザーに公開鍵を登録する方式です。どちらもIAMユーザーが前提になります。
IAM Identity Centerやフェデレーション、一時認証情報で運用するなら、AWSが推奨するのはGRCです。AWS CLIのプロファイルをそのまま使い、codecommit:// 形式のURLで指定します。PyPIの最新版は1.17(2023年8月25日公開)で、それ以降の更新はありません。
pip install git-remote-codecommit
git clone codecommit::ap-northeast-1://MyRepo
# 別のプロファイルを使う場合
git clone codecommit::ap-northeast-1://my-profile@MyRepo
クローンした後のadd・commit・push・pullは通常のGitと同じです。Gitコマンドの基本はGitコマンド一覧|用途別早見表とよく使う基本コマンドの使い方を解説にまとめています。
よくある質問
AWS CodeCommitは廃止・終了したのですか?
いいえ。2024年7月25日に新規顧客への提供を止めましたが、2025年11月24日にGAへ戻り、新規アカウントでもリポジトリを作れます。料金ページの「新規不可」の表示は2026年10月時点でも残っていますが、変更履歴は新規受付の再開を記録しています。
東京リージョンでも料金は同じですか?
同じです。価格表のユーザー料金はロケーション「Any」の1件だけで、使用量も全リージョンの合計で計算します。リージョンごとに無料枠が別にあるわけではありません。
CodePipelineやCodeBuildが使うロールにも料金はかかりますか?
かかります。料金ページは、他のAWSサービスがアクセスに使うIDもアクティブユーザーに数えると明記しています。開発者4人とCIのロール2つなら6人で、月1USDです。
CodeCommitの無料枠は12か月で終わりますか?
終わりません。先着5アクティブユーザー、50GB、月1万回のGitリクエストの無料枠は、12か月の無料利用枠とは別に無期限で使えます。
CodeCommitでGit LFSは使えますか?
2026年10月18日時点では使えません。GA復帰の告知で2026年第1四半期の対応が予告されましたが、What’s Newや変更履歴に提供開始の記載はありません。Git blobの上限は2GBです。