0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWS CodeCommit (Code兄弟#1)

Last updated at Posted at 2023-10-29

目次

1. はじめに
2. CodeCommitとは
3. CodeCommitの特徴
4. CodeCommitのコスト
5. 参考

はじめに

AWSでCI/CDを構築するために利用するCode兄弟についてまとめる。

今回は、AWS CodeCommitについて。


CI/CDについては別で詳しく解説するが、簡単なイメージ図は以下の通り。

CICDイメージ_page-0001.jpg


CodeCommitとは

公式ドキュメントには以下のように書かれている。

CodeCommit is a secure, highly scalable, managed source control service that hosts private Git repositories. CodeCommit eliminates the need for you to manage your own source control system or worry about scaling its infrastructure. You can use CodeCommit to store anything from code to binaries. It supports the standard functionality of Git, so it works seamlessly with your existing Git-based tools.

上記の文章を要約すると、以下のようになる。

  • CodeCommitはGitリポジトリをホストするためのマネージドサービス
  • セキュア、高スケール性
  • コードからバイナリまで何でも保存可能
  • 既存のGitツールとシームレスな連携が可能

つまり、CodeCommitとは
「AWSが提供するGitベースのプライベートなリポジトリサービス」
といえる。


CodeCommit以外のGit管理ツールにはGitHubGitLabなどがある。

※Git:ソースコードやドキュメント、説明書などその他諸々のバージョン管理システム。
※リポジトリ:様々なものを一元管理するためのもの。貯蔵庫という意味がある。

CodeCommitの特徴

共同開発

AWS CodeCommitはGitベースのリポジトリサービスなので、共同でのソフトウェア開発が容易である。AWSマネジメントコンソール、AWS CLI、AWS SDKを使用してリポジトリを作成し、開発環境からgitコマンドによる操作が可能。GitHubやGitLabでの操作と同様のコマンドであるため、ローカル環境、Cloud9などのさまざまな開発環境からソースコードの情報を共有できる。

セキュリティ

CodeCommitのリポジトリへの接続には、HTTPS or SSHを使用できる。これらを利用して安全(セキュア)にリポジトリへファイル転送などを行うことができる。また、認証情報はIAMユーザーごとに生成する。「AWSCodeCommitPowerUser」をユーザー、グループにアタッチすることで権限を付与できる。

また、保存されるリポジトリはユーザー専用のキーを使用して、AWS KMSによる暗号化も自動で行われている。

高可用性と高耐久性

AWS CodeCommitはリポジトリをAmazon S3とAmazon DynamoDBに保存する。S3であれば、マルチAZによってその耐久性はイレブンナイン(99.999999999%)である。DynamoDB は同一リージョン内の3施設間で同期的にレプリケートされている。

通知とイベント

ソースコードやドキュメントが更新されたなどのタイミングで、グループメンバーたちに通知を行ったり、Lambda関数を実行したりできる。通知はAmazon SNSやAWS Chatbotで送信。

承認による安全な開発

プルリクエスト(pull-request)の作成が可能。プルリクエストは開発者によって作成したコード変更の反映(merge)を管理者にお願いすることである。


(例)
ぷるリクエストのイメージ_page-0001.jpg

上記の図では、masterから二人の開発者によってブランチが切られ、2つの開発環境が新たに作られた場面を想像してほしい。
Aさんがソースに変更を加え、管理者にpull-requestを送る。管理者はソースコードを確認し、問題がなければmergeを行う。その結果、masterに変更が反映される。
一方、Bさんもソースに変更を加え、管理者にpull-requestを送った。しかし、管理者がソースコードを確認したところ、ロジックがおかしい部分を見つけたためリクエストを拒否した。その結果、masterには変更が反映されていない。

CodeCommitのコスト

公式サイトには以下のように記載されている。

  • 1アカウントあたり5,000リポジトリ、リクエストに応じて最大25,000リポジトリ
  • 50 GBのストレージ/月
  • 10,000 回のGitリクエスト/月
  • アカウントに毎月5人のアクティブユーザーを無料で持つことができる。
  • 範囲内のアクティブユーザーを超えたとき、追加のアクティブユーザーごとに1.00USD/月の支払いが発生。

参考

AWS CodeCommit
AWS CodeCommit ユーザーガイド

Code兄弟シリーズ

AWS CodeCommit (Code兄弟#2)


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?