2023/10/15AWS CodeCommitで通知ルール・トリガーを作成する
2023/09/22
IAMユーザー作成からAWS CodeCommitでGit管理するまで
この記事ではIAMユーザーを作成してCodeCommitでGit管理するまでの方法を解説していきます。普段はGithub等の別のバージョン管理サービスを使用しているけど、AWS上でGit管理したいという方、AWS認定試験を受けようとしている方必見です!
CodeCommitとは
CodeCommitはAWSによってホストされるバージョン管理サービスで、ソースコード等をプライベートに保存・管理できます。類似するサービスだとGithubやBitbucket、GitLabなどがあります。
CodeCommitの利点
CodeCommitはプライベートGitリポジトリで、ソースコードの保存時と転送時は暗号化されているようです。また、Gitの標準機能をサポートしているので、gitコマンドを使用して開発することができます。プルリクエストやマージ、ブランチ作成も普通にできるので、普段GithubやGitLabなど他のバージョン管理ツールを使用している人も馴染みやすいサービスではないかと思います。
CodeCommitを使ってみる
ここからはCodeCommitを使用してリポジトリの作成からソースコードのpushまでを解説していきます。
リポジトリ作成
まずはAWSコンソールにログインし、CodeCommitの画面まで移動してください。
CodeCommitのコンソール画面に移動したら「リポジトリを作成」ボタンを押して下さい。
リポジトリ作成画面に遷移したら、リポジトリ名を入力してください。説明などもオプションで入力することができます。入力が終わったら「作成」ボタンをクリックしてください。
リポジトリの作成が完了すると以下画面が表示されます。AWSのルートアカウントを使用してサインインしている場合は、SSH接続を設定できず、ルートアカウントにHTTPS接続を使用することは推奨されないということなので、次はIAMユーザーを作成していきます。
IAMユーザー作成
IAMのコンソール画面に遷移して、「ユーザー」のアクセス管理画面にいきます。
IAMユーザーのアクセス管理画面に遷移したら、「ユーザーを追加」ボタンをクリックします。
ユーザー詳細の設定画面が表示されたら「ユーザー名」を入力します。「アクセスの権限」のセクションは以下のように新たに作成するIAMユーザーのAWSサービスの使用用途に合わせてチェックを入れるようになっています。今回はどちらもチェックを入れましょう。
プログラムによるアクセス
新たに作成するIAMユーザーがアクセスIDとシークレットアクセスキーを用いてAWS CLIやAPI、SDKからアクセスするかどうか
AWSマネジメントコンソールへのアクセス
新たに作成するIAMユーザーを用いてAWSマネジメントコンソールにアクセスするかどうか
セキュリティ面を考慮して、「コンソールのパスワー」は自動生成パスワードで、「パスワードのリセットが必要」はIAMユーザーの初回ログイン時に新たにパスワードを変更してもらうようにしましょう。設定が完了したら、「次のステップ:アクセス権限」ボタンをクリックします。
アクセス許可の設定画面が表示されたら、「ユーザーをグループに追加」ボタンをクリックしましょう。
グループ名に任意の値(今回はadmin)を入力し、一旦「AdministratorAccess」を割り当てます(本来なら使用するサービスに合わせて割り当てるべきですが。。)。割り当てたいポリシー名にチェックを入れたら「グループの作成」ボタンをクリックしましょう。
作成が完了すると以下のように先ほど設定したグループが表示されます。追加後、問題なければ「次のステップ:タグ」ボタンをクリックしましょう。
タグを指定できます。今回はひとまず何も設定せず、次にいきましょう。
一通り設定が終わったら、確認画面が表示されます。問題なければ「ユーザーの作成」ボタンをクリックしましょう。
IAMユーザー作成が成功すると「成功」画面が表示されます。
IAMユーザーのアクセス管理画面に戻ると作成したIAMユーザーが追加されていますね。次にGitの認証情報を得るべく、作成したIAMユーザー名をクリックします。
IAMユーザー名をクリックするとIAMユーザーに関する詳細が表示されます。「認証情報」をクリックしましょう。
認証情報画面ではアクセスキーの情報確認やアクセスキーの作成等ができます。「AWS CodeCommitのHTTPS Git認証情報」のセクションにいき、「認証情報を生成」ボタンをクリックしましょう。
AWS CodeCommitのHTTPS Git認証情報が生成されます。「ユーザー名」と「パスワード」をコピーして保存しておきましょう。
IAMユーザー認証情報画面に戻ると作成したユーザー名が表示されていますね。
CodeCommitからHTTPSのクローン
CodeCommitから実際にHTTPSのクローンを実施していきましょう。
CodeCommitのコンソール画面に戻り、先ほど作成したリポジトリ画面にいき、「URLのクローン」のプルダウンメニューから「HTTPSのクローン」を選択します。
選択するとHTTPSのクローンに必要なURLが表示され、クリップボードにコピーされます。
ローカル上でリポジトリをクローンしたいディレクトリに移動し、git cloneコマンドを実行します。
git clone https://git-codecommit.ap-northeast-1.amazon.com/v1/repos/webpage #コピーしたURL
クローン時にUsernameとPasswordを求められるので、先ほどIAMユーザー認証情報画面で生成したHTTPS Git認証情報の「ユーザー名」と「パスワード」をそれぞれ入力しましょう。
クローンが完了するとCodeCommit上で作成したリポジトリ名がディレクトリとして表示されていることが分かります。(まだソースコードなどは入っていないため、空のディレクトリです。)
ソースコードをプッシュする
クローンしたディレクトリ配下に任意のソースコードを配置しましょう。
git statusコマンドを実行するとmasterブランチであることが分かります。
git status
追加したソースコードをインデックスに追加してコミット対象にしましょう。
git add .
コミットします。
git commit -m "first commit"
リポジトリにプッシュします。
git push
CodeCommitコンソール画面にいき、リポジトリにプッシュしたソースコードが反映されているか確認しましょう。
反映されていますね!
コミット履歴も見てみましょう。
ブランチ一覧画面にもmasterブランチにコミットが反映されていることが分かりますね!
まとめ
いかがでしたでしょうか?CodeCommitを使用するとAWS上でGitによるバージョン管理ができてしまいます。UIもかなり分かりやすく、普段Githubなどを使っている人も移行しやすいのではないかと思いました。