« 週刊AWS - 2015年6月29日 | メイン | 【AWS発表】Amazon API Gateway – スケーラブルなアプリケーションバックエンドの構築と実行 »

【AWS発表】AWS CodeCommitが利用可能に

昨年11月のAWS re:Inventで我々はAWS CodeCommitを発表しました(コード管理とデプロイのための新しいAWSツールをご覧下さい)。そして今日、これが一般利用可能となり使いはじめることができるようになったことをお知らせでき、とても嬉しいです。

サービスを触り始めるまえに、CodeCommitの機能について改めて簡単におさらいしておきましょう。

CodeCommit概要

CodeCommitはGitレポジトリをホスティングするマネージドのバージョン管理サービスであり、既存のGitベースのツールと連携することができます。ファイルはレポジトリとして構造化されており、レポジトリサイズやファイルの数に制限がありません。すぐにお分かりになる様に、既存のGitのスキルやツールそしてプラクティスは使い続けることができます。

Codecommit_splash_3

裏側では、CodeCommitはスケーラブルで冗長性があり耐久性がある様にGitを実装しているので、皆さんのコードやアセットは安全に保持されています。CodeCommitはファイルを暗号化されたレポジトリに保存されており、開発者は管理者としてのコントロールはIAMロールを使って実現できます。全ての開発環境を行き来するデータはHTTPSかSSH接続を経由します。

CodeCommitはAWSのクラウド上で動いているので、開発チームが複数の場所で働いていたり、開発会社やパートナーと協力する必要がある際にとてもうまくフィットします。

こちらはCodeCommitの早期ユーザの方からのコメントになります:

Brian_deitte_brightcove_1“我々は何十万ものビデオプレーヤーを抱えていて、それぞれのコードと関連するWebのアセットを分離されたレポジトリに保存することができるソース管理システムを探し続けていました。AWS CodeCommitによって我々はレポジトリを何個でもスケールすることができ、レポジトリサイズについて心配する必要がなくなりました。我々の開発者はすでに馴染みのあるGitインタフェースやツールを使っており、AWSインフラとAWS CodeCommitで同じ認証管理を利用しています。"
 
Brian Deitte, Architect
Brightcove
 
 
 
 
 
Ajit_edmunds_2
“以前は我々はオンプレミスでホストされた中央のバージョン管理システムを使っていました。AWS CodeCommitによってスケールできて分散された完全マネージドのソース管理システムを使うことができるようになりました。我々はもはやハードウェアのスケールコストについて心配する必要はなくなり、従量課金モデルによって事前にライセンスを入手することなく柔軟にユーザを追加したり削除したりすることができるようになりました。今や我々はお客様のためにすばらしいアプリケーションを開発することに集中することができ、その代わりにAWS CodeCommitが高可用性なソース管理システムの管理という課題に取り組んでくれています。"

Ajit Zadgaonkar, Executive Director, Software Engineering Operations

Edmunds

 

 

 

 

CodeCommit実践

実世界でのCodeCommitの体験をするために、AWS SDK for PHPのミラーを作ることにしましょう。まずAmazon Linux AMIから素のEC2インスタンスを立ち上げます。最新バージョンのAWS Command Line Interface(CLI)をインストールし、認証情報を設定し、いつもの方法でGitをインストールしました:

$ sudo yum install git

Gitの個人情報も設定しました: 

$ git config --global user.name "Jeff Barr"
$ git config --global user.email jbarr@amazon.com

AWS CLIはawscliというIAMユーザをデフォルトで参照するように設定しました。このユーザにはAWSCodeCommitFullAccessポリシーをアタッチして私のCodeCommitレポジトリの管理作業ができる権限を与えました:

Codecommit_user_policy_1

このポリシーは、その名が示す様に、全てのCodeCommitの操作を私が持っている全てのレポジトリに対して許可します。実際の環境では、もっと制限をかけた権限が適しています。例えば、何人かのシニアな開発者だけにレポジトリの作成と削除を許可したい、といった形です。

