深入了解 Amazon ECR

云计算
re:Invent
0
0
## 视频 <video src="https://dev-media.amazoncloud.cn/30-LibaiGenerate/31-LiBaiRebrandingVideo/CON405-Dive_deep_into_Amazon_ECR-LBrebrandingWCaptionCN.mp4" class="bytemdVideo" controls="controls"></video> ## 导读 Amazon ECR 是一个安全、完全管理和高可用的容器注册中心,每周服务 150 多亿个映像提取,并提供集成的生命周期管理、复制、映像扫描和缓存功能。通过对 Open Container Initiative (OCI) 标准的支持,Amazon ECR 与客户每天用于发布映像和部署容器工作负载的开源工具一起工作。加入本论坛进行深入探讨,了解 AmazonECR 如何设计,通过服务跟踪图像的生命周期,并了解 Amazon ECR 如何大规模运行。 ## 演讲精华 <font color = "grey">以下是小编为您整理的本次演讲的精华,共1300字,阅读时间大约是6分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。</font> 在视频的开头部分,亚马逊ECR的产品经理Rafa B.详细介绍了容器化应用的概念,并解释了镜像从开发者笔记本电脑到亚马逊ECR再到部署的过程。为了更具体地说明这个问题,他虚构了一个名为“Card Whisperer”的扑克机器人,该机器人使用AI来帮助开发者赢得扑克比赛。由于开发者采用了现代的应用开发技术,他们以容器化的形式构建了Card Whisperer。Rafa展示了应用的示例代码和一个Dockerfile,其中包含了如何构建容器镜像的指令。通过使用像Docker这样的常用工具,开发者可以在他们的笔记本电脑上本地构建容器镜像。此时,Rafa已经有了一个可以用来测试和运行应用的容器镜像,但它需要被部署到像亚马逊ECS这样的工作负载上才能投入生产。 要将容器化应用部署出去,开发者需要一个可以被ECS和EKS等服务访问的注册表,以便快速地从任何亚马逊云科技区域拉取镜像。这就是亚马逊ECR的作用。ECR是一个弹性容器注册表,作为容器镜像的中心,使得像ECS、EKS等服务能够快速地在任何所需的亚马逊云科技位置检索镜像。 Rafa演示了如何使用标准OCI命令将本地构建的镜像从他笔记本电脑推送到ECR仓库。现在,镜像已经存储在ECR中,可用于部署。Rafa解释说,与其他一些亚马逊云科技服务不同,ECR主要依赖于一个代理服务来解释OCI命令并将其转换为ECR前端可以理解的API调用。整个架构包括OCI代理服务、前端、由DynamoDB支持的元数据服务和S3中的blob存储。 为了展示ECR处理的规模,演讲者分享了一些使用统计数据。ECR每月处理大约200百万的镜像推送,相当于每小时25万推送。这相当于每月有数百PB的数据流过ECR。很明显,ECR正在大规模运行,这反映了服务的架构设计。 在将图像推送至[Amazon Elastic Container Registry ](https://aws.amazon.com/cn/ecr/?trk=cndc-detail)(ECR)的过程中,迈克详细地阐述了一系列从Docker等客户端应用上传图像所涉及的步骤。首先,检查层可用性——ECR是否已经缓存了这一层?如果尚未缓存,则需要将庞大的层数据分割成若干部分并上传至ECR。在部分上传之后,ECR会通过计算加密摘要来验证数据的完整性。当所有部分上传完毕之后,客户端即可完成层上传任务。在整个层上传过程中,客户端需不断与ECR进行多次调用以确保可恢复性和可靠性。 在拉取方面,其规模更为庞大。ECR在全球范围内每15秒支持150万次图像拉取操作,每月处理的数据量超过3太字节。这相当于在1小时的演示期间提供了约4拍字节的数据,这相当于整个美国国会图书馆所含数据的150倍。在进行图像拉取时,客户端首先需要获取清单,以便明确所需层的信息。ECR的元数据服务提供预签名URL,可将客户端重定向至直接从[Amazon S3](https://aws.amazon.com/cn/s3/?trk=cndc-detail)下载大型层blob的地址。这样既能避免数据流经ECR服务器,又能充分利用S3高效的数据传输能力。 作为ECR的关键功能之一,复制功能允许用户将指定的源存储库中的图像自动复制到其他区域或账户。对于像拉斐尔这样的客户来说,这一功能非常实用,因为他们正在将Card Whisperer应用程序部署到多个区域。复制功能避免了手动将图像推送到每个区域的需要,从而节省了数据传输的费用。拉斐尔展示了自己如何在ECR中创建复制规则,以将新图像从名为“card-whisperer”的存储库复制到爱尔兰和东京等地。在他的示例中,推送后,图像复制到目标区域仅需8秒。 在后台,复制功能采用异步处理方式,通过由推送事件触发的SQS队列和Lambda函数实现。图像可以复制到最多25个目的地。迈克解释道,复制系统如何谨慎地管理亚马逊云科技提供的区域之间的数据传输容量。过多的流量会超载网络骨干,因此复制速度是根据区域之间实时通道容量进行速率限制的。 除了复制功能外,ECR(亚马逊弹性容器注册表)还提供了强大的图像扫描功能来识别漏洞并确保安全性。客户可以选择使用开源Clair引擎的基本扫描,或者使用[Amazon Inspector](https://aws.amazon.com/cn/inspector/?trk=cndc-detail)提供的增强扫描。扫描可以通过推送或持续的方式进行触发。Rafa展示了如何设置规则,以便在开发时仅对推送进行扫描,同时持续扫描生产存储库。扫描结果将被存储在客户的元数据服务中供访问。 为了节省存储成本并随着时间的推移减少漏洞表面面积,ECR提供了自动过期和删除旧图像的生命周期策略。Rafa演示了一个简单的策略,用于删除超过30天的旧图像。在后台,生命周期服务使用Lambda函数定期扫描存储库并提交批量删除请求。图像被立即标记为已删除,但稍后异步进行垃圾收集。通过生命周期策略,ECR每月过期超过6千万个图像。 对于公共图像,ECR建议在首先将其拉取到您控制的私有仓库中,而不是直接从上游公共注册表直接引用。ECR提供了一个拉取缓存功能,允许您将外部注册表映射到ECR命名空间。当您拉取该命名空间时,ECR会从上游获取一次图像并将其本地缓存以便后续拉取。这使您能够完全控制图像以进行扫描,复制和生命周期管理。 总的来说,正如Rafa和Mike所展示的那样,ECR是一个与亚马逊云科技容器工作负载无缝集成、全面管理的、可扩展的和安全的容器注册表服务。演讲者分享了关于ECR架构和功能的深入细节,强调了运营如此大规模的服务所涉及的复杂性。ECR为开发人员和企业提供了一个强大的平台,以优化其容器工作流程,并通过复制、扫描和生命周期管理等功能提供企业级治理。 随着即将推出的改进,如经过验证的拉取缓存、2-4倍的推送和拉取性能提升以及更精细的复制控制,ECR将继续发展,成为推动亚马逊云科技上容器采用的核心驱动器。演讲者重点介绍了一些最近和即将推出的一些功能: 支持经由存储于亚马逊云科技Secret Manager中的凭证,从诸如Docker Hub、GitHub容器镜像仓库、Quay和Azure容器仓库等各类注册表实现经认证的拉取缓存。这包括了更广泛的操作系统覆盖范围以及对Amazon Linux的更频繁支持,从而增强了基本扫描功能。此外,对生命周期策略(例如通配符删除支持和附加标签匹配)提供了更多的控制选项。复制排除功能可防止特定标签被意外复制。用户还可以通过创建仓库模板来自定义自动创建仓库的默认设置。在未来,还将支持OCI引用类型。如果仓库首次推送至ECR时并不存在,将会自动创建一个。这将使性能提高高达4倍,从而改进推送和拉取的速度。通过提供实际示例、使用数据和架构细节,Rafa和Mike分享了关于在规模上运行ECR的宝贵见解,以及客户可以预期的一些未来功能。演讲强调了中国云科技在通过结合易用性、安全性和企业级功能来推动整个亚马逊云科技的容器采用方面的核心作用。 **下面是一些演讲现场的精彩瞬间:** 拉斐尔·布雷(Rafa Bre)担任亚马逊云科技服务的项目经理,他在亚马逊云峰会上分享了他和团队的经验。 ![](https://d1trpeugzwbig5.cloudfront.net/CON405-Dive_deep_into_Amazon_ECR/images/rebranded/CON405-Dive_deep_into_Amazon_ECR_0.png) 他详细阐述了容器镜像的简化架构以及如何通过合并层来运行容器。 ![](https://d1trpeugzwbig5.cloudfront.net/CON405-Dive_deep_into_Amazon_ECR/images/rebranded/CON405-Dive_deep_into_Amazon_ECR_1.png) 亚马逊云服务处理着数百PB的数据,每小时接收超过25万次的推送。 ![](https://d1trpeugzwbig5.cloudfront.net/CON405-Dive_deep_into_Amazon_ECR/images/rebranded/CON405-Dive_deep_into_Amazon_ECR_2.png) 当Docker客户端需要检查图像层是否已经可用以便决定是否再次发送时,它会向ECR代理服务发送HEAD请求。 ![](https://d1trpeugzwbig5.cloudfront.net/CON405-Dive_deep_into_Amazon_ECR/images/rebranded/CON405-Dive_deep_into_Amazon_ECR_3.png) 这使得能够避免重复传输图像层。 ![](https://d1trpeugzwbig5.cloudfront.net/CON405-Dive_deep_into_Amazon_ECR/images/rebranded/CON405-Dive_deep_into_Amazon_ECR_4.png) 他强调了Amazon ECR与ECS是如何无缝协作以实现大规模容器化应用程序部署的。 ![](https://d1trpeugzwbig5.cloudfront.net/CON405-Dive_deep_into_Amazon_ECR/images/rebranded/CON405-Dive_deep_into_Amazon_ECR_5.png) 此外,亚马逊云科技还在不断推出新功能,例如复制和生命周期策略,以满足客户的更多需求。 ![](https://d1trpeugzwbig5.cloudfront.net/CON405-Dive_deep_into_Amazon_ECR/images/rebranded/CON405-Dive_deep_into_Amazon_ECR_6.png) ## 总结 ECR每月处理超过2亿次图像推送和3EB的图像拉取,因此其性能和可用性至关重要。 - 图像作为层进行存储。在推送时,层会被单独上传,然后组装成最终的清单。在拉取时,首先检索清单以确定所需的层。 - 复制功能允许将图像自动复制到其他区域/帐户。这是异步处理的,以避免影响推送/拉取延迟。 - 扫描功能支持对推送或预定时间段内的漏洞分析,并支持多个扫描引擎以获得广泛的覆盖范围。 - 生命周期策略可以自动在特定时间期满后删除旧图像。每月有6000万幅图像通过这些策略过期。 ECR将继续发展,具备新的功能,如拉取缓存、改进的扫描、更严格的复制和生命周期管理控制以及道路上的重大性能增强。目标是使ECR成为在亚马逊云科技中管理容器图像最简单和最强大的方式。 ## 演讲原文 ## 想了解更多精彩完整内容吗?立即访问re:Invent 官网中文网站! [2023亚马逊云科技re:Invent全球大会 - 官方网站](https://webinar.amazoncloud.cn/reInvent2023/?s=8739&smid=19458 "2023亚马逊云科技re:Invent全球大会 - 官方网站") [点击此处](https://aws.amazon.com/cn/new/?trk=6dd7cc20-6afa-4abf-9359-2d6976ff9600&trk=cndc-detail "点击此处"),一键获取亚马逊云科技全球最新产品/服务资讯! [点击此处](https://www.amazonaws.cn/new/?trk=2ab098aa-0793-48b1-85e6-a9d261bd8cd4&trk=cndc-detail "点击此处"),一键获取亚马逊云科技中国区最新产品/服务资讯! ## 即刻注册亚马逊云科技账户,开启云端之旅! [【免费】亚马逊云科技“100 余种核心云服务产品免费试用”](https://aws.amazon.com/cn/campaigns/freecenter/?trk=f079813d-3a13-4a50-b67b-e31d930f36a4&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技“100 余种核心云服务产品免费试用“") [【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用”](https://www.amazonaws.cn/campaign/CloudService/?trk=2cdb6245-f491-42bc-b931-c1693fe92be1&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用“")
目录
亚马逊云科技解决方案 基于行业客户应用场景及技术领域的解决方案
联系亚马逊云科技专家
亚马逊云科技解决方案
基于行业客户应用场景及技术领域的解决方案
联系专家
0
目录
关闭