この記事では、AWSプロファイル、クレデンシャルヘルパー、HTTPS(GRC)を使用して、同じマシンから異なるAWSアカウントの複数のCodeCommitリポジトリに簡単かつ快適に接続してコミットする方法を説明します。
- 1つ以上のCodeCommitリポジトリ。
- awscli ツールがインストールされています。
- git ツールがインストールされています。
- LinuxまたはOSXを使用しています。
まず、awscli
のプロファイルを設定する必要があります 各組織の各AWSアカウントのユーティリティ
vim ~/.aws/credentials
プロファイルを作成するための構造例は次のとおりです。my_organization_account_1
およびmy_organization_account_2
アカウントの場合:
[my_organization_account_1]
region = us-east-2
aws_access_key_id = YOUR_AWS_ACCESS_KEY_FOR_ACCOUNT_1
aws_secret_access_key = YOUR_AWS_SECRET_ACCESS_KEY_FOR_ACCOUNT_1
[my_organization_account_2]
region = us-east-1
aws_access_key_id = YOUR_AWS_ACCESS_KEY_FOR_ACCOUNT_2
aws_secret_access_key = YOUR_AWS_SECRET_ACCESS_KEY_FOR_ACCOUNT_2
複数のAWSアカウントへのアクセスを管理するための代替のより安全な方法は次のとおりです。aws-vaultを使用して複数のAWSアカウントに安全にアクセスする方法。
プロファイルが設定されるとすぐに、CodeCommitリポジトリに接続してクローンを作成できます。リポジトリrepo_1
を想定しましょう 最初のアカウントで説明されているプロファイルmy_organization_account_1
に属している 。
このリポジトリ用に空のディレクトリを作成します:
cd folder/with/projects
mkdir repo_1
これで、aws codecommit credential-helper
を使用できるようになりました to with --profile
git
を許可する引数 最初のアカウントでCodeCommitリポジトリに接続します。そして、git config --local
を使用しています repo_1
の構成のみを指定する 最初のアカウントのgitリポジトリ。
cd repo_1
git init
git config --local credential.helper \
'!aws codecommit credential-helper \
--profile my_organization_account_1 $@'
git config --local credential.UseHttpPath true
最後に、リモートのCodeCommitリポジトリの場所を追加して(CodeCommit WebコンソールからURLをコピー)、プロジェクトのクローンを作成するだけです。
git remote add origin \
https://git-codecommit.us-east-2.amazonaws.com/v1/repos/my_repository
git pull origin master
HTTPS(GRC)を使用してCodeCommitリポジトリに接続します
HTTPS(GRC)は、git-remote-codecommit(GRC)で使用するプロトコルです。このユーティリティは、Gitを拡張することにより、CodeCommitリポジトリからコードをプッシュおよびプルするための簡単な方法を提供します。
これは、フェデレーションアクセス、IDプロバイダー、および一時的なクレデンシャルで行われる接続をサポートするためのAWS推奨の方法です。
まず、git-remote-codecommitをインストールする必要があります:
pip install git-remote-codecommit
これで、次のコマンドを使用してリポジトリのクローンを作成できます。
git clone codecommit::us-east-2://demo-repository
異なるアカウントで同じAWSCodeCommitリポジトリを使用する必要がある場合は、AWSプロファイルにアタッチされたGitリモートを追加できます:
git remote add \
my_organization_account_1 \
codecommit::us-east-2://my_organization_account_1@demo-repositorySummary
この記事では、AWSプロファイル、クレデンシャルヘルパー、HTTPS(GRC)を使用して、さまざまなAWSアカウントの複数のCodeCommitリポジトリに簡単かつ快適に接続してコミットする方法を示しました。