【问题标题】:Managing ECR lifecycle policies using SAM for docker-based lambda functions使用 SAM 管理基于 docker 的 lambda 函数的 ECR 生命周期策略
【发布时间】:2021-11-25 15:59:56
【问题描述】:

我正在开发一个具有多个 lambda 函数的 SAM 应用程序。 lambda 函数通过 ECR 使用 docker 部署。每次部署新功能时,都会在 ECR 中创建一个新映像。这将迅速失控。有没有办法让 SAM 在每个图像存储库上配置生命周期策略,以便自动删除旧图像?

【问题讨论】:

    标签: amazon-web-services aws-lambda aws-sam


    【解决方案1】:

    当您使用 AWS SAM 进行部署时,您自己可以控制它用来上传 zip 文件/图像的 S3 存储桶/ECR 存储库。这意味着 AWS SAM 无法在 ECR 存储库上设置生命周期策略,因为它不管理存储库本身,它只使用存储库上传图像。

    您当然可以在 ECR 存储库中自己管理 lifecycle policy,以删除未使用的和旧图像。

    【讨论】:

    • 你是说没有办法自动设置生命周期策略?因为当您将 ECR 创建为 SAM 资源时,您可以设置其生命周期策略。然后我尝试使用 ImageUri: !GetAtt SeleniumRepo.RepositoryUri 将该存储库用作函数存储库,但 SAM 只是忽略了这一点。
    • 用于上传图像的存储库应传递给 AWS SAM cli 命令,而不是在 CloudFormation 资源中。您应该简单地将 uri 设置为相对路径,AWS SAM 应该捆绑并上传代码。您传递给 cli 命令的存储库可以在单独的 CloudFormation 堆栈中进行管理。
    猜你喜欢
    • 1970-01-01
    • 2018-12-24
    • 2021-08-16
    • 2022-11-10
    • 2019-07-06
    • 1970-01-01
    • 2011-01-24
    • 2023-01-27
    • 2023-01-02
    相关资源
    最近更新 更多