はじめに
普段、GitLabを使っているんですが、この度デプロイ自動化しようぜって話になったので、CodeCommitにソースをpushすることになったんですよ。
ふつう、 aws-cli でやるのがいいのでしょうが、ゆくゆくはGitLabを廃してCodeCommitに一本化したい気持ちもあり、GitKrakenで簡単に操作できるといいなあと思った次第です。
やり方
とりあえず、CodeCommitのリポジトリと、そこにつなげるIAMユーザーは作ってあるものとして話を進めます。
できてないときはここと見ながらやると良いでしょう。
AWS CLI を使用していない SSH ユーザーの セットアップ
1. IAMユーザーにSSH公開鍵を登録する
IAMでユーザーを作ったらユーザーの概要の画面を出しましょう。そこの 認証情報 というタブをクリックします。

すると真ん中の方に SSHパブリックキーのアップロード というボタンが有るはずです。
ここをクリックするとポップアップが出てきて、そこに公開鍵をペーストしてあげて SSHパブリックキーのアップロード という青いボタンをクリックすると、 SSHキーID とか項目のついた表が出てくるはずです。
そこの SSHキーID がSSH接続するときのユーザー名になります。

2. GitKrakenにリモートリポジトリを登録する
まずは接続用のURLを取ってきましょう。CodeCommitのリポジトリのここから取れます。

GitKrakenの Add Remote ってところをクリックすると簡単にリモートリポジトリを登録することができます。

でこのときに出てくるウィンドウに接続情報を入れてやるわけですが、 Pull URL と Push URL に入れるURLに一工夫が必要になります。

CodeCommitはなぜか ユーザー名@ホスト名:リポジトリパス のいわゆる SSH URL が使えません。
なので ssh:// から始まるURLを登録するわけですが、このままやるとこのあとGitKrakenからユーザー名を聞かれ、そこにさっきのSSHキーIDを入れてしまうと、GitKraken側で勝手に SSH URL に変換されてしまってFETCHもPUSHもできなくなってしまいます。なので、以下の感じのURLを登録してやればよいのです。
ssh://{SSHキーID}@{リポジトリのURL}
おわりに
まさかここで謎にハマってしまうとは思いませんでした……CodeCommitがにくい……