Amazon ECR
安全存储、管理和分发 Docker 容器镜像的全托管容器注册表服务
概述
Amazon ECR(Elastic Container Registry)是一项全托管的容器镜像注册表服务,可安全存储、管理和部署 Docker 容器镜像。与 ECS、EKS 和 Lambda 深度集成,支持镜像漏洞扫描、生命周期策略和跨区域复制。
私有注册表与公共注册表的角色
ECR 提供私有注册表和公共注册表两种类型。私有注册表通过 IAM 策略控制访问,适合企业内部的应用镜像管理。每个 AWS 账户在每个区域自动获得一个私有注册表。公共注册表(ECR Public Gallery)允许任何人拉取镜像,适合开源项目和公共工具的分发。私有注册表支持跨账户和跨区域的镜像复制,便于多账户和多区域部署架构。
生命周期策略的存储管理
容器镜像随着 CI/CD 流水线的持续构建会快速积累,生命周期策略可以自动清理旧镜像控制存储成本。策略规则基于镜像年龄(天数)或数量(保留最近 N 个)进行匹配,支持按标签前缀过滤。例如可以设置「保留最近 30 个带 production 标签的镜像,删除超过 7 天的未标记镜像」。策略评估是异步执行的,不影响镜像的推送和拉取操作。
漏洞扫描与多账户运营
ECR 提供基本扫描和增强扫描两种漏洞检测方式。基本扫描使用 Clair 开源引擎检测操作系统包的 CVE 漏洞。增强扫描由 Amazon Inspector 提供支持,额外覆盖编程语言包(npm、pip、Maven 等)的漏洞,并支持持续扫描(镜像推送时和新 CVE 发布时自动重新扫描)。多账户环境中,可以在中央账户维护基础镜像,通过跨账户复制策略自动分发到各工作负载账户。