はじめに
本記事ではAWS CodeCommitを今からでも触ってみましょう!という趣旨の超・初心者向け記事となっています。
この記事は、Japan AWS Jr. Champions Advent Calendar 2025 8日目の記事です。
たくさんの Japan AWS Jr. Champions 2025 メンバーが記事を投稿していきますので、ぜひ他の日や他のシリーズで投稿された記事もチェックいただけますと幸いです!
目次
祝・CodeCommit復活!
AWS CodeCommitとは
早速さわってみよう
Githubとの簡単な比較
ここからがスタートライン
祝・CodeCommit復活!
re:invent直前の発表でしたが、24年より段階的廃止となっていったAWS CodeCommitが再度GA(一般公開)になりました。
自分は、廃止以前は案件や個人で使う機会はありませんでした。
資格試験に名前が出てきて、あーGithubみたいなやつあったんだ、みたいな印象をほんのりと持っていた程度です。
自分もAWS歴が浅いので、まさか復活するとは思っておらず、、、
Jr.Championsの活動を機にGitHubを使うようになったので、これを機に入門してみたいと思います。
AWS CodeCommitとは
「Code サービス群」のようにまとめられているAWSフルマネージドサービスの一つです。
ソースコードやファイルを保存し、Gitプロトコルを用いてバージョンを管理できます。
早速さわってみよう
マネジメントコンソールの検索窓から探しに行きます。
Codeサービス群がデベロッパーツールという形式でまとめられた中にいますね。
リポジトリの作成
まずはリポジトリを作成します。必須項目は[リポジトリ名]だけです。
URLが変更されるなどの影響もありますが、リポジトリ名は後からでも変更できます。
KMSキーは以下の2つから選択できます。今回はデフォルトの[AWSマネージド型キー]を利用。
[Amazon CodeGuru Reviewer for Java and Python を有効にする]について
リポジトリ作成後に自由に関連付け・解除できるものです。
有効にするとJava/Pythonのコードをプルリクエスト時に自動分析できます。
無事作成出来ました。
リポジトリ認証情報を作成
今回はIAMユーザーからGit認証情報を作成します。
CodeCommitに関わるマネージドポリシーは以下の通り。今回はAWSCodeCommitPowerUserを付与しています。
| ポリシー名 | できること |
|---|---|
| AWSCodeCommitFullAccess | リポジトリの作成・削除、全操作 |
| AWSCodeCommitPowerUser | リポジトリ削除以外の全操作 |
| AWSCodeCommitReadOnly | リポジトリの閲覧のみ |
作成したIAMユーザーの[セキュリティ認証情報]タブより、[AWS CodeCommitのHTTPS Git認証情報]を生成します。
初回コミットまで
VSCodeおよびGitをインストールしておきます。
VSCodeのターミナルから以下コマンドを打ちます。
git clone https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/リポジトリ名
ポップアップで認証情報を確認されるので、先ほど入手したGit認証情報を入力しましょう。
実行結果
PS C:\Users\****> git clone https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/test-ojyo
Cloning into 'test-ojyo'...
warning: You appear to have cloned an empty repository.
PS C:\Users\****>
warningとありますが、警告ではなく情報メッセージです。以下を意味しています。
「git cloneは正常に完了した」、
「リポジトリが作成直後の初期状態で、中身が空である」
クローンの成功を確認します。
PS C:\Users\****> cd .\test-ojyo\ # ディレクトリに移動
PS C:\Users\****\test-ojyo> git status # リポジトリの状態確認
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)
PS C:\Users\****\test-ojyo> git remote -v # リモートリポジトリ確認
origin https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/test-ojyo (fetch)
origin https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/test-ojyo (push)
PS C:\Users\****\test-ojyo>
初回コミットをしてみます。
PS C:\Users\****\test-ojyo> echo "# test-project-ojyo-sample" > README.md # READMEファイル作成
PS C:\Users\****\test-ojyo> git add README.md # ファイルをステージング
PS C:\Users\****\test-ojyo> git commit -m "Initial commit" # 初回コミット
[master (root-commit) 8019ca5] Initial commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README.md
PS C:\Users\****\test-ojyo> git push origin master --verbose # リモートリポジトリにプッシュ
Pushing to https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/test-ojyo
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Delta compression using up to 12 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 268 bytes | 268.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
POST git-receive-pack (404 bytes)
remote: Validating objects: 100%
To https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/test-ojyo
* [new branch] master -> master
updating local tracking ref 'refs/remotes/origin/master'
PS C:\Users\****\test-ojyo>
マネジメントコンソールを確認します。
も、文字化けが、、、
PowerShellでechoコマンドを使用した際に起きがちな問題のようです。
PowerShellのデフォルトエンコーディングがUTF-16 LEで保存されるのに対し、
これをCodeCommitがUTF-8として解釈しようとして文字化けが発生、という流れらしい。。
折角ですしコード修正をしてみましょう。
PS C:\Users\****\test-ojyo> Set-Content -Path README.md -Value "# test-project-ojyo-sample" -Encoding UTF8
PS C:\Users\****\test-ojyo> Get-Content README.md
# test-project-ojyo-sample
PS C:\Users\****\test-ojyo> git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: README.md
no changes added to commit (use "git add" and/or "git commit -a")
PS C:\Users\****\test-ojyo> git diff
diff --git a/README.md b/README.md
index 1f3d1a9..36353d9 100644
Binary files a/README.md and b/README.md differ
PS C:\Users\****\test-ojyo> git add README.md
PS C:\Users\****\test-ojyo> git commit -m "Fix README.md character encoding to UTF-8"
[master 556628c] Fix README.md character encoding to UTF-8
1 file changed, 0 insertions(+), 0 deletions(-)
PS C:\Users\****\test-ojyo> git push origin master
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 12 threads
Compressing objects: 100% (1/1), done.
Writing objects: 100% (3/3), 309 bytes | 309.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
remote: Validating objects: 100%
To https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/test-ojyo
8019ca5..556628c master -> master
PS C:\Users\****\test-ojyo>
無事に直せましたね。
コミットのタブを見てみます。
コミットの履歴や比較も出来ますね。
通知について
AWSおなじみのサービス群(SNS、Lambdaなど)と連携し、各種イベントについて通知できます。
Githubとの簡単な比較
ここまでで、「CodeCommit使ってこういうことが出来ますよ」、の初歩2割くらいを体験しました。
既に軽く触れましたが、CodeCommitは他のCodeサービス群や各種AWSマネージドサービスとの簡単な連携・統合というメリットを持ちます。
比較対象として最もメジャーであろうGithubと簡単に比較すると、こんな感じかな、と思います。
CodeCommit
料金体系
アクティブユーザー5人まで無料、それ以降は1ユーザーにつき$1/月
アクティブユーザー1人につき10GB/月のストレージ・2,000件のGitリクエスト/月が無料
5000リポジトリ/アカウント(リクエストによって最大25,000まで)
リポジトリの詳細の閲覧まではアクティブユーザーにはならないそうです。
ここまではセーフ。

