CodeCommitを使ってGitリポジトリを作成してみた

2020.10.31

こんにちは、コンサル部@大阪オフィスのTodaです。  

開発関連の勉強会に参加する前にAWS CodeCommitの予習で、作成から利用できるまでを試してみました。

前提条件

  • CodeCommitリポジトリが未登録の状態から利用する。
  • リポジトリはSSH接続にて利用する。
  • 作業はMac PCを利用する。

CodeCommitを試してみる

リポジトリの作成

AWSマネージメントコンソール上からサービス > CodeCommitを選択します。
CodeCommit画面に移動したら上部の[リポジトリを作成]をクリックします。

リポジトリの作成

リポジトリの設定を入力

リポジトリ作成に必要な情報を入力して[作成]をクリックします。

リポジトリの設定を入力

リポジトリの作成完了

リポジトリの作成成功のメッセージが表示されたら、作成は完了です。

リポジトリの作成完了

上部の[URLのクローン]からgit cloneで利用する https:// または ssh:// のアドレスを取得する事ができます。

リポジトリの作成完了URL

SSH用のキー生成

Mac PCのターミナルにてSSH接続に利用するパブリックキーとプライベートキーを生成します。
標準で導入されている ssh-keygenコマンド を利用して生成を行います。

ssh-keygen

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/XXXXXXX/.ssh/id_rsa): (例)/Users/XXXXXXX/.ssh/test_repo
Enter passphrase (empty for no passphrase): [パスワード指定 ※今回は空白]
Enter same passphrase again: [パスワード再確認 ※今回は空白]
Enter same passphrase again:
Your identification has been saved in [パブリックキーのパス]
Your public key has been saved in  [プライベートキーのパス]
The key fingerprint is: 以下生成に関する情報

上記でプライベートキーの「test_repo」とパブリックキーの「test_repo.pub」ファイルが生成されます。
ファイル名は「Enter file in which to save the key」の入力内容により変わります。

IAMユーザーの追加

今回、リポジトリにアクセスするユーザーを追加します。
AWSマネージメントコンソール上からサービス > IAM を選択、サブメニューからユーザーを選択します。
ユーザー画面に移動したら[ユーザーの追加]をクリックします。

IAMユーザーの作成

ユーザーの設定を入力

ユーザー追加に必要な情報を入力します。
今回アクセスの種類は[プログラムによるアクセス]のみチェックを付けて[次のステップ]をクリックします。

ユーザーの設定を入力

アクセス許可の設定

既存のポリシーを直接アタッチから AWSCodeCommitPowerUser のポリシーにチェックを付けて[次のステップ]をクリックします。

アクセス許可の設定

タグの設定

入力なしで[次のステップ]をクリックします。

内容の確認

追加されるユーザーの情報が表示されます。
ポリシーの設定を確認して問題無ければ[ユーザーの作成]をクリックします。

ユーザー内容の確認

作成の完了

ユーザーの作成が完了しました。
画面下の[閉じる]をクリックして一覧に戻ります。

ユーザー作成の完了

SSHに関する設定

先ほど登録したユーザーの詳細画面を表示します。

ユーザーの詳細情報

SSHパブリックキーの登録アップロード

タブメニューから[認証情報]をクリックし、表示内のAWS CodeCommitのSSHキーから[SSHパブリックキーの登録アップロード]をクリックします。

ユーザーのSSH認証情報

SSHパブリックキーの入力

先ほど生成したパブリックキーをテキストエディタで開いて ssh-rsaから始まるテキストをコピーして貼り付けします。
貼り付け後、[SSHパブリックキーのアップロード]をクリックします。

SSHパブリックキーの入力

SSHパブリックキー登録完了

登録が完了するとSSHキーの欄に行が追加されます。
表示されるSSHキーIDをメモに残します。

SSHキーID

Mac にSSHの設定を追加

Macに git-codecommit.*.amazonaws.comのSSH接続時に生成したIDとキーファイルを利用するように設定します。

% vi ~/.ssh/config

#  下記設定を追記
Host git-codecommit.*.amazonaws.com
    User              [SSHキーID]
    IdentityFile      [プライベートキーのパス (例)~/.ssh/test_repo]

git cloneを利用できるか確認

設定完了後、試しで作成したディレクトリに移動を行いgit clone を実行します。

% cd [お試しのディレクトリパス]
% git clone ssh://git-codecommit.XXXXXXX.amazonaws.com/v1/repos/[リポジトリ名]

Cloning into 'test-XXXXXXXXX'...
remote: Counting objects: 3, done.
Receiving objects: 100% (3/3), done.

さいごに

CodeCommitの準備を試してみました。
CodeCommitはAWSサービス内で提供されているCodeDeployなどと連携を行いスムーズにデプロイをすることが可能です。
今回は開発向けの勉強会で利用するため事前に予習をしてみました。