久しぶりの投稿となります。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のリポジトリで管理するところを記事にしたいと思っております。