ここまでくるとアクティブユーザー扱いになるとか。

それぞれ、超過すると$0.06/GB/月、
$0.001/Gitリクエスト の課金が発生しますが、ほとんど特典で賄えそうです。
Github
料金体系
CodeCommitと大きく違う点として、ユーザー数とプランによる課金であるところですね。
プランによって主に組織としての機能が大きく変わっていきます。
大規模プロジェクト、AWSに閉じない活動はやはりGithubが向いていそうです。
他にも検証は出来ていないのですが、CodeCommitの方がやや動作が重い、のようなお話も聞くので、使い続けているとそれぞれのメリット・デメリットもより見えてきそうです。
とはいえGithub ActionsでGithubのリポジトリをCodeCommitにミラーリングしたり、みたいな使い方もあるようで、奥が深いですね。
しばらくは個人で色々遊ぶのに使いそうなので、研究のし甲斐がありますね!
ここからがスタートライン
というわけで、AWS CodeCommitの本当に触りの部分だけをやってみよう、でした。
10分程度でリポジトリ作成~最初のコミットくらいまで出来ました。
冒頭で引用した記事によると、今後もアップデートを控えているようですね。
今まで使っていた方も、自分と同じようにこれから触る方も、再スタートを切ったCodeCommitを一緒に追いかけていきましょう。













