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

GitHub Actions + ECR + ECSで作るコンテナCI/CDパイプライン実践

「コンテナをAWSに自動デプロイする仕組みを作りたい」——GitHub Actions・Amazon ECR(コンテナレジストリ)・Amazon ECS(Fargate)を連携させたCI/CDパイプラインの構築方法を解説します。

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

💡 「コードをpushしたらコンテナがECSに自動デプロイされる」仕組みはDevOpsの基本パイプライン。GitHub Actions + ECR + ECSはAWSのコンテナCI/CDの最も標準的な構成です。

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

GitHub Actions + ECR + ECSによるCI/CDパイプライン構築を複数案件で実装してきた立場から解説します。

1. パイプラインの全体像

1
GitHubにコードをpush
開発者がアプリケーションコードの変更をGitHubのmainブランチにマージする(プルリクエスト経由)。
2
GitHub Actionsがビルド・テスト・ECRにプッシュ
workflow.ymlに定義したジョブが自動実行。Dockerイメージをビルドしてユニットテストを実行し、ECRにプッシュする。
3
ECSのタスク定義を更新してデプロイ
新しいECRイメージのタグでECSタスク定義を更新してECSサービスにローリングデプロイを実行する。

2. GitHub Actions ワークフローの例

name: Deploy to ECS
on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Configure AWS credentials
        uses: aws-actions/configure-aws-credentials@v4
        with:
          role-to-assume: arn:aws:iam::123456789:role/github-actions
          aws-region: ap-northeast-1

      - name: Login to ECR
        id: login-ecr
        uses: aws-actions/amazon-ecr-login@v2

      - name: Build and push to ECR
        run: |
          docker build -t $ECR_REGISTRY/$ECR_REPO:$GITHUB_SHA .
          docker push $ECR_REGISTRY/$ECR_REPO:$GITHUB_SHA
        env:
          ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
          ECR_REPO: my-app

      - name: Deploy to ECS
        uses: aws-actions/amazon-ecs-deploy-task-definition@v1
        with:
          task-definition: task-definition.json
          service: my-service
          cluster: my-cluster

3. IAMロールの設定(OIDC)

GitHub ActionsからAWSにアクセスする際は、アクセスキーをGitHub Secretsに保管するのではなく、GitHub OIDCを使ってIAMロールを引き受ける方法(role-to-assume)が推奨されます。アクセスキーが不要になりセキュリティリスクが大幅に下がります。

📌 この記事のポイント
  • GitHub Actions + ECR + ECSはAWSコンテナCI/CDの最も標準的な構成
  • GitHub OIDCを使ってアクセスキー不要でGitHub ActionsからAWSにセキュアに接続する
  • ローリングデプロイ設定でECSへの無停止デプロイを実現する

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

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

※GitHub ActionsとAWSの仕様はそれぞれ変更される場合があります。

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