AWS サービスアップデート 2016 年 10 月CodeCommit/CodeDeploy/CodePipeline
2016年 10月 3日アマゾンウェブサービスジャパン株式会社ソリューション アーキテクト福井 厚
2
CodeX おさらい
3
AWS CodeCommit とは
• Availability Zone を跨ぎデータを冗長化• データは暗号化されて保存• IAM との統合• リポジトリのサイズは無制限
git push AWS CodeCommit
Git のオブジェクトはAmazon S3
Git のインデックスはAmazon DynamoDB
暗号化鍵はAWS KMS
SSH or HTTPS
安全、スケーラブル、マネージドな、 Git ソース管理
4
AWS CodeDeploy とは
• 1 台も数千台も同じやり方で• 開発環境もステージング環境もプロダクションも同じやり方で• ダウンタイム無くデプロイ• 中央でデプロイをコントロール・モニタリング
Staging
AWS CodeDeployv1, v2, v3Production
Dev
自動デプロイのコーディネートを、 Amazon の様に
Application
revisions
Deployment groups
5
AWS CodePipeline とは
• ソフトウェアのリリースに必要なステップをモデル化、視覚化、自動化できる継続的デリバリーサービス
• ソフトウェアのリリース プロセスの異なるステージごとにモデル化と構成が可能
• ソフトウェアの継続的な変更のリリースで要求されるステップを自動化
6
CodePipeline Update
7
AWS CodePipeline 内でコミットされたコードの変更情報を参照可能に
• AWS CodePipeline のソフトウェア リリース パイプライン フローを通じて、コミットされたコードの変更の詳細を参照可能
• コミットされた変更の詳細は、マニュアル承認アクションのレビューやパイプラインの失敗についてトラブルシュートを行う際に役立つ
• マネジメント コンソールまたは CLI で参照可能
UPDATED(2016/9/8)
8
CodeCommit Update
9
AWS CodeCommit が Visualizer Graph Viewを提供
UPDATED
(2016/9/14)
• CodeCommit リポジトリのコミットの視覚表現を見ることが可能に• ビジュアル化されたグラフにより、ブランチへのコミットや親と子の
間のコミットのリレーションシップなどを容易に確認可能
• 個々のコミットをクリックすることで詳細を表示可能
10
CodeDeploy Update
11
AWS CodeDeploy のデプロイメント変更を Amazon CloudWatch イベントで処理
UPDATED(2016/9/9)
• Amazon CloudWatch イベントの機能を利用して AWS CodeDeployのデプロイメント変更をモニタしたり自動的に反応することが可能に– セットしたルールに従ってアクションを実行– デプロイメントの変更をトリガーとしたワークフローとプロセスの構築に利用可能– 変更のイベントで Lambda を実行することが可能、 AWS の各リソースに対する処
理を記述可能
12
AWS CodeDeploy が Amazon CloudWatchアラームによるデプロイ モニタリングをサポート
UPDATED
(2016/9/15)
• Amazon CloudWatch アラームの機能を利用して AWS CodeDeployのデプロイメントの変更をモニタしたり自動的に反応することが可能に– CodeDeploy によって管理された EC2 インスタンスやオート スケール グループを
モニタリング– トラッキングしているメトリックスが定義した期間内に閾値を超えた場合にアク
ションを実行可能– アラームがアクティブになった場合は、 CloudWatch がアクションを開始する
( SNS へ通知を送信、 CodeDeploy のデプロイメントの停止、インスタンスの状態変更など)
13
AWS CodeDeploy が自動デプロイメント ロールバックをサポート
UPDATED
(2016/9/15)
• デプロイメントが失敗したり CloudWatch アラームがアクティブ化された場合に自動的にロールバックを実行
• CodeDeploy はアプリケーションの直近に成功したバージョンを再デプロイしてロールバックを実行– これまではロールバックしたい場合は手動で前のバージョンを再デプロイする必要
があった– 自動ロールバックは新規デプロイメントの作成時または既存デプロイメントのアッ
プデートで設定可能
14