写点什么

使用 EC2 Image Builder 实现 OS 映像构建管道自动化

  • 2019-12-12
  • 本文字数:2060 字

    阅读完需:约 7 分钟

使用 EC2 Image Builder 实现 OS 映像构建管道自动化

在我职业生涯的早期,我可以回想起自己担负的为我的开发团队创建和维护操作系统 (OS) 映像的任务。这是一个耗时的过程,有时容易出错,需要我经常手动重新创建和重新快照映像。您一定能够想象,它还涉及大量的手动测试!


如今,客户仍然需要保持其映像最新,他们可以通过手动更新和快照 VM 来保持更新,或者设立构建自动化脚本来维护映像的团队,这两个过程仍然都是费时、资源密集型并且容易出错的。我很高兴地宣布 EC2 Image Builder 现已推出,该服务使使用自动构建管道,可以更轻松快捷地为 Windows Server 和 Amazon Linux 2 构建和维护安全的 OS 映像。由 EC2 Image Builder 创建的映像可以与 Amazon Elastic Compute Cloud (EC2) 和本地资源一起使用,并且可以进行保护和强化以利遵守适用的信息安全法规。AWS 提供了安全强化策略,您可以将其作为出发点,以达到在受管制行业中运营所需的“安全技术实施指南 (STIG)”标准。


您可以为 EC2 Image Builder 配置的管道包括映像配方、基础设施配置、分发和测试设置,以生成结果映像。这包括在新软件更新(包括安全补丁)可用时自动预置映像的能力。通过管道创建新映像后,您可以另外配置要运行的自动测试以验证映像,然后再将其分发到您指定的 AWS 区域。EC2 Image Builder 可以与 EC2 VM Import/Export 一起使用,以多种格式构建映像以供本地使用,包括 VMDK、VHDX 和 OVF。测试时,您可以结合使用 AWS 提供的测试和您自己编写的自定义测试。


让我们来看看如何开始使用 EC2 Image Builder。


创建 OS 映像构建管道


在控制台主页上,单击创建映像管道可以快速开始工作。在这里,我将构建一个管道,该管道将构建自定义的 Amazon Linux 2 映像。第一步是定义配方,其中包括选择要从其开始的源映像,要应用于所创建映像的构建组件以及要运行的测试。


从源映像开始,我将选择 EC2 Image Builder 提供的托管映像。请注意,我还可以选择我创建的或与我共享的其他映像,或者指定自定义 AMI ID。



接下来,我选择要包含在配方中的构建组件,换句话说,就是我想安装到新映像上的软件。在向导中,我可以选择通过单击创建构建组件来创建新的构建组件。构建组件具有名称(和可选描述)、目标操作系统、用于加密组件的可选 AWS Key Management Service (KMS) 密钥以及指定组件自定义步骤集的 YAML 文档。构建组件也可以进行版本控制,因此在自定义要应用于映像的软件方面,我具有很大的灵活性。我可以创建和选择多个构建组件,而不必从一个组件进行所有自定义。


但是对于这篇博文而言,我单击了浏览构建组件并为 Amazon Corretto、Python 3 和 PowerShell Core 选择了一些 Amazon 提供的组件。



配方的最后一步是选择要应用于映像以对其进行验证的测试。与构建组件一样,我可以在向导中创建和指定测试,并且与构建组件一样,我具有定义测试的相同能力。同样,我尽量保持局势简明:单击浏览测试以选择一个亚马逊提供的测试,该测试将成功重启映像(请注意,我也可以选择多个测试)。



这样就完成了我的配方,因此我单击下一步并开始定义管道。首先,我给管道命名,然后选择一个AWS Identity and Access Management (IAM) 角色与 EC2 实例关联以构建新映像。EC2 Image Builder 将使用此角色在我的账户中创建 Amazon Elastic Compute Cloud (EC2) 实例,以执行自定义和测试步骤。管道构建可以手动执行,也可以选择按时间表运行。我可以使用简单的日/周/月时间段和每天时间选择器来指定时间表,也可以使用 CRON 表达式。



我选择了具有足够权限的托管 IAM 策略 (EC2InstanceProfileForImageBuilder),以使用常见的 AWS 提供的构建组件并运行测试。当您开始自己使用 Image Builder 时,您将需要设置一个角色,该角色具有足够的权限来执行自定义、运行测试以及将问题排查日志写入 S3。作为设置适当权限的起点,我建议您将 AmazonSSMManagedInstanceCore IAM 策略附加到实例附带的 IAM 角色上。


最后,对于管道,我可以选择指定一些将代表我启动的基础设施的设置,例如,自定义映像时使用的实例类型的大小,以及可以将通知转发到的 Amazon Simple Notification Service (SNS) 主题。如果需要,我还可以控制与 Amazon Virtual Private Cloud 相关的设置。



