クラウドサービス

AWS CodeCommit

IAM、VPC エンドポイント、AWS の CI/CD と統合できるマネージド Git。2024年の新規受付停止は撤回され、2025年11月25日から新規顧客にも再び提供されている。

基礎DOP-C02DVA-C02セキュリティ運用上の優秀性
最終更新: 2026-07-29公式ドキュメント
3つの要点
TL;DR
  1. 2025年11月25日に新規顧客向け提供を再開し、現在は作成できる。
  2. Git 操作を IAM、HTTPS・SSH、VPC エンドポイントで制御できる。
  3. 更新イベントを CodePipeline や通知へ渡し、レビュー後の流れを自動化する。

AWS CodeCommit は、プライベートな Git リポジトリをホストするためのフルマネージドなソース管理サービスです。標準的な Git クライアントから利用でき、リポジトリの保存先やサーバーの運用を AWS に任せられます。アクセス制御は IAM と統合され、AWS の CI/CD やイベント基盤とも連携します。2024 年 7 月の新規受付停止は撤回され、2025 年 11 月 25 日から新規顧客にも再び一般提供されています。

解決する課題

チームでコードを共有するには、Git リポジトリをホストする基盤が必要です。これを自前のサーバーで運用しようとすると、可用性の確保、ストレージ容量の拡張、バックアップ、認証・認可の仕組み、パッチ適用といった継続的な運用負担が発生します。

CodeCommit はマネージドな Git リポジトリを提供することで、こうした基盤運用から開発者を解放します。リポジトリは AWS が冗長化して保持し、容量も利用に応じて拡張されるため、サーバーのサイジングを気にする必要がありません。さらにアクセス制御を IAM に集約できるため、専用の認証基盤を別途用意せずに、AWS アカウント内の権限管理と同じ仕組みでリポジトリへのアクセスを統制できます。

主要概念と用語

  • リポジトリ: コードの履歴を保持する単位。Git の標準的なリポジトリとして振る舞い、ブランチやタグ、コミット履歴を持つ。
  • 認証情報: リポジトリへアクセスするための資格情報。HTTPS 用の Git 認証情報、SSH 公開鍵、または一時的な認証情報を用いる方式がある。
  • IAM ポリシー: どのプリンシパルがどのリポジトリに対してどの操作を行えるかを定義する権限。リポジトリ単位やアクション単位で絞り込める。
  • プルリクエスト: 変更をレビューし、議論したうえでブランチへ取り込むためのレビュー単位。
  • 承認ルール: プルリクエストのマージ前に必要な承認者数や条件を定めるルール。テンプレートとして複数リポジトリに適用できる。
  • トリガー / 通知: コミットやプルリクエストなどのイベントを契機に、後続の処理や通知を起動する仕組み。
  • マージ戦略: プルリクエストを取り込む際の方式。早送り、3 方向マージ、スカッシュなどを選べる。

仕様・制限・クォータ

CodeCommit は標準的な Git プロトコルに対応しており、git コマンドや一般的なクライアントからそのまま利用できます。接続は HTTPS と SSH に対応し、いずれも転送時は暗号化されます。保存されるデータは保管時に暗号化されます。

既定では 1 アカウント・リージョンあたり 5,000 リポジトリで、引き上げ可能です。リポジトリ全体の任意上限はありませんが、単一 Git blob は最大 2 GB、コンソール・CLI・API で直接扱うファイルは最大 6 MB です。頻繁に変わる大容量バイナリは Git の履歴と転送を重くするため、S3 など別の保存先を比較します。

新規顧客向け提供は再開済み

CodeCommit は 2024 年 7 月に一度新規受付を停止しましたが、その方針は撤回されました。2025 年 11 月 25 日以降は新規アカウントでもコンソール、CLI、API からリポジトリを作成できます。古い比較記事の「新規利用不可」を設計判断に使わないでください。

内部の仕組み

横にスクロール

Git クライアントが IAM に結びつく HTTPS・SSH 認証を通って CodeCommit リポジトリを更新し、イベントがレビュー、通知、パイプラインへ流れる図
2025 年 11 月に新規提供を再開。採用判断は現在の IAM・閉域接続・AWS 連携要件と外部 Git の機能を比較して行う

CodeCommit はリポジトリの実体を AWS が管理するストレージに保持し、複数の場所へ冗長化することで耐久性と可用性を確保します。利用者はサーバーのプロビジョニングやスケーリングを意識する必要がなく、リポジトリのサイズは利用に応じて拡張されます。

クライアントからの操作は Git のプロトコルを通じて行われますが、認証は AWS の署名や認証情報の仕組みに統合されています。HTTPS でアクセスする場合は専用の Git 認証情報、あるいは認証情報ヘルパーを介した一時的な署名を用い、SSH でアクセスする場合は IAM ユーザーに登録した公開鍵で認証します。コミットやブランチ更新、プルリクエストといった操作はイベントとして発行でき、これを契機に通知や自動処理を起動できます。

設計パターン / ベストプラクティス

