CodeCommit

【VPC外リージョンサービス】

CodeCommit は、AWSが提供する マネージド型の Git リポジトリサービス です。

Repository(リポジトリ) を作成してソースコードやバイナリを安全に保管でき、Branch(ブランチ)Commit(コミット) を使って変更履歴を管理します。既存の Git クライアントから Clone(クローン) 操作で直接利用できるため、他のGitホスティングサービスからの移行も容易です。

CodeCommitのリポジトリは常にプライベートであり、VPC Endpoint を経由して社内ネットワークや閉域網から安全にアクセスできます。また、KMS(Key Management Service) によるデータ暗号化と、IAM ベースの詳細なアクセス制御に対応しており、セキュリティとコンプライアンス要件を満たすことができます。

リポジトリでの変更イベントは Trigger(トリガー)Hooks(フック) として EventBridge や SNS に連携でき、コミットやブランチ更新を契機に CodePipeline や CodeBuild を自動実行することが可能です。この仕組みにより、ビルド、テスト、デプロイまでを自動化した CI/CDパイプライン をAWS内で完結させることができます。

さらに、CodeCommitは大容量リポジトリやバイナリファイルにも対応しており、監査や可視化の観点では CloudTrail や CloudWatch と連携して操作履歴やメトリクスを確認できます。

重要用語

ユースケース

ソースコードのバージョン管理Git互換のリポジトリとしてアプリケーションやインフラコードを保存し、履歴管理・ブランチ運用・レビューを行う。
プライベートリポジトリのホスティング社外公開したくないソースコードや設定ファイルをAWSアカウント内のプライベートリポジトリとして安全に管理する。
CI/CDパイプラインのトリガーコードがpushされたタイミングでCodePipelineやCodeBuildを自動起動し、ビルド・テスト・デプロイの一連の流れを開始する。

ベストプラクティス

ブランチ保護ルール重要ブランチにはレビュー必須や直push禁止のルールを設定する。
タグとブランチ戦略GitフローやTrunkベースなど一貫した運用ルールを採用する。
CloudWatch Eventsでの通知プルリクやコミットをトリガーに通知やパイプライン起動を行う。

セキュリティ

関連サービス設定内容
CloudTrail(操作履歴の記録・監査・追跡)【自動記録】
作成・更新・削除・設定変更は自動記録される。(コントロールプレーンAPI)
データ操作は追跡できない(データプレーンAPI)
Config(リソースの構成状態・設定変更を記録)-
GuardDuty(脅威を自動検出)【GuardDutyが有効な場合】
リポジトリ操作のAPI異常検知

ログ・監視

標準メトリクス
メトリクス名説明

制限値(固定値/ハードリミット/ソフトリミット)

固定値制限値
リポジトリサイズ無制限
ブランチ数/リポジトリ無制限

ハードリミット制限値
ファイルサイズ最大2 GB

ソフトリミット制限値
同時リクエスト5,000(Git操作)
リポジトリ数/リージョン5,000

AWS CLIのサンプルコード

CloudFormationのサンプルコード

Terraformのサンプルコード

料金計算

課金項目説明
アクティブユーザー月あたりのアクティブユーザー数
(最初の5ユーザーは無料)
ストレージリポジトリのストレージ容量
GitリクエストGit APIリクエスト数
料金計算ツール

公式ページ

AWSドキュメント CodeCommit