AWS CodeCommit SSH接続方法

#ツール
written by みよしや

こんにちは、みよしやです。

今回は、SSH接続でCodeCommitリポジトリをgit cloneする方法について書こうと思います。
(GitインストールとIAMユーザー作成は完了している前提で進めます)


CodeCommitとは

AWS上でバージョン管理ができるサービスで、簡単に言うとAWS版Githubです。


SSHキーの作成

※特記していない部分はMacもWindowsも同じ操作となります。

コマンドでキー作成を行うため、まずはターミナル(Windowsの場合はコマンドプロンプト)を開きます。

$ ssh-keygen

上記コマンドでsshキーを作成します。

途中、設定するパスフレーズを聞かれるので自由に入力してください。
(未入力でも問題無いです)

$ cd ~/.ssh
$ ls
id_rsa id_rsa.pub

ホームディレクトリ下の.ssh ディレクトリに2つのファイルが作成されます。

$ pbcopy < ~/.ssh/id_rsa.pub

.pubのほうが公開鍵なので、こちらをクリップボードにコピーします。
(Windowsの場合は pbcopy ではなく clip コマンドとなります)

 


IAMユーザーにSSHキーを登録

AWSコンソールで自分のIAMユーザー画面を表示し、
認証情報タブを開きSSHパブリックキーのアップロードを押してください。  


先ほどクリップボードにコピーした公開鍵を貼り付けてアップロードします。


アップロードが終わるとSSHキーIDが表示されるので
そのIDをコピーして~/.ssh/configのUse項目に記述してください。

Host git-codecommit.*.amazonaws.com
User TESTSSHKEYID
IdentityFile ~/.ssh/id_rsa

上の例だと’TESTSSHKEYID’の部分がSSHキーIDとなります。


リポジトリをクローンする

デベロッパー用ツール > CodeCommit > リポジトリ から
cloneしたいリポジトリを選びURLをコピーします。
この時、SSH用のURLをコピーするようにしてください。

git clone ssh://git-codecommit.us-east-1.amazonaws.com/v1/repos/sample

あとはgithubなどと同じようにgit cloneコマンドを実行するだけです。


最後に

今回はCodeCommitによるソース管理だけ紹介しましたが、
CodePipelineやCodeDeployと組み合わせることで、デプロイの自動化なども可能です。