AWS CodePipeline
自動化された CI/CD pipeline
リリースプロセスをステージ(source、build、test、deploy、手動承認)ごとにオーケストレーションします。コードが変更されるたびに自動で実行され、各ステップで CodeBuild、CodeDeploy、CloudFormation などのサービスを呼び出します。
- コスト$ 安い
- 難易度●●●●●
- 未使用でも課金?少し
- サーバーレス
- 出題試験DVA · SOA · SAA
たとえるなら工場のベルトコンベアのようなものです。製品が各検査ステーションを順に通過し、問題があればそのステーションで止まります。
いつ使う?
✓ 使うべき場面
commit から本番環境までのフロー全体を AWS 内で自動化したいとき。
✗ 避けるべき場面
チームが GitHub Actions/GitLab CI で CI/CD を標準化しており、AWS との深い統合が不要な場合。
よくある使い方
- Commit → build → test → ECS へのデプロイ
- 複数環境への CloudFormation/CDK stack のデプロイ
- 本番リリース前の手動承認ステップの追加
料金はいくら?
- 課金方式: V1 pipeline は毎月のアクティブな pipeline 数で課金されます。V2 pipeline は action の実行時間(分)で課金されます。
CodeBuild、S3 の artifact store、各ステージで呼び出されるサービスの費用は含まれていません。
「コミットから本番までの CI/CD を自動化、手動承認ステップ付き」なら CodePipeline、「ビルドとテスト」なら CodeBuild、「EC2/Lambda/ECS へのデプロイ (ブルー/グリーン)」なら CodeDeploy、「Infrastructure as Code」なら CloudFormation を選びます。
よくある質問
CodePipeline は CodeBuild や CodeDeploy と何が違いますか?
CodePipeline はワークフロー全体をステージとアクションで構成してオーケストレーションします。CodeBuild はコンパイル、テスト実行、アーティファクト作成のステップです。CodeDeploy は EC2、オンプレミス、Lambda、ECS へアプリケーションをデプロイするステップです。通常は CodePipeline が CodeBuild、次に CodeDeploy を呼び出し、デプロイステージでは CloudFormation、ECS、S3 なども使えます。
パイプラインはいつ実行され、ステージ間のデータはどう渡されますか?
ソース (接続経由の GitHub などのコードリポジトリ、S3、ECR) の変更、または EventBridge、スケジュール、手動で開始されます。ステージ間のアーティファクトは S3 バケットに保存され、KMS で暗号化できます。本番環境の前に手動承認ステップを追加できます。
CodePipeline でアカウント間や Region 間のデプロイはできますか?
できます。ツール用アカウントにパイプラインを置き、クロスアカウントの IAM ロールで dev、staging、prod アカウントへデプロイする構成が一般的です。アクションを別の Region で実行することもでき、その場合は各 Region にアーティファクトストアが必要です。