現場実践|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により機能・料金が変更される場合があります。

資格取得後のキャリアに、AI活用という選択肢を

資格取得の先に現場でのIT効率化を任される場面が増えます。職場のルーティン業務にAIをどう組み込めるか、無料のセルフ診断(3問・約1分)でヒントが得られます。

AI業務効率化 無料診断へ →

この記事を読んでいる方へのおすすめ:

【編集・制作ポリシー】
本記事はRoute Bloom編集部が公式ドキュメント・技術仕様書の一次情報をもとに作成しています。ITインフラ・技術情報は急速に変化するため、実装前に最新の公式ドキュメントをご確認ください。情報の正確性には万全を期していますが、最新情報は各公式サイトをご確認ください。
【編集・制作ポリシー】
本記事はRoute Bloom編集部が各ベンダー公式ドキュメント・エンジニア監修をもとに作成しています。インフラ・クラウド構築は環境により異なります。本番環境への適用前に必ずテストを実施してください。情報の正確性には万全を期していますが、最新情報は各公式ドキュメントをご確認ください。
【編集・制作ポリシー】
本記事はRoute Bloom編集部が各ベンダー・技術標準の公式ドキュメントをもとに作成しています。 インフラ・クラウド技術に関する最終判断は実際の環境・バージョンで検証のうえ実施してください。 情報の正確性には万全を期していますが、最新情報は各公式ドキュメントをご確認ください。

編集ポリシー:この記事は、Route Bloom の編集チームが最新情報を元に執筆・監修しています。情報の正確性を保つために定期的な見直しを行っています。

この記事で学んだスキルをさらに深めたい方へ

AWS・クラウド技術をさらに深く学びたい方に。試験対策から実践まで網羅した参考書を活用しましょう。

Amazonアソシエイトプログラムを利用しています。

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