AWS認定資格 WEB問題集&徹底解説
クラウドプラクティショナー
AWS CodeCommit の概要と試験出題ポイントは?
AWSサービスの一つであるAWS CodeCommitはどんな内容なのでしょうか?また、AWS認定資格のクラウドプラクティショナー(CLF)に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います
1. サービス概要
AWS CodeCommitは、AWSが提供するフルマネージドのソース管理(Git)サービスです。プライベートGitリポジトリをホストし、スケーラブルで安全なバージョン管理を実現します。インフラ管理が不要で、既存のGitツール・コマンドをそのまま使用できます。
なお、2024年7月以降、AWSはCodeCommitの新規顧客向け提供を制限しています(既存利用者は継続利用可能)。試験対策としてはGitリポジトリのマネージドサービスとしての位置付け・IAM統合・CI/CD連携を理解しておくことが重要です。
2. 主な特徴と機能
2.1 Gitリポジトリのホスティング
- 標準のGitプロトコル(HTTPS/SSH)でアクセス。既存のGitクライアント・IDEと互換。
- リポジトリサイズ・ファイル数の事実上無制限スケーリング。
2.2 プルリクエストとコードレビュー
プルリクエスト機能でコード変更のレビュー・コメント・差分確認が可能。承認ルール(Approval Rules)でマージ前に必要な承認者数を設定できます。
2.3 トリガーとイベント通知
- トリガー: プッシュ等のイベントでSNS通知・Lambda関数を起動。
- EventBridge統合: リポジトリイベントをEventBridgeで検知してCI/CDパイプラインを自動起動。
2.4 CodePipeline/CodeBuildとの統合
CodePipelineのSourceステージとして使用→コードプッシュで自動的にCI/CDパイプラインをトリガー。
3. アーキテクチャおよび技術要素
- HTTPS接続: IAMユーザーのGit認証情報(HTTPS Git credentials)またはgit-remote-codecommit(GRC)でIAM認証。
- SSH接続: IAMユーザーにSSH公開鍵を登録してSSHでアクセス。
- リージョン: リポジトリは特定リージョンに作成される。
4. セキュリティと認証・認可
- IAM認証: リポジトリへのアクセスはIAMポリシーで細かく制御(ブランチ単位の制御も可能)。
- 暗号化: 保存時はKMSで自動暗号化・転送時はHTTPS/SSHで暗号化。
- MFA: IAMと統合してMFAを強制可能。
- 承認ルールテンプレート: 特定ブランチへのマージに承認者を必須化してコード品質を担保。
5. 料金形態
- アクティブユーザー数ベースの課金(最初の5アクティブユーザー/月は無料)。
- 各アクティブユーザーには一定のストレージ・Gitリクエストが含まれる。
6. よくあるアーキテクチャ・設計パターン
- CI/CDのソース: CodeCommit → CodePipeline(Sourceステージ)→ CodeBuild → CodeDeploy。AWSネイティブのCI/CDパイプライン。
- 承認フロー付きデプロイ: 承認ルールでmainブランチへのマージに複数承認を必須化→マージ後に自動デプロイ。
- イベント駆動の自動処理: プッシュ → トリガー → Lambda(コード品質チェック・通知)。
7. 設定・デプロイ手順(ハンズオン例)
- CodeCommitコンソール→「リポジトリを作成」。
- IAMユーザーにHTTPS Git認証情報を生成(またはSSH公開鍵を登録)。
- git cloneでリポジトリをクローン→コードをコミット・プッシュ。
- プルリクエストを作成→承認ルールに従ってレビュー・マージ。
- CodePipelineのSourceステージにCodeCommitを設定してCI/CDを自動化。
8. 試験で問われやすいポイント
8.1 CodeCommitの役割
- Q: AWSのフルマネージドGitリポジトリサービスは?
A: AWS CodeCommit(プライベートGitリポジトリをホスト。IAMでアクセス制御・KMSで暗号化)。
8.2 認証方法
- Q: CodeCommitリポジトリへの接続方法は?
A: HTTPS(IAMユーザーのGit認証情報またはgit-remote-codecommit)・SSH(IAMユーザーにSSH公開鍵を登録)。IAMで認証・認可を一元管理。
8.3 承認ルール
- Q: 特定ブランチへのマージに必須の承認を設定するには?
A: プルリクエストの承認ルール(Approval Rule)またはテンプレートで必要な承認者数を設定。
8.4 CI/CD統合
- Q: CodeCommitへのプッシュでCI/CDパイプラインを自動起動するには?
A: CodePipelineのSourceステージにCodeCommitを設定(EventBridge経由で変更を検知して自動トリガー)。
広告