5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

本記事では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プロトコルを用いてバージョンを管理できます。

ドキュメント
製品情報

早速さわってみよう

マネジメントコンソールの検索窓から探しに行きます。

2025-12-08 11_45_13-AWS Developer Tools _ ap-northeast-1.png

Codeサービス群がデベロッパーツールという形式でまとめられた中にいますね。

リポジトリの作成

2025-12-08 11_50_54-リポジトリ _ AWS Developer Tools _ ap-northeast-1.png

まずはリポジトリを作成します。必須項目は[リポジトリ名]だけです。

URLが変更されるなどの影響もありますが、リポジトリ名は後からでも変更できます。

2025-12-08 11_53_51-リポジトリを作成 _ AWS Developer Tools _ ap-northeast-1.png

KMSキーは以下の2つから選択できます。今回はデフォルトの[AWSマネージド型キー]を利用。

2025-12-08 11_59_00-リポジトリを作成 _ AWS Developer Tools _ ap-northeast-1.png

[Amazon CodeGuru Reviewer for Java and Python を有効にする]について
リポジトリ作成後に自由に関連付け・解除できるものです。
有効にするとJava/Pythonのコードをプルリクエスト時に自動分析できます。

無事作成出来ました。

2025-12-08 12_01_48-test-ojyo _ AWS Developer Tools _ ap-northeast-1.png

リポジトリ認証情報を作成

今回はIAMユーザーからGit認証情報を作成します。
CodeCommitに関わるマネージドポリシーは以下の通り。今回はAWSCodeCommitPowerUserを付与しています。

ポリシー名 できること
AWSCodeCommitFullAccess リポジトリの作成・削除、全操作
AWSCodeCommitPowerUser リポジトリ削除以外の全操作
AWSCodeCommitReadOnly リポジトリの閲覧のみ

作成したIAMユーザーの[セキュリティ認証情報]タブより、[AWS CodeCommitのHTTPS Git認証情報]を生成します。

2025-12-08 15_11_05-test-codecommit-user _ IAM _ Global.png

初回コミットまで

VSCodeおよびGitをインストールしておきます。
VSCodeのターミナルから以下コマンドを打ちます。

git clone https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/リポジトリ名

ポップアップで認証情報を確認されるので、先ほど入手したGit認証情報を入力しましょう。

2025-12-08 13_14_54-Git Credential Manager.png

実行結果

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> 

マネジメントコンソールを確認します。

2025-12-08 14_25_47-test-ojyo _ AWS Developer Tools _ ap-northeast-1.png

も、文字化けが、、、

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>

2025-12-08 14_40_20-test-ojyo _ AWS Developer Tools _ ap-northeast-1.png

無事に直せましたね。
コミットのタブを見てみます。

2025-12-08 14_41_49-コミット _ AWS Developer Tools _ ap-northeast-1.png

2025-12-08 14_43_38-コミット _ AWS Developer Tools _ ap-northeast-1.png

2025-12-08 14_43_40-コミット _ AWS Developer Tools _ ap-northeast-1.png

コミットの履歴や比較も出来ますね。

通知について

AWSおなじみのサービス群(SNS、Lambdaなど)と連携し、各種イベントについて通知できます。

2025-12-08 15_07_10-通知ルールの作成 _ AWS Developer Tools _ ap-northeast-1.png

2025-12-08 15_08_51-通知ルールの作成 _ AWS Developer Tools _ ap-northeast-1.png

Githubとの簡単な比較

ここまでで、「CodeCommit使ってこういうことが出来ますよ」、の初歩2割くらいを体験しました。
既に軽く触れましたが、CodeCommitは他のCodeサービス群や各種AWSマネージドサービスとの簡単な連携・統合というメリットを持ちます。
比較対象として最もメジャーであろうGithubと簡単に比較すると、こんな感じかな、と思います。

CodeCommit

料金体系

アクティブユーザー5人まで無料、それ以降は1ユーザーにつき$1/月
アクティブユーザー1人につき10GB/月のストレージ・2,000件のGitリクエスト/月が無料
5000リポジトリ/アカウント(リクエストによって最大25,000まで)

リポジトリの詳細の閲覧まではアクティブユーザーにはならないそうです。

ここまではセーフ。
2025-12-08 16_33_49-リポジトリ _ AWS Developer Tools _ ap-northeast-1.png
ここまでくるとアクティブユーザー扱いになるとか。
2025-12-08 16_34_49-test-ojyo _ AWS Developer Tools _ ap-northeast-1.png

それぞれ、超過すると$0.06/GB/月、
$0.001/Gitリクエスト の課金が発生しますが、ほとんど特典で賄えそうです。

Github

料金体系

CodeCommitと大きく違う点として、ユーザー数とプランによる課金であるところですね。
プランによって主に組織としての機能が大きく変わっていきます。

大規模プロジェクト、AWSに閉じない活動はやはりGithubが向いていそうです。
他にも検証は出来ていないのですが、CodeCommitの方がやや動作が重い、のようなお話も聞くので、使い続けているとそれぞれのメリット・デメリットもより見えてきそうです。

とはいえGithub ActionsでGithubのリポジトリをCodeCommitにミラーリングしたり、みたいな使い方もあるようで、奥が深いですね。
しばらくは個人で色々遊ぶのに使いそうなので、研究のし甲斐がありますね!

ここからがスタートライン

というわけで、AWS CodeCommitの本当に触りの部分だけをやってみよう、でした。
10分程度でリポジトリ作成~最初のコミットくらいまで出来ました。

冒頭で引用した記事によると、今後もアップデートを控えているようですね。
今まで使っていた方も、自分と同じようにこれから触る方も、再スタートを切ったCodeCommitを一緒に追いかけていきましょう。

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?