インフラ

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

codecommit-clone
野田竣介

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

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とのミラーリングも試して見る価値あり!

あわせて読みたい
GitHubリポジトリをCodeCommitリポジトリにミラーリング(連携)する!
GitHubリポジトリをCodeCommitリポジトリにミラーリング(連携)する!
記事URLをコピーしました