リポジトリは用途やチーム、マイクロサービスの単位で分割し、それぞれに最小権限の IAM ポリシーを割り当てると統制しやすくなります。本番に直結するブランチには承認ルールを設定し、一定数の承認とレビューを経たプルリクエストだけがマージされるようにすると、変更の品質を担保できます。

CI/CD と組み合わせる場合は、コミットやマージのイベントを契機にビルドやデプロイのパイプラインを起動する構成が基本です。承認ルールはテンプレート化して複数リポジトリへ一括適用すると、組織全体で一貫したレビュー要件を維持できます。

承認ルールでレビュー要件を統一する

承認ルールテンプレートを用いると、必要な承認者数やレビュー条件を複数リポジトリへ一括適用できます。重要なブランチへのマージ前に一定の承認を必須化することで、レビューの抜け漏れを防げます。

運用・監視

CodeCommit に対する API 呼び出しは証跡として記録できるため、誰がいつリポジトリを作成・更新・削除し、どのコードへアクセスしたかを監査できます。コミットやプルリクエストのイベントは通知やイベント基盤と連携でき、レビュー依頼の通知や後続処理の自動起動に利用できます。

運用では、リポジトリ単位の権限を定期的に見直し、退職者や役割変更に伴う不要な権限を削除することが重要です。CI/CD パイプラインと連携する場合は、リポジトリのイベントからビルド・テスト・デプロイまでの流れを自動化し、変更の取り込みからリリースまでを再現性のあるものにします。

コスト

CodeCommit の料金は、アクティブな利用者数を基準とした課金が中心で、一定数までのアクティブユーザーや一定量のストレージ・リクエストは無料枠に含まれます。これを超えた分のアクティブユーザー、ストレージ、Git リクエストに応じて費用が発生します。

コストを抑えるには、実際に利用するメンバーへのアクセス付与にとどめ、不要になったリポジトリや巨大なバイナリ履歴を整理することが有効です。具体的な単価や無料枠の範囲は変動するため、最新の料金ページで確認してください。

セキュリティ

アクセス制御は IAM ポリシーで行い、プリンシパルごとにリポジトリ単位・アクション単位の権限を定義します。最小権限の原則に従い、読み取りのみ・書き込み可能・管理権限といった役割を分離するのが望ましい設計です。HTTPS では専用の Git 認証情報や認証情報ヘルパー、SSH では登録した公開鍵を用いて認証し、いずれも転送時は暗号化されます。

保存されるデータは保管時に暗号化されます。VPC からの閉域アクセスが必要な場合は、インターフェース型のプライベート接続を用いることで、インターネットを経由せずにリポジトリへアクセスできます。多要素認証や認証情報の定期的なローテーションを組み合わせると、認証情報の漏洩リスクを下げられます。

認証情報の共有と権限過多に注意

Git 認証情報や SSH 鍵を個人をまたいで共有すると、操作の追跡が困難になります。利用者ごとに認証情報を発行し、リポジトリへの権限は必要最小限にとどめてください。

関連サービス・比較

CodeCommit と比較されやすいのは、広く使われている外部の Git ホスティングサービスである GitHub です。どちらも Git リポジトリをホストしますが、CodeCommit は IAM への統合や AWS サービスとの連携を重視するのに対し、GitHub は豊富なコミュニティ機能やエコシステムを備えます。AWS のパイプラインは外部の Git サービスとも連携できるため、両者を組み合わせる構成も一般的です。

観点AWS CodeCommitGitHub
ホスティング形態AWS マネージドのプライベートリポジトリ外部サービスとして提供
認証・認可IAM に統合独自のアカウントと権限管理
AWS との連携イベントや CI/CD と密に連携CodeConnections などで連携
新規利用2025年11月に受付再開利用可能
エコシステムAWS 中心広範なコミュニティと連携機能

ハンズオン / CLI例

# リポジトリを作成
aws codecommit create-repository \
  --repository-name my-repo \
  --repository-description "サンプルリポジトリ"

# リポジトリ一覧を確認
aws codecommit list-repositories

# クローン用の HTTPS URL を取得
aws codecommit get-repository \
  --repository-name my-repo \
  --query repositoryMetadata.cloneUrlHttp \
  --output text

# 取得した URL を使って Git でクローン(認証情報ヘルパー設定済みの前提)
git clone https://git-codecommit.<リージョン>.amazonaws.com/v1/repos/my-repo

AWS Service

AWS CodeCommitを実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

開発者ツール

比較で見る軸

クラウド: AWS / カテゴリ: 開発者ツール / 難易度: basic

導入後に効く点

Git 操作を IAM、HTTPS・SSH、VPC エンドポイントで制御できる。

先に潰すリスク

サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。

数字・仕様の読み方
クラウド
AWS
カテゴリ
開発者ツール
難易度
basic
関連資格
DOP-C02 / DVA-C02
設計柱
security / operational

判断チェックリスト

  • 自社の用途が「開発者ツール / security」に近いか確認する。
  • 強みである「2025年11月25日に新規顧客向け提供を再開し、現在は作成できる。」が本当に評価軸になるか確認する。
  • 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

開発者ツールsecurityoperationalDOP-C02DVA-C02