AWS

【AWS】CodeCommitとは?初期設定とローカルで作成したファイルをpushするまで

どうも、AWS勉強中のとがみんです。

この記事では、AWS CodeCommitについてや、CodeCommitを使用するための設定、ローカルで作成したファイルをpushするまでの方法を紹介していきます。

AWS CodeCommitとは?

「AWS CodeCommit」は、ドキュメントやソースコード、バイナリファイル等のクラウド内のアセットを非公開で保存および管理するためのバージョン管理サービスです。

AWS CodeCommitを利用したソースコードの管理するまで

次に、AWS CodeCommitを利用して、ソースコードを管理するまでの設定や操作方法についてまとめていきます。

リポジトリの作成

AWSのコンソールにて、CodeCommitの管理画面の「リポジトリ」の欄から、「リポジトリの作成」のボタンを押すことで、新規リポジトリを作成することができます。

リポジトリ:システムを構成するデータやプログラムの情報を保管する場所。

リポジトリ名や、リポジトリの説明を入れ「作成」を押すことで、新規リポジトリが作成できます。

権限の付与

CodeCommitを操作するIAMユーザーに対して、作成したリポジトリに対するアクセス権を設定します。

目的に応じて以下の権限を設定します。

「AWSCodeCommitFullAccess」、「AWSCodeCommitPowerUser」
「AWSCodeCommitReadOnly」の権限を付与します。

「AWSCodeCommitFullAccess」は、CodeCommitのリポジトリにコミットできるようにする権限で、リポジトリを削除をする権限があります。

一方で「AWSCodeCommitPowerUser」はリポジトリを削除する権限はありません。

また、「AWSCodeCommitReadOnly」は、リポジトリ読み取り専用の権限であり、コミットはできません。

>AWS「CodeCommit」ユーザーポリシーの比較

IAMユーザー:IAM(Identity and Access Management:アイアム)とは、AWSのサービスで「認証」と「認可」の設定を行うことができるサービスで、IAMユーザーとは、AWSを利用するアカウントのこと。

コンソールからテストファイルを作成する

作成したリポジトリにて「ファイルの作成」を選択すると、テストファイルが作成されます。

SSHキーの登録(公開鍵をIAMユーザーに紐づける)

ローカル開発環境で作成したものをCodeCommitへアップロードするためには、SSHキーの登録し、安全にCodeCommitを操作する設定をする必要があります。

ssh-keygenコマンドを利用し、公開鍵と秘密鍵を作成します。

>【 ssh-keygen 】コマンド――SSHの公開鍵と秘密鍵を作成する

作成した公開鍵を対象のIAMユーザーに設定します。

公開鍵のアップロードが完了すると、SSHキーIDが割り当てられます。

このSSHキーは、後でローカル端末からGitクライアントを使って、CodeCommitにアクセスするときに必要になります。

ローカルからCodeCommitに接続するための設定

ローカル開発環境から、リモートリポジトリにアクセスするために必要な情報の設定を行います。

ローカル端末の./ssh/configファイルに以下の情報を追加します。

Host git-codecommit.*.amazonaws.com
User {SSH キーID}
IdentityFile {秘密鍵のパス}

上記を追加することで、CodeCommit上で確認できるURLから、ソースコードをクローンできるようになります。

>~/.ssh/configについて

CodeCommitのソースコードのクローン

ローカルからCodeCommitに接続するための設定をした後、CodeCommitのコンソール上の「URLのクローン」から「SSHのクローン」を選択し、URLをコピーします。

コピーしたURLを用いて、git cloneを実行します。

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

実行され、リポジトリのソースコードをローカルに落としてくることができました。

Cloning into ‘aws-test’…
remote: Counting objects: 3, done.
Receiving objects: 100% (3/3), 232 bytes | 33.00 KiB/s, done.

>AWS CLI を使用していない SSH ユーザーの セットアップ

ローカル端末からCodeCommitへpushする

クローンしたファイルに変更を加えpushします。

README.txtファイルに、以下情報を追記し、コミットしました。

テスト
クローン成功
Pushしました。

コンソール上で確認すると、変更が反映されていることが確認できました。

まとめ

AWS CodeCommitを利用して、ソースコードを管理するまでの方法について整理しました。