You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AWS App Runner中回滚至旧版本?含ECR镜像回滚方案

AWS App Runner版本回滚方法及ECR旧镜像选择方案

一、App Runner通用回滚方法

1. 控制台手动操作

进入AWS App Runner控制台,找到目标服务,切换到「部署历史」标签页,选择之前成功完成的部署版本,点击「回滚」按钮,确认后App Runner会自动重新部署该版本的配置与镜像。

2. AWS CLI命令回滚

使用aws apprunner start-deployment命令,指定目标服务ARN和要回滚的部署ID即可触发回滚:

aws apprunner start-deployment --service-arn arn:aws:apprunner:us-east-1:123456789012:service/your-service --deployment-id d-ABCDEFG123

部署ID可通过控制台部署历史或aws apprunner list-deployments --service-arn <你的服务ARN>命令获取。

二、结合GitHub Actions与ECR的旧镜像回滚方案

由于你的工作流是通过GitHub Actions构建镜像并上传至ECR,回滚时可通过以下方式指定旧镜像:

1. 手动触发工作流选择旧镜像标签

新增一个支持手动触发的GitHub Actions工作流,允许输入要回滚的ECR镜像标签,示例工作流核心步骤如下:

name: App Runner Rollback
on:
  workflow_dispatch:
    inputs:
      image_tag:
        description: 'ECR旧镜像标签(如commit hash、版本号)'
        required: true

jobs:
  rollback:
    runs-on: ubuntu-latest
    steps:
      - name: Configure AWS credentials
        uses: aws-actions/configure-aws-credentials@v4
        with:
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          aws-region: us-east-1

      - name: Rollback to old ECR image
        run: |
          aws apprunner update-service --service-arn arn:aws:apprunner:us-east-1:123456789012:service/your-service --source-configuration '{
            "ImageRepository": {
              "ImageIdentifier": "123456789012.dkr.ecr.us-east-1.amazonaws.com/your-repo:${{ github.event.inputs.image_tag }}",
              "ImageConfiguration": {
                "Port": "80",
                "RuntimeEnvironmentVariables": {}
              },
              "ImageRepositoryType": "ECR"
            }
          }'

触发时输入旧镜像的标签(比如之前构建时用的commit hash、版本号),工作流会调用API更新App Runner服务,拉取指定的旧镜像完成部署。

2. 基于部署历史关联旧镜像

每次成功部署后,将部署ID与对应ECR镜像标签绑定存储(比如存入GitHub环境变量、Secrets或用Release记录)。回滚时直接使用该部署ID触发回滚(即前文CLI的方法),App Runner会自动复用该部署对应的ECR镜像,无需手动指定标签。

注意事项

  • 确保ECR生命周期规则未自动清理旧镜像,否则回滚会因镜像不存在失败。
  • 回滚操作会生成新的部署记录,不会覆盖原有历史,便于后续排查。

内容的提问来源于stack exchange,提问作者mmm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 14:01:04