Amazon ECR 热门2015年〜
安全存储、管理和分发 Docker 容器镜像的全托管注册表
它能做什么
Amazon ECR (Elastic Container Registry) 是用于存储、管理和部署 Docker 容器镜像的全托管容器注册表服务。标准提供镜像加密、访问控制和漏洞扫描,与 ECS、EKS、Lambda 等 AWS 服务无缝集成。基于高可用和高耐久的存储基础设施,可高速处理镜像的推送和拉取。
使用场景
适用于 CI/CD 流水线中容器镜像的构建和存储、ECS 和 EKS 应用部署镜像管理、多区域镜像复制、容器镜像漏洞扫描和安全管理、团队间基础镜像共享和标准化等容器镜像生命周期管理的各个方面。
日常类比
可以将其比作图书馆的书库。将书籍 (容器镜像) 整理保管,需要时随时取出。书库有锁 (访问控制),只有授权人员才能存取书籍。此外还会定期检查书籍状态 (漏洞),发现损坏的书会及时通知。
什么是 ECR
Amazon Elastic Container Registry (ECR) 是 AWS 提供的全托管 Docker 容器注册表。与 Docker Hub 等公共注册表不同,它专注于私有镜像管理。镜像存储在 Amazon S3 上,保证高耐久性和可用性。通过与 IAM 集成的细粒度访问控制,可以严格管理谁能访问哪些镜像。
主要特性
ECR 的特点是安全性和运维自动化。存储的镜像通过 AWS KMS 加密保护。镜像扫描功能可在推送时或定期自动检测容器镜像漏洞。设置生命周期策略可自动删除旧镜像和未使用镜像,优化存储成本。跨区域复制可将镜像自动复制到多个区域,加速全球部署。
私有与公有
ECR 有私有注册表和公有注册表两种。私有注册表仅 IAM 认证用户可访问,适合企业应用镜像管理。公有注册表 (ECR Public) 任何人都可拉取镜像,用于开源项目和共享库的分发。ECR Public Gallery 可搜索和使用 AWS 提供的官方镜像及社区公开镜像。 有关私有与公有的最新动态和实践方法,也可参阅 Amazon 上的相关书籍。
定价体系
ECR 的定价基于存储的镜像数据量和数据传输量。私有注册表存储为每 GB 每月 0.10 美元。同区域内 ECS 和 EKS 的镜像拉取免费,跨区域传输收取数据传输费。公有注册表为匿名用户提供每月 500 GB 免费传输,AWS 账户认证用户则无限制。通过生命周期策略自动删除不需要的镜像可有效控制存储成本。
入门指南
要开始使用 ECR,通过 AWS 管理控制台或 AWS CLI 创建仓库。仓库是存储镜像的逻辑单元,通常按应用程序创建。在本地构建 Docker 镜像后,使用 aws ecr get-login-password 命令获取认证令牌,然后用 docker push 命令推送镜像。在 ECS 任务定义或 EKS Pod 定义中指定 ECR 镜像 URI,部署时会自动拉取镜像。
注意事项
- Without lifecycle policies, old images accumulate and increase storage costs. Always configure auto-deletion rules for unnecessary images
- Enable image scanning and establish operational rules to prevent deploying images with detected vulnerabilities to production