現場実践|AWS CI/CDパイプライン

AWS CodePipeline・CodeBuildでCI/CDパイプライン構築|GitHubと連携したAWSネイティブな自動デプロイ

「GitHub ActionsのCI/CDをAWSネイティブなサービスに移行したい」——AWS CodePipeline・CodeBuild・CodeDeployを使ったGitHub連携CI/CDパイプラインの設計と実装を解説します。

読了目安:約18分更新日:2026年4月

💡 AWS CodePipeline/CodeBuildはAWSのネイティブCI/CDサービス。IAMロールでアクセスキーが不要・AWSサービスとの統合が深い・マネージドで管理が簡単という特徴があります。

この記事を書いた人
現役ITエンジニア・IT講師(経験14年)
CCNA・CCNP 取得LPIC-1 保有SES現場を複数経験

AWS CodePipeline/CodeBuildを使ったCI/CDパイプライン設計・構築を複数案件で担当してきた立場から解説します。

1. CodePipeline・CodeBuild・CodeDeployの役割

🔗
CodePipeline
パイプライン全体のオーケストレーター。Source(GitHub)→Build(CodeBuild)→Deploy(ECS等)のステージを管理する。
🔨
CodeBuild
buildspec.ymlに記述したビルド・テスト・Dockerイメージビルドなどを実行するマネージドなビルド環境。
🚀
CodeDeploy
EC2・Lambda・ECSへのデプロイを管理。Blue/Greenデプロイ・カナリアデプロイをサポート。

2. buildspec.ymlの基本構成

version: 0.2

phases:
  pre_build:
    commands:
      - aws ecr get-login-password --region ap-northeast-1 | docker login --username AWS --password-stdin $ECR_URI
      - COMMIT_HASH=$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION | cut -c 1-7)

  build:
    commands:
      - docker run --rm test-image pytest tests/
      - docker build -t $ECR_URI:$COMMIT_HASH .

  post_build:
    commands:
      - docker push $ECR_URI:$COMMIT_HASH
      - printf "[{\"name\":\"app\",\"imageUri\":\"%s\"}]" $ECR_URI:$COMMIT_HASH > imagedefinitions.json

artifacts:
  files:
    - imagedefinitions.json

3. ECS Blue/Greenデプロイの設定

  • 自動切り替えフロー:新バージョンのタスク(Green)を起動→ALBのトラフィックをGreenに切り替え→旧バージョン(Blue)を削除という流れを自動化する
  • カナリア設定:「最初の5分間は10%のトラフィックをGreenに流し、問題なければ100%に切り替える」というカナリアデプロイも設定可能
  • 自動ロールバック:デプロイ中にCloudWatchアラームが発火した場合に自動ロールバックする設定ができる

4. GitHub Actionsとの比較

AWS Code系GitHub Actions
AWSとの統合IAMロールでアクセスキー不要OIDCでアクセスキー不要(設定が必要)
管理AWSマネジメントコンソールで一元管理GitHubで管理
コストCodeBuildはビルド時間課金パブリックリポジトリは無料
📌 この記事のポイント
  • CodePipelineがオーケストレーター・CodeBuildがビルド実行・CodeDeployがECS/EC2へのデプロイを担当
  • buildspec.ymlにECRログイン→テスト→イメージビルド→プッシュの流れを記述。コミットハッシュをイメージタグに
  • ECS Blue/Green+CloudWatchアラームによる自動ロールバックが本番デプロイの安全な設計パターン

キャリアの疑問、一緒に解決しませんか?

Infra Academyでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。

※AWS CodeシリーズはAWSにより機能・料金が変更される場合があります。

ABOUT ME
たから
サラリーマンをしながら開業して経営やってます。 今年、本業で独立・別事業を起業予定です。 ◆経験:IT講師/インフラエンジニア/PM/マネジメント/採用/運用・保守・構築・設計 ◆取得資格:CCNA/CCNP/LPIC-1/AZ-900/FE/サーティファイC言語 ◆サイドビジネス:アパレル事業/複数のWEBメディアを運営