如果我正在构建的映像的操作系统与许可证关联,则可以指定下一个(或即时创建新的许可证配置),以及我的新映像的名称以及新映像将共享到的 AWS 区域(无论共有还是私有)。



点击查看,我可以查看所有设置,最后点击创建管道以完成该过程。



即使我要求所配置的管道每天在世界标准时间 06:00 运行,我仍然可以随时运行它。选择管道,单击操作,然后是运行管道


构建完成后,AMI 将随时可以从 Amazon EC2 控制台启动!


要是我早年在工作中就有了这个工具,我可以节省多少的时间和精力! EC2 Image Builder 是免费提供给客户的,并且可以在所有商业 AWS 区域中使用。您仅需为用于创建、存储和共享映像的基础 AWS 资源付费。


本文转载自 AWS 技术博客。


原文链接:https://amazonaws-china.com/cn/blogs/china/automate-os-image-build-pipelines-with-ec2-image-builder/


2019-12-12 14:25896

评论

发布
暂无评论
发现更多内容

苹果最新系统:macOS 14 Sonoma 14.1.1正式版

加油,小妞!

macOS 14 Sonoma Macos最新系统

数仓实践丨表扫描时过滤行数过多引起的性能瓶颈问题

华为云开发者联盟

数据库 数据仓库 后端 华为云 华为云开发者联盟

macos智能图片编辑工具:DxO PhotoLab 6 中文版

加油,小妞!

Raw图像处理软件 DxO PhotoLab 6

Java 多线程开发系列 2:创建一个线程

BigBang!

Java多线程

HarmonyOS NEXT调优工具Smart Perf Host高效使用指南

HarmonyOS开发者

HarmonyOS

Android下Linux创建进程的姿势(上)

江湖修行

android Linux 进程

当生成式AI从梦想走近现实,大语言模型未来会取代人类吗?

格致君的planB

人工智能 AI 大语言模型

YonGPT构筑酒旅企业AI大脑 轻松拿捏“松弛感”

用友BIP

AI YonGPT

快速教程|如何在 AWS EC2上使用 Walrus 部署 GitLab

SEAL安全

#GitLab Walrus 企业号11月PK榜

软件研发流程、架构规范、技术标准、需求过程等全文档

代码人,代码魂

开发文档

云服务器数据安全保障措施看这里!

行云管家

云计算 云安全 云服务器 云数据

文生图大型实践:揭秘百度搜索AIGC绘画工具的背后故事!

百度Geek说

AIGC 文生图 Ai绘图 企业号11月PK榜 百度搜索场景应用

站群服务器优势

Geek_f19a80

向成本要效益!用友BIP助力车企突破内卷、打赢“降本战”

用友BIP

降本增效

大模型集体失控!南洋理工新型攻击,主流AI无一幸免

Openlab_cosmoplat

人工智能 大模型

大模型产业生态有“成功密码”?百度高管2023进博会最新发声

飞桨PaddlePaddle

深度学习 产业生态 大模型

亚马逊云科技加速大语言模型的创新应用

三掌柜

亚马逊云科技

中国电信国际数智化人力领先实践

用友BIP

人力资源 数智化领先实践 中国电信

Stable Diffusion:最先进的文本生成图像模型

3D建模设计

人工智能 Stable Diffusion 稳定扩散 自动纹理

关于稳定扩散最详细的介绍

3D建模设计

人工智能 Stable Diffusion AI自动纹理 稳定扩散

【慢SQL性能优化】 一条SQL的生命周期 | 京东物流技术团队

京东科技开发者

MySQL 数据库 SQL优化 企业号11月PK榜

有效降低数据库存储成本方案与实践 | 京东云技术团队

京东科技开发者

数据库 存储 数据存储 降本 企业号11月PK榜

智慧燃气:用友BIP资产云如何实现管道资产数智化管理?

用友BIP

资产管理 智慧燃气

软件测试/测试开发丨探索Python魔力:第一个程序到快捷键大揭秘

测试人

Python 软件测试

为什么说数据安全运维难?有好用的数据安全运维平台吗?

行云管家

数字化 数据安全 数据运维 数据运维安全

高性价比AWS Lambda无服务体验

查拉图斯特拉说

Lambda 亚马逊云科技 Amazon Lambda

提示找不到某些库文件?

矩视智能

深度学习 机器视觉

基于Java开发的供应商询价招标采购系统(SRM系统源码)

代码人,代码魂

Java springboot 采购 srm

使用 EC2 Image Builder 实现 OS 映像构建管道自动化_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章