AWS CodeCommitセットアップガイド - リポジトリ作成から初期設定まで
AWS CodeCommitを実際に使用するためのセットアップ手順を、コード例とともに詳細に解説します。リポジトリ作成からIAM設定、Git認証設定、開発環境の構築まで、実際の運用で必要な設定を段階的に進めます。
前提条件
必要な権限とリソース
セットアップを始める前に、以下の前提条件を確認してください:
前提条件チェックリスト:
- AWSアカウント: 管理者権限またはCodeCommit管理権限
- IAMユーザー作成権限: ユーザーとポリシー管理権限
- KMS使用権限: 暗号化を使用する場合
- ローカル環境: Git クライアント (2.14以降推奨)
- AWS CLI: バージョン2.0以降推奨
- ネットワーク: HTTPS (443) アウトバウンド接続
環境確認手順
セットアップを始める前に、必要なツールがインストールされていることを確認します。
環境確認では、以下の項目を確認してください:
- Gitクライアント: コマンドプロンプトで
git --version
を実行してバージョンを確認 - AWS CLI:
aws --version
でAWS CLIがインストールされていることを確認 - AWS認証情報:
aws sts get-caller-identity
で現在の認証情報を確認
ステップ1:IAMユーザーとアクセス設定
IAMユーザーの作成
CodeCommitを使用するための専用IAMユーザーを作成し、適切な権限を設定します。
AWSコンソールでの手順:
IAMコンソールへアクセス: AWSマネジメントコンソールからIAMサービスを選択します。
ユーザー作成: 「ユーザー」メニューから「ユーザーを作成」をクリックし、CodeCommit用のユーザー名を入力します。
権限ポリシーの作成: 新しいポリシーを作成し、CodeCommitの基本操作権限を設定します。
ポリシーのアタッチ: 作成したポリシーをユーザーにアタッチして権限を付与します。
権限レベルの選択では、開発者用と管理者用の2つのレベルがあります。開発者用は基本的なGit操作のみ、管理者用はリポジトリ管理を含む全権限を持ちます。
Git認証情報の設定
CodeCommitでGit操作を行うための認証情報を設定します。
AWSコンソールでの手順:
- IAMコンソールで作成したCodeCommitユーザーを選択します。
- 「セキュリティ認証情報」タブで「AWS CodeCommit の Git 認証情報」を選択します。
- 「認証情報の生成」ボタンをクリックし、ユーザー名とパスワードを取得します。
- 生成された認証情報を安全な場所に保存します。
ローカル環境でのGit設定:
Gitクライアントで認証情報を設定します:
# Git credential helperを設定(基本設定)
git config --global credential.helper store
これでCodeCommitへのアクセス準備が完了します。初回Git操作時にユーザー名とパスワードの入力が求められます。
ステップ2:リポジトリの作成と設定
リポジトリ作成
AWSコンソールでの手順:
CodeCommitコンソールにアクセス: AWSマネジメントコンソールからCodeCommitサービスを選択します。
リポジトリ作成: 「リポジトリを作成」ボタンをクリックし、リポジトリ名と説明を入力します。
暗号化設定: 必要に応じてKMSキーを選択し、データの暗号化を設定します。
タグ設定: 管理用のタグ(Environment、Project、ManagedBy等)を追加します。
AWS CLIでのリポジトリ作成(コンソール操作の代替):
# 基本的なリポジトリ作成
aws codecommit create-repository --repository-name my-project
または、AWSコンソールからの作成も可能で、より直感的な操作ができます。
初期ファイル構造の作成
リポジトリ作成後は、プロジェクトタイプに応じた初期構造を構築します。
一般的なプロジェクト構造:
- README.md(プロジェクト概要)
- .gitignore(不要ファイルの除外設定)
- docs/(ドキュメント用ディレクトリ)
- src/(ソースコード用ディレクトリ)
- tests/(テスト用ディレクトリ)
AWSコンソールでの初期ファイル追加:
- CodeCommitリポジトリのページで「ファイルの作成」を選択
- README.mdを作成してプロジェクト概要を記載
- .gitignoreファイルを作成して除外パターンを設定
- 必要に応じてディレクトリ構造用の.gitkeepファイルを配置
プロジェクトタイプ別設定:
Node.jsプロジェクトの場合:
- package.json(依存関係とスクリプト定義)
- .gitignoreでnode_modules/を除外
- src/index.js(エントリーポイント)
Pythonプロジェクトの場合:
- requirements.txt(依存ライブラリ一覧)
- .gitignoreで__pycache__/を除外
- src/init.py(パッケージ初期化)
Javaプロジェクトの場合:
- Maven/Gradleの設定ファイル
- .gitignoreでtarget/やbuild/を除外
- src/main/java/(ソースディレクトリ)
ステップ3:ローカル開発環境のセットアップ
リポジトリのクローンと初期設定
リポジトリ作成後は、ローカル環境にクローンして開発環境を整えます。
リポジトリのクローン:
# HTTPSクローン(推奨)
git clone https://git-codecommit.region.amazonaws.com/v1/repos/repository-name
クローン後は、GitユーザーTTL名とメールアドレスをローカルで設定し、必要に応じて開発用ブランチを作成します。
ステップ4:チーム開発環境の構築
チーム用アクセス設定
チーム開発では、メンバーの役割に応じたアクセス制御を設定します。IAMコンソールでグループを作成し、開発者、リード開発者、管理者の役割に応じて異なる権限レベルを設定します。
ステップ5:セットアップの確認と検証
設定確認手順
セットアップ完了後は、IAMユーザーの作成、リポジトリの作成、初期ファイルの設置、アクセス権限の設定、ローカル環境での基本操作が正常に動作することを確認します。
5. ローカル環境の確認:
基本的な動作確認として、リポジトリのクローン、Git設定の確認、テストコミットを実行します。これにより、CodeCommitへの接続と基本的なGit操作が正常に動作することを確認できます。
セットアップ完了サマリー
セットアップが正常に完了した場合は、以下の項目を確認できます:
- リポジトリ作成完了: CodeCommitコンソールでリポジトリが表示される
- IAMユーザー設定完了: 管理者ユーザーが作成されている
- Git認証情報設定完了: HTTPSアクセス用の認証情報が生成済み
- チームアクセス設定完了: 必要なチームメンバーのユーザー作成完了
次のステップ:
- チームメンバーに認証情報を共有
- ブランチ保護ルールの設定
- CI/CDパイプラインの構築
- 開発ワークフローの確立
使用例
基本的なセットアップ手順
個人開発用のシンプルな設定:
- IAMユーザー「codeecommit-admin」を作成
- リポジトリ「my-project」を作成
- Pythonプロジェクト向けの.gitignoreとrequirements.txtを追加
- ローカル環境にクローンして開発開始
動作確認:
リポジトリをローカルにクローンし、テストファイルを作成してCodeCommitにプッシュすることで、セットアップが正常に完了していることを確認できます。
チーム開発用セットアップ手順
チーム用の組織的な設定:
- 管理者ユーザーの作成(codecommit-admin)
- リポジトリの作成(team-project)
- チームグループの作成:
- Developersグループ(dev1, dev2)
- Leadsグループ(lead1)
- Adminsグループ(admin1)
- 権限ポリシーをグループにアタッチ
- KMS暗号化を有効化
チームメンバーへの共有:
- 各ユーザーのGit認証情報を安全に共有
- Clone URLとアクセス手順をチームに共有
- 開発ワークフローガイドラインを策定
トラブルシューティング
よくある問題と解決方法
Git認証エラー: IAMコンソールでGit認証情報を再生成し、credential helperの設定を確認します。
リポジトリアクセスエラー: リポジトリ名とリージョンの確認、IAM権限の再設定を行います。
クローン失敗: ファイアウォール設定でHTTPSポートを許可し、正しいClone URLを使用します。
まとめ
AWS CodeCommitのセットアップは、適切な手順に従うことで確実に実行できます。
セットアップチェックリスト
- [ ] AWS CLIとGitクライアントのインストール
- [ ] IAM権限の設定
- [ ] CodeCommit用IAMユーザーの作成
- [ ] Git認証情報の生成と設定
- [ ] リポジトリの作成
- [ ] 初期プロジェクト構造の構築
- [ ] ローカル開発環境の設定
- [ ] チームアクセス権限の設定
- [ ] 動作確認(clone、push、pull)
次のステップ
セットアップ完了後は、以下の記事を参考にさらなる設定を行ってください:
適切なセットアップにより、CodeCommitは効率的なソースコード管理の基盤となります。