git-remote-codecommit(GRC)を使ってCodeCommitのリポジトリに接続してみる

git-remote-codecommit(GRC)を使ってCodeCommitのリポジトリに接続してみる

コンサルティング部の洲崎です!git-remote-codecommit(GRC)を使ってCodeCommitのリポジトリに接続してみました。
Clock Icon2022.05.12

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

git-remote-codecommit(GRC)を使ってCodeCommitのリポジトリに接続する機会がありましたので、本ブログで設定方法をまとめます。

git-remote-codecommit(GRC)を使うメリット

CodeCommitを利用する際の接続方法として「HTTPS」、「SSH」、「HTTPS(GRC)」の3種類あります。
最後の(GRC)はgit-remote-codecommit の略語です。(以下GRCと記載します)
GRCはAWSが用意しており、IAMユーザーの権限のみでCodeCommitにアクセスできるサービスです。
GRCを利用すると下記メリットがあげられます。

  • IAMユーザーの権限設定のみで利用可能
    • IAMユーザーのGit認証情報の設定が不要
    • 複数のアカウントを持っていてスイッチロールした時も便利
  • SSHキーの設定が不要

CodeCommitにアクセスするのにIAMのGit認証情報の設定やSSHキーの設定をしなくていいのは楽でいいですね。
それでは早速AWS CLIで試してみます。

前提

  • CodeCommitでリポジトリを作成済み
  • ローカルにPython (バージョン 3 以降) とそのパッケージマネージャーのpipがインストールされている
  • ローカルPCにGitがインストールされている
  • ローカルにAWS CLI(バージョン 2 以降)がインストールされており、aws configureが設定済み

Pythonのダウンロードはこちらを参照ください。
Gitのダウンロードはこちらを参照ください。
AWS CLIのダウンロードは本ドキュメントを参照ください。

やってみる

設定方法は数ステップで完了します。

GRCをインストールする

ローカルPCでターミナルを開き下記コマンドを入力します。
(ドキュメントだとpipと記載がありますが、Python3をインストールしてる場合はpip3で入力します)

pip3 install git-remote-codecommit

下記結果がでたらインストール完了です。

Successfully built git-remote-codecommit

HTTPSのクローン(GRC)

AWSマネジメントコンソールからCodeCommitを開き、対象のリポジトリを選択します。

右上のURLのクローンをクリックし、HTTPSのクローン(GRC)をクリックします。

Git-remote-codecommit用のURLがコピーされるので控えておきます。

codecommit::ap-northeast-1://[リポジトリの名前]

ローカルでクローン元のフォルダを作成し、ターミナルを開いて作成したフォルダに移動します。
フォルダに移動したら、git cloneのコマンドとコピーしたURLを貼り付けます。

git clone codecommit::ap-northeast-1://[リポジトリの名前]

下記のような表示がでたらclone完了です!

Cloning into 'リポジトリ名'...
remote: Counting objects: 3, done.
Unpacking objects: 100% (3/3), 231 bytes | 46.00 KiB/s, done.

2ステップでCodeCommitにアクセスできた

今回スイッチロールでCodeCommitに接続する必要があったのでどうやったらいいかなと調べていたのですが、GRCを利用することでとても簡単に接続することができました。
ぜひCodeCommitを利用しているけどIAMのGit認証情報やSSHの設定が手間だという方がいたら試してみてください。

以上、コンサルティング部の洲崎でした。

参考

git-remote-codecommit を使用して AWS CodeCommit への HTTPS 接続をセットアップする手順

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.