本当に今更感がありますが、AWS CodeCommitが復活したようですね。
「AWS純正のリポジトリが無いからここだけはGithubなんだよなぁ…ちょっと不便だよなぁ…」と思っていたので、すごく朗報です。ありがとうAWS様!
CodeCommit は新規のお客様にも再び開放されます – 本日より新規のお客様のサインアップが可能になります。新しいアカウントのオンボーディングやリポジトリの作成をお待ちいただいていた場合は、AWS コンソール、CLI、または API を通じて今すぐ実行できます。
今回は、GithubのリポジトリをAWSのCodeCommitに移行する手順をまとめておこうと思います。
移行元になるGithubリポジトリ
Privateで作成しているリポジトリを今回は使用します。
このリポジトリはAWS Amplifyで使っているリポジトリになります。
今まではGithubを使っていましたが、これをAWS CodeCommitに変えたいと思います。
環境イメージ
GithubにあるリポジトリをCodeCommitに引っ越します。
Githubのリポジトリのミラーをローカルに作成して、それをCodeCommitにpushします。
AmplifyはGithubと連携しているものではなく、CodeCommitと連携するものを新規で作成します。
※AmplifyのURLが変わりますが、今回は目をつむります。独自ドメインでもないですし。
構築
CodeCommitリポジトリの作成と、専用のユーザ及び認証情報を作成する
CodeCommitの管理画面を開き、リポジトリからリポジトリを作成を押下します。
リポジトリの名前:CodeCommitSentimentRepo
として作成していきます。

作成することが出来ました。
※これを作成しているタイミングではRootアカウント(良くないけどプライベート環境なので)なので以下の注意書きが出ていますね。これに対応します。
ルートアカウントを使用してサインインしている場合。ルートアカウントには SSH 接続を設定できません。ルートアカウントに HTTPS 接続を使用することは推奨されません。IAM ユーザーとしてサインインし、接続をセットアップすることを検討します。
任意の名前を指定して、マネジメントコンソールのアクセスを許可します。

Policyは雑ですが、AdministratorAccessにしておきます。
この後作成してcsvが出力されますので、控えます。

PolicyはAWSCodeCommitPowerUserがあれば良さそうに見えますね。
権限を絞る場合はこちらが良さそうです。
Rootアカウントをサインアウトして、作成したユーザでログインします。

先ほど作成したCodeCommitのリポジトリにアクセスすると、このリポジトリに接続するステップが表示されていることがわかります。
私の環境では、GitコマンドはGithubにpushしたりpullしたりで既にローカルPCにインストールされているので対応不要です。
その次のGit認証情報というものが必要そうです。

IAMに改めて移動します。
作成したユーザのセキュリティ認証情報タブを下の方にスクロールすると、AWS CodeCommitのHTTPS Git認証情報というものがあります。生成を押下します。

ユーザ名とパスワードが出力されますので、これを控えましょう。
ダウンロードします。

Githubリポジトリをミラークローンする
ローカルPCでGithubのリポジトリをミラーリングオプション付きでクローンしていきます。
以下のコマンドをgithubを操作しているフォルダとは別のフォルダで実行してください。
git clone --mirror https://oauth2:<トークン>@github.com/<ユーザー名>/<リポジトリ名>.git
今回実際に実行したコマンドは以下です。
Windows11上でPowershellを起動して実行しています。
PS C:\Users\ohtsu> cd C:\Users\ohtsu\Documents\AWS
PS C:\Users\ohtsu\Documents\AWS> git clone --mirror https://oauth2:<トークン>@github.com/ohtsuka-shota/SentimentRepo.git
Cloning into bare repository 'SentimentRepo.git'...
remote: Enumerating objects: 67, done.
remote: Counting objects: 100% (67/67), done.
remote: Compressing objects: 100% (48/48), done.
Receiving objects: 100% (67/67), 107.71 KiB | 4.49 MiB/s, done.0 (from 0)Receiving objects: 100% (67/67)
Resolving deltas: 100% (30/30), done.
explorerで確認すると確かにSentimentRepo.gitというフォルダがあることがわかります。

