
【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リクエスト数 |