はじめに
ソース管理からデプロイまで、様々な機能を提供するAWSサービスについて、「AWS認定資格試験テキスト AWS認定ソリューションアーキテクト – アソシエイト 改訂第2版」を読みつつ整理してみた。
まとめ
- AWSでは、CI/CD環境を構築するためのマネージドサービスが提供されている
- CI/CD環境を構築するためのマネージドサービスには次のものがある
- CodeCommit:ソースの管理
- CodeBuild:ソースのビルド(兼テスト)
- CodeDeploy:ビルドアーティファクトのデプロイ。ビルドアーティファクトとは、ビルドされたモジュールのこと。
- CodePipeline:上記3つのサービスを束ね、ソース管理→ビルド→デプロイの連携を実現するサービス
- CodeStar:上記4つのサービスを利用し、CI/CI環境を自動構築するサービス
- CodeCommit
- Gitリポジトリを提供するマネージドサービス
- IAMユーザとの連携ができる
- その他AWSサービスとの連携も便利
- CodeBuild
- ソースのコンパイル・ビルド環境を提供するマネージドサービス
- 外部プロバイダ(GithubやBitbucket)と連携する設定も可能
- buildspec.ymlでビルドの定義を行う
- 料金は従量課金制(スペック x 時間)
- CodeDeploy
- ビルドされたモジュール(アーティファクト)をサーバへ自動デプロイするサービス
- 段階的なデプロイ、問題発生時のロールバックする機能が組み込み済
- appspec.ymlでデプロイ先・デプロイ方式の設定が可能
- デプロイ方式には次がある
- AllAtOnce:まとめて更新
- HalfAtATime:50%ずつデプロイ
- OneAtATime:一台づつ、切り離してデプロイ
- CodePipeline
- ソース管理・ビルド・デプロイの連携を実現するサービス
- まずここから骨組みを作って、肉付けしていくという進め方もできる
- 途中で人による承認プロセスも組み込むことができる
- ソース管理・ビルド・デプロイの連携を実現するサービス
最後に
CodeStarと似たようなサービスでAWS Amplifyがあるが、CodeStarだとアプリケーションのソースのスケルトンまで用意してくれる、という違いがあるようだ
参考
- Amazon.co.jp: AWS認定資格試験テキスト AWS認定ソリューションアーキテクト – アソシエイト 改訂第2版 : NRIネットコム株式会社, 佐々木 拓郎, 林 晋一郎, 金澤 圭: 本 https://www.amazon.co.jp/dp/4815607389/