ミラーリング対象のリポジトリがPrivateではなく、Publicである場合は以下のコマンドで問題ありません。
認証tokenをコマンドに埋め込まずともミラーリングが可能です。
PS C:\Users\ohtsu> cd C:\Users\ohtsu\Documents\AWS
PS C:\Users\ohtsu\Documents\AWS> git clone --mirror https://github.com/ohtsuka-shota/SentimentRepo.git
Cloning into bare repository 'app.git'...
remote: Enumerating objects: 39, done.
remote: Counting objects: 100% (39/39), done.
remote: Compressing objects: 100% (27/27), done.
Receiving objects: 100% (39/39), 39.05 KiB | 9.76 MiB/s, done. (from 0)
Resolving deltas: 100% (9/9), done.
CodeCommitにpush
GithubからミラーリングしたものをCodeCommitにpushします。
ミラーリングしたフォルダに移動して、git pushコマンドを実行します。
httpsのURLはCodeCommitのリポジトリに記載されています。
PS C:\Users\ohtsu\Documents\AWS> cd .\SentimentRepo.git\
PS C:\Users\ohtsu\Documents\AWS\SentimentRepo.git> git push --mirror <CodeCommitのHTTPS URL>
初めてpushする場合、認証を求められます。
ここで入力するユーザ名とパスワードはAWS CodeCommitのHTTPS Git認証情報になります。
IAMユーザのものではないです。

認証後、以下のような出力が出ていればOKです。
Enumerating objects: 67, done.
Counting objects: 100% (67/67), done.
Delta compression using up to 20 threads
Compressing objects: 100% (50/50), done.
Writing objects: 100% (67/67), 123.64 KiB | 12.36 MiB/s, done.
Total 67 (delta 30), reused 35 (delta 14), pack-reused 0
remote: Validating objects: 100%
* [new branch] main -> main
* [new reference] origin/HEAD -> origin/HEAD
* [new reference] origin/main -> origin/main
CodeCommitとAmplifyを紐づけてWebアプリをデプロイする
Amplifyで新しいアプリを作成していきます。
※既存のものをGithubからCodeCommitに差し替えることも考えたのですが、新しくAmplifyをデプロイします。
今回作成したCodeCommitを選択します。
次へを押下します。

Amplifyで環境変数やバックエンドでAPI Gatewayを使用している場合、そのあたりは手動でお引越し前のAmplifyから情報を持ってきて埋め込みます。


そんなこんなをしているうちにデプロイが完了したかと思います。
環境変数を改めて認識させるために、このバージョンを再デプロイを押下して読み込ませます。

ローカルに開発環境を用意する。
GithubからCodeCommitに環境移行は出来ましたが、ローカルPCに開発する環境は出来ておりません。
CodeCommitからgit cloneをしていきましょう。
CodeCommitのリポジトリのURLのクローンからHTTPSのクローンを押下します。
これを押下するとgit clone用のURLをコピーできます。

ローカルPCでコマンドを実行します。
開発環境用のフォルダが生成されます。
PS C:\Users\ohtsu\Documents\AWS\SentimentRepo.git> cd ..
PS C:\Users\ohtsu\Documents\AWS> cd .\codecommit\
PS C:\Users\ohtsu\Documents\AWS\codecommit> git clone <コピーされているURL>
Cloning into 'CodeCommitSentimentRepo'...
remote: Counting objects: 67, done.
Unpacking objects: 100% (67/67), 98.47 KiB | 509.00 KiB/s, done.
PS C:\Users\ohtsu\Documents\AWS\codecommit> dir
ディレクトリ: C:\Users\ohtsu\Documents\AWS\codecommit
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2026/02/28 19:14 CodeCommitSentimentRepo
VSCodeなりAntigravityなりでフォルダを開きましょう。
用意が出来ました。

適当にコードを修正して、Githubにpushするようにpushします。
出力結果的に問題なさそうです。
PS C:\Users\ohtsu\Documents\AWS\codecommit\CodeCommitSentimentRepo> git add .
PS C:\Users\ohtsu\Documents\AWS\codecommit\CodeCommitSentimentRepo> git commit -m "move CodeCommit"
[main b3a4a34] move CodeCommit
1 file changed, 1 insertion(+), 1 deletion(-)
PS C:\Users\ohtsu\Documents\AWS\codecommit\CodeCommitSentimentRepo> git push origin main
Enumerating objects: 9, done.
Counting objects: 100% (9/9), done.
Delta compression using up to 20 threads
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 434 bytes | 434.00 KiB/s, done.
Total 5 (delta 4), reused 0 (delta 0), pack-reused 0
remote: Validating objects: 100%
To https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/CodeCommitSentimentRepo
0ce9ebd..b3a4a34 main -> main















