AWS CodePipeline
ソースコードの変更を検知してビルド、テスト、デプロイを自動実行するフルマネージド CI/CD サービスで、リリースプロセスの完全自動化を実現する
概要
AWS CodePipeline は、ソフトウェアのリリースプロセスを自動化するフルマネージドの継続的デリバリー (CD) サービスです。ソースステージ (CodeCommit、GitHub、S3、ECR)、ビルドステージ (CodeBuild)、テストステージ、デプロイステージ (CodeDeploy、CloudFormation、ECS、S3) を組み合わせたパイプラインを定義し、コードの変更がコミットされるたびに自動的にパイプラインが実行されます。V2 パイプラインでは、パイプラインレベルの変数、Git タグトリガー、手動承認ステージの改善など、より柔軟なワークフローが構築できます。
パイプラインの構造とステージ
CodePipeline のパイプラインは、複数のステージで構成されます。各ステージには 1 つ以上のアクションが含まれ、アクションは順次または並列に実行できます。典型的なパイプラインは、Source (コードの取得) → Build (コンパイルとテスト) → Deploy to Staging (ステージング環境へのデプロイ) → Manual Approval (手動承認) → Deploy to Production (本番環境へのデプロイ) という構成です。手動承認ステージは、本番デプロイ前に人間のレビューを挟むためのゲートです。SNS 通知で承認者にメールを送信し、承認または拒否のアクションを待ちます。パイプラインの実行履歴はすべて記録され、各ステージの成功/失敗、実行時間、アーティファクトの情報を確認できます。
CodeBuild と CodeDeploy との連携
CodeBuild はフルマネージドのビルドサービスで、buildspec.yml にビルドコマンドを定義します。Docker イメージのビルド、ユニットテストの実行、静的解析、アーティファクトの生成などを実行します。ビルド環境は使い捨てのコンテナで、ビルドごとにクリーンな環境が提供されます。CodeDeploy は EC2、ECS、Lambda へのデプロイを自動化するサービスです。EC2 へのデプロイでは、インプレースデプロイメントと Blue/Green デプロイメントの 2 種類のデプロイタイプを選択できます。ECS へのデプロイは Blue/Green デプロイメントで行われ、新しいタスクセットにトラフィックを移行し、問題が発生した場合に自動でロールバックするよう設定できます。Azure の対応サービスは Azure DevOps Pipelines で、同様に CI/CD パイプラインを構築できます。
実務での活用パターン
CodePipeline の実務での活用例の一つが、マイクロサービスのデプロイ自動化です。各マイクロサービスに独立したパイプラインを定義し、サービスごとに独立してデプロイできるようにします。CloudFormation と組み合わせれば、アプリケーションコードとインフラの変更を同じパイプラインでデプロイできます。クロスアカウントデプロイも可能で、開発アカウントでビルドしたアーティファクトを、ステージングアカウントと本番アカウントにデプロイするパイプラインを構築できます。CodePipeline の料金は、V1 型パイプラインがアクティブなパイプライン単位の月額課金、V2 型パイプラインがアクション実行時間 (分) 単位の従量課金と公式料金ページに記載されています (2026 年 9 月時点)。
参考資料 (AWS 公式)
本ページの一次情報は AWS 公式サイトと公式ドキュメントです。最新の仕様と料金は次の公式ページで確認できます。
本ページと公式ドキュメントの記述が食い違う場合は、公式ドキュメントを正としてください。