0
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管理は git-remote-codecommitがいい

0
Last updated at Posted at 2026-04-13

git-remote-codecommit とは

git-remote-codecommit は、AWS CodeCommit リポジトリを Git から簡単に操作するための Python ツールです。codecommit:// という特殊なプロトコルをサポートし、HTTPS URL の代わりに使用できます。

通常の HTTPS URLの代わりに、codecommit:: という記述でクローンやプッシュができます。AWS CLI で設定した認証情報(IAM ユーザーのアクセスキー)を自動的に使用するため、毎回クレデンシャルを入力する必要がありません。複数の AWS プロファイルにも対応しており、$env:AWS_PROFILE 環境変数で切り替えられます。

メリット

  • これを使うとあたらしいPCにCloneするときに楽になる
  • また、WindowのCredential Managerを更新する必要がなくなる
    • よって、資格マネージャーをいちいち変える必要が無いというのが良い

流れ

AWS CodeCommit で Git Remote Credentials (GRC) を使用する方法をセットアップします。
GRC を使うには、以下の手順が必要です:

  1. git-remote-codecommit をインストール — Python スクリプトで codecommit:// スキームをサポート
  2. AWS 認証情報を確認 — AWS CLI が正しく設定されている必要があります
  3. GRC スキームを使ってクローン — codecommit:// プロトコルでクローン

実行

1 . まずは挨拶 インストール

pip install git-remote-codecommit

2 . Cloneしたいディレクトリに移動

cd your/repo

3 . 作業セッション全体で.AWS_PROFILEを設定

$env:AWS_PROFILE = '設定しているプロファイル名'

一度設定すればそのターミナルセッション内で有効です。複数クローンする場合はこれが最も簡単です。

補足:プロファイルに永続設定することも可能

現在のユーザーの PowerShell プロファイルに追加して、常に 「設定しているプロファイル名」 を使用する場合:

echo '$env:AWS_PROFILE = "設定しているプロファイル名"' >> $PROFILE

4 . git clone するお

AWSのCodeCommitのURLのクローンの部分で

  • HTTPS
  • SSH
  • HTTPS(GRC)

3つがあります。
HTTPS(GRC)をクリックすると

codecommit::us-east-1://your-repo

というようなURLがコピーできる
「us-east-1」の部分は所属しているregion0によって変わる

コマンド実行

git clone codecommit::us-east-1://your-repo

クローンができました。(写真はありませんが...)

感想

今はそこまで多くのAWSのアカウントを使っていないので、そこまで困っていませんでしたが、最初にこれに引っ掛かったときにめっちゃ大変でした。
特に「資格マネージャー」を更新するという部分に気づかなくてドツボにはまってました。
この部分をターミナル上のAWS_PROFILE を更新するだけでやらなくてすむという部分が良いですね。

毎回変えなきゃいけないの?と思ってたら有識者の方が教えてくれました !(^^)!。 。

0
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
0
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?