次に、GitがCodeCommitで認証できるように設定をしました。以下の様にcredential helperを使うように指示しました:

$ git config --global credential.helper '!aws codecommit credential-helper $@'
$ git config --global credential.UseHttpPath true

credential helperはwasコマンドの一部として提供されているので、CLIで使うために設定したどのプロファイルでも参照することができます。このオプションはいくつかのプロジェクトに関わっていて、それぞれのレポジトリで個別の認証情報を使っている場合にとても役に立ちます。この場合には、credential.helperを以下の様にレポジトリ毎にセットします:

$ cd repo1
$ git config --local credential.helper '!aws codecommit --profile jb_repo1 credential-helper $@' 
$ cd ../repo2
$ git config --local credential.helper '!aws codecommit --profile jb_repo2 credential-helper $@' 

Gitの設定と共に、コンソールを使ってレポジトリを作成しました(もちろんCLIのcreate-repositoryコマンドを使うこともできました):

Codecommit_create_php_repo_1

私のレポジトリはすぐに利用可能となりました。CodeCommitのダッシュボードでは一目で全ての私のレポジトリを見ることができました。

Codecommit_dash_2

いくつかのコンテンツをAWS_PHP_SDKレポジトリに追加する準備ができていたので、URLのアイコンをクリックしHTTPSのURLを取得しました(SSL URLもそのアイコンを通じて入手可能です)。

Codecommit_php_get_repo_url_2

そして、SDKをcloneして私のレポジトリにpushしました:

$ git push https://git-codecommit.us-east-1.amazonaws.com/v1/repos/AWS_PHP_SDK --all
Counting objects: 28690, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (9608/9608), done.
Writing objects: 100% (28690/28690), 12.91 MiB | 625.00 KiB/s, done.544.00 KiB/s
Total 28690 (delta 16604), reused 28686 (delta 16603)

To https://git-codecommit.us-east-1.amazonaws.com/v1/repos/AWS_PHP_SDK
* [new branch] 2.8 -> 2.8
* [new branch] master -> master

コンソールからレポジトリについてもっと学んでいるところです:

Codecommit_php_repo_overview_2

レポジトリをリネームしたり他の設定を調整するオプションもありました:

Codecommit_php_repo_settings_1

今から利用可能です

CodoCommitはもう利用可能であり、今日から使い始められます!

1アクティブユーザ(一意なIAMユーザやロール、federatedユーザ、またはrootアカウント)あたり1ヶ月$1が課金されます。いくつでも好きな数のGitレポジトリを保存することができます。

各ユーザは10GBのストレージと2,000回のGitリクエスト(pushやpullといったレポジトリのオブジェクト転送)が毎月の利用枠としてあり、各AWSアカウントでユーザにまたがってプールされます。追加のストレージコストは$0.06/GB/月で、追加のリクエストは1回あたり$0.001です。

AWS無料枠として、新規又は既存のお客様は毎月5アクティブユーザ、50GBのストレージ、そして10,000Gitリクエストが無料でご利用できます。

これから

我々はCodeCommitに大きなプランを持っています!以下が次のステップとして動いているもののいくつかになります:

  • Post後のHook - CodeCommitがレポジトリへのpushの後に毎回外部のシステムを呼び出すことができるようになります。これによって、継続的インテグレーション(CI)サーバに新しいコードがビルドやテスト可能となったことを通知したりできます。
  • CloudTrailサポート - CodeCommit APIの呼び出しが記録され監査可能となります。
  • リージョン拡張 - 本日はUS East(Northern Virginia)リージョンのみでのローンチです。追加のリージョン拡大を時間をかけて行っていく計画です。
  • UI機能の追加 - 我々はソースコードレポジトリとしての完全なWebベースのUIを作り出すために動いています。

-- Jeff; (翻訳: SA岩永)

原文: https://aws.amazon.com/blogs/aws/now-available-aws-codecommit/

コメント

Featured Event

2016年3 月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31