【CodeCommit】AWSコンソールからリポジトリを作成する手順(SSH認証)

devops

久しぶりの投稿となります。2021年後半は、かなり忙しいプロジェクトに従事していたため、
ブログ記事を書く余力がなく更新できませんでした。年が明けて業務が落ち着いてきたので、ブログ記事を増やしていきたい今日この頃です。

さて、私が昨年末に担当していた案件では、Docker、Ansible、Terraformあたりの構築が多々ありました。これらの知識を忘れないうちに、アウトプットをしていきたいと思います。

そして今回のテーマはCodeCommitです。今までGitやCodeCommitを使用する機会が少なかったのですが、どの案件でもGitが当たり前のように使用されているので、勉強もかねて個人環境で使用して慣れていこうと思っています。

2022年は、個人の環境でCodeCommitでTerraformやAnsibleのコードを管理して、Cloud9などで呼び出して、AWS環境構築をできるような仕組みを作ろうかと思っています。

CodeCommitの構築手順

前置きが長くなりましたが、下記の手順でCodeCommitリポジトリを作成しました。また、下記手順にてローカルPCで構築した仮想Linuxサーバからcloneすることにも成功しています。本記事では、構築した際の手順をご紹介したいと思います。

CodeCommitリポジトリの作成

1.AWSコンソールにログインし、「CodeCommit」のメニューを開く

2.「リポジトリを作成」ボタンをクリックする

3.リポジトリの設定で「リポジトリ名」を入力し「作成」ボタンをクリックする

CodeCommit用のIAMユーザ作成

1.AWSコンソールにログインし、「IAM」のメニューを開く

2.「ユーザーを追加」ボタンをクリックする

3.「ユーザー名」を登録する

4.AWS 認証情報タイプを選択で、「アクセスキー – プログラムによるアクセス」にチェックを入れる。

5.「次のステップ:アクセス権限」をクリックする。

6.「既存のポリシーを直接アタッチ」をクリックする。

7.下記ポリシーをアタッチして「次のステップ:タグ」をクリックする。

IAMUserSSHKeys
IAMReadOnlyAccess
AWSCodeCommitFullAccess

8.タグは任意で、「ユーザーの作成」ボタンをクリックする

9.IAMユーザの一覧から、作成したユーザーを開き、「認証情報」タブをクリック

10.アクセスキーを削除する

CodeCommit用のキーペアを作成

1.Linuxサーバにて、ssh-keygenコマンドを実行し、公開鍵と秘密鍵を生成する。

$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/cloudbu/.ssh/id_rsa):
Created directory '/home/cloudbu/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/cloudbu/.ssh/id_rsa
Your public key has been saved in /home/cloudbu/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:K/WxSO/c7mEKDbzUDzVJdBzmdenWINgjChpjlrORacY cloudbu@LAPTOP-6L241A8N
The key's randomart image is:
+---[RSA 3072]----+
| . + +o.+.+|
| E . o.+=oo.|
| = B . . .+oo..|
| o … . . o.|
| S + . |
| + O = |
| . = = + |
| . + + . |
| +o+ |
+----[SHA256]-----+

公開鍵を作成したIAMにアップロード

1.AWSコンソールにログインし、「IAM」のメニューを開く

2.一覧から今回作成したIAMユーザを開く

3.AWS CodeCommit の SSH キーから「SSH パブリックキーのアップロード」をクリック

4.公開鍵の内容を張り付けてアップロードします。

サーバ上でSSHの設定を行う

1.サーバ上で~/.ssh/configを編集する

Host git-codecommit.*.amazonaws.com
User (IAMに公開鍵を登録した時に発行されたSSHキーID)
IdentityFile ~/.ssh/id_rsa

2.サーバ上でクローンする

git clone ssh://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/<リポジトリ名>

まとめ

今回は、CodeCommitでリポジトリを作成して、ローカルPCにてgit cloneする手順を記載しました。次回はTerraform用のコードを作成して、CodeCommitのリポジトリで管理するところを記事にしたいと思っております。

タイトルとURLをコピーしました