初心者向け

【AWS】CodeCommitリポジトリを作成してcloneする!

codecommit-clone

こんばんは!光です。

大手グローバル企業でWebエンジニアをやっています。

Webエンジニアを目指してプログラミングを勉強している初心者の方向けに情報を発信しています。

経歴や実績はこちら

システム開発のお仕事の依頼もお待ちしております。

お問い合わせページTwitterのDMからお気軽にお問い合わせください!

今回はこのような質問をいただきました。

CodeCommitを使いたい!

AWS上でソースコード管理を行うならCodeCommitですよね。

そこで今回はこちらの質問について解説していきます!

環境
  • AWS
    • CodeCommit
    • IAM

CodeCommitの準備!

IAMの作成

まずはCodeCommitへアクセスするためのIAMを用意します。

グループの作成

IAMのグループ→新しいグループを作成と進んでください。

グループの作成

グループ名を入力します。

私はCodeCommitSSHOnlyと設定しました。

グループ名の設定

次にポリシーを割り当てます。

以下の3つを割り当ててください。

  • IAMUserSSHKeys
  • IAMReadOnlyAccess
  • AWSCodeCommitFullAccess
ポリシーの割り当て

確認したらグループを作成します。

確認画面

ユーザを作成する

次はIAMのユーザー→ユーザーを追加と進んでください。

ユーザーを追加

ユーザー名を入力し、アクセスの種類を選択します。

アクセスの種類はプログラムによるアクセスを選択してください。

ユーザー名はcodecommit_ssh_userと設定しました。

プログラムによるアクセスを選択

先ほど作成したCodeCommitSSHOnlyというグループに追加します。

グループに追加

タグの設定は不要でそのまま作成します。

確認と作成

作成すると一覧に表示されているので詳細ページへ行きます。

ユーザー一覧

認証情報タブからアクセスキーを削除します。

アクセスキーの削除

公開鍵とIAMを連携する

鍵ファイル用意するため、少しだけローカルで作業をします。

以下のコマンドで鍵ファイルを生成します。

すでに鍵ファイルがある人は作る必要ないかも。

$ ssh-keygen

デフォルトだと~/.sshにid_rsaとid_rsa.pubが生成されます。

名前を指定して生成した場合はその名前になっています。

生成されたid_rsa.pubの内容をコピーします。

$ cat ~/.ssh/id_rsa.pub | pbcopy

そしてコピーした内容をSSH パブリックキーのアップロードに貼り付けます。

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

これでIAMの設定が完了しました。

SSHの設定

configファイルの設定

~/.ssh/configに以下の設定を追記します。

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

UserはIAMに公開鍵を登録した際に発行されたSSHキーIDを設定してください。

IdentityFileは公開鍵と一緒に生成された秘密鍵です。

SSHキーID

CodeCommitリポジトリの作成とclone

リポジトリの作成

まずはCodeCommitのリポジトリを作成します。

リポジトリの作成

リポジトリ名を入力して作成しましょう。

リポジトリの設定

リポジトリのclone

作成できたらcloneコマンドをコピーします。

SSHのクローン

IAMの設定が正しいか確認するためにローカルにcloneしてみましょう!

git clone ssh://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/sample

URLは自分のリポジトリのもの(コピーしたもの)に変更してください。

これでcloneできると思います!

あとがき

リポジトリは簡単に作れるのにIAMの設定に時間がかかりますね。

CodeCommitにあげておくと他のCodeシリーズが使いやすくなると思うので知っておいてよかったかも。

GitHubとのミラーリングも試して見る価値あり!