阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

使用 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:25585

评论

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

MongoDB中的null类型查询

Kylin

mongodb 3月日更 21天挑战 数据库查询 NoSql查询语法

JVM - 类加载器

insight

3月日更

架构师训练营 4 期 第12周

引花眠

架构师训练营 4 期

银行业只是开始,60个可以被区块链改变的行业

CECBC

数字技术

2021十大区块链领域即将起飞

CECBC

区块链 投资

Seldon使用(一):简介及入门

托内多

tensorflow kubeflow Kubernetes PyTorch seldon

科技强国的使命召唤中,百度AI埋下三根未来“引线”

脑极体

工作多年后我更明白了UT的重要性

好好学习,天天向上

产品训练营第八章作业

Arnold

数据仓库设计

大数据技术指南

大数据 28天写作 3月日更

uni-app跨端开发H5、小程序、IOS、Android(四):了解uni-app项目结构

黑马腾云

html5 微信小程序 uni-app android iOS Developer

大数据中流量分析常见分类

大数据技术指南

大数据 28天写作 3月日更

探索 Snabbdom 模块系统原理

pingan8787

JavaScript Vue Web Vue 3 Snabbdom

2.3 Go语言从入门到精通:数据类型

xcbeyond

3月日更 Go 语言

FISCO BCOS 开发环境节点搭建 | 联盟链开发(一)

李大狗

区块链 联盟链 FISCO BCOS 狗哥

控制台的安装与使用 | 联盟链开发(二)

李大狗

联盟链 FISCO BCOS 狗哥

Vue3源码 | createApp都干了什么?

梁龙先森

源码分析 大前端 Vue3

新年上班第一天生产环境分布式文件系统崩了!!

冰河

高可用 分布式存储 fastdfs 可扩展 无限扩容

在离开新手村后,你该如何的走出呢?打造属于你的快与慢的能力。

叶小鍵

架构 idea

型火🔥

架构 原则 架构之道

Spark详细剖析

五分钟学大数据

大数据 spark 28天写作 3月日更

(继续码字) 因果有顺序吗?是一种必要充分条件吗?

mtfelix

28天写作 bewriting 胡思乱想

OpenCV 写图像也有讲究,取经之路第 5 天

梦想橡皮擦

28天写作 3月日更

Go Channel源码分析

非晓为骁

源码分析 channel Go 语言

hive数据倾斜解决办法

五分钟学大数据

大数据 hive 28天写作 3月日更

领域驱动设计101 - 通用语言

luojiahu

领域驱动设计 DDD

Docker 教程(三):Docker 命令

看山

Docker

为何数字人民币要采用“小额匿名、大额可溯”的设计?

CECBC

数字货币

【LeetCode】矩阵置零Java题解

Albert

算法 LeetCode 28天写作 3月日更

Java8中的 Stream 那么彪悍,你知道它的原理是什么吗?

Java小咖秀

Java 面试 stream java8 开发

从Nacos客户端视角来分析配置中心原理

麦洛

nacos SpringCloud Alibaba 动态配置

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