介绍
什么是亚马逊EC2 Image Builder?
EC2 Image Builder是一个完全托管的AWS服务,它使定制的、安全的和最新的服务器映像的创建、管理和部署更容易自动化,这些映像预先安装和配置了软件和设置,以满足特定的it标准。除了用于创建、存储和共享映像的底层AWS资源的成本外,Amazon EC2 Image Builder是免费提供的
您可以使用AWS管理控制台、AWS CLI或api在您的AWS帐户中创建自定义图像。当你使用AWS管理控制台时,Image Builder向导会指导你完成以下五个步骤:
- 提供起动伪影
- 添加和删除软件
- 自定义设置和脚本
- 运行选定的测试
- 将图像分发到AWS区域
在这次打击中,我们将使用定制安装的软件创建示例图像。创建图像后,我们正在使用AWS提供的自定义模板确保图像。后来用AWS提供测试测试,然后将金色图像分发给其他选择的AWS区域。
支持的操作系统
目前,image Builder支持以下操作系统:
- 亚马逊Linux 2
- Windows Server 2019/2016/2012 R2
- Windows Server 2004和20H2版本
- Red Hat Enterprise Linux (RHEL) 8和7
- CentOS 8和7
- Ubuntu 20,18和16
- SUSE Linux Enterprise Server (SUSE)
支持的图像格式
Amazon EC2 Image Builder支持AWS AMI和容器图像。对于您的自定义AMI图像,您可以选择现有的AMI作为起点。对于Docker容器图像,您可以从DockerHub上托管的公开映像,Amazon ECR中的现有容器图像或亚马逊管理的容器图像中获取。
在AWS控制台访问图像生成器服务并创建图像管道
使用根用户凭据登录到AWS控制台。在“所有服务→计算”区域选择“EC2 Image Builder”。或者你可以直接浏览下面的URLhttps://console.aws.amazon.com/imageBuilder/并选择使用image Builder服务创建映像的区域。
单击“创建图像管道”
映像管道提供了在AWS上构建安全ami和容器映像的自动化框架。Image Builder映像管道与映像配方或容器配方相关联,映像配方或容器配方定义了映像构建生命周期的构建、验证和测试阶段。在本博客中,我们将使用AMI图像创建一个图像管道。
步骤1指定管道详细信息
在这一步中,我们为管道提供了一个名为VembuDemoImage的名称。然后使用schedule构建器或cron表达式提供一个自动运行的构建调度,或者您也可以手动运行作业。在我们的示例中,我们选择了Manual,因此当您初始化管道时,它将运行一次。您还可以使用计划构建器或使用cron表达式(如果需要的话)在每周指定的时间内重复执行该操作。下面的图片展示了这些细节。
如果需要,您可以使用标记,这是可选的。为了帮助管理实例、映像和其他Image Builder资源,您可以选择以标记的形式将自己的元数据分配给每个资源。每个标记由一个键和一个可选值组成,这两个键都是由您定义的。
单击“下一步”,继续步骤2
2 .选择食谱
映像配方是定义应用于源映像的组件的文档,用于为输出映像创建所需的配置。配方创建成功后,不能进行修改。为了更改组件,必须创建新版本。这里我们要创建一个新的食谱。
首先,在这一步中,用户需要选择在新配方中使用的AMI或docker映像。目前,docker映像在大多数AWS区域不支持RHEL和SLES操作系统。这里我们选择了CentOS AMI
如果您已有一个,您也可以选择自定义AMI,并且可以在给定框中使用自定义AMI ID输入。
图片来源- 这里,用户需要从先前创建的流水线图像,与您共享的图像中的图像中选择要配置的图像,或者快速入门列表以帮助您入门。您还可以输入自定义AMI ID来定义源图像。默认选择是亚马逊管理的。
根据镜像的来源,可以从列表中选择镜像,这里我们选择了CentOS Linux 8 x86架构。
自动版本控制选项 - 选择管道版本,即将为将来构建自动化,默认“使用最新的可用操作系统版本。
实例配置-在创建新的AMI之前,Image Builder启动临时Amazon EC2实例来构建和测试映像配置。实例配置增加了对这些实例的控制层。除了为映像选择的组件外,用户还可以定义要运行的设置和脚本。Image Builder使用AWS Systems Manager (SSM)代理来帮助构建AMI,并验证我们选择的组件是否与基本映像兼容
工作目录-在构建和测试工作流程中使用的工作目录,通常路径为/temp目录
组件-在这里,用户需要根据选择的AMI(在我们的例子中是CentOS)选择构建组件。构建组件定义下载、安装和配置软件的步骤。创建配方后,不能修改或替换生成组件。要更改配方中的构建组件,用户需要创建一个新的配方。
构建组件—构建组件是定义下载、安装和配置软件包的一系列步骤的软件脚本。它们还定义了验证步骤。下面的屏幕截图列出了为生成所需的输出AMI而选择的一些组件。此外,您还可以对构建序列进行排序,上下拖动组件。
测试组件-测试组件是一系列步骤,用于验证映像管道构建的输出映像是否按预期运行。您可以选择其中的任何一个或要包含的所有组件来验证输出AMI。下面的截图显示了一些选中的组件,您可以对构建序列进行排序,上下拖动组件。
单击Next继续步骤3
第3步:基础架构配置
Image Builder在您的帐户中启动EC2实例来定制映像并运行验证测试。以下设置为将在您的AWS帐户中运行的实例指定基础架构细节。这里有三个配置选项
- 使用服务默认值创建基础架构配置
- 使用现有的基础架构配置
- 创建新的基础架构配置
在这里,我们首先选择该选项,它是第一个EC2 Image Builder进程的推荐一个。
单击Next继续步骤4
步骤4定义分发设置
分发设置包括用于加密、启动权限、可以启动输出AMI的帐户、输出AMI名称和许可配置的特定Region设置。这里我们也有三个配置选项
- 使用服务默认值创建分发设置
- 使用现有的分发设置
- 创建新的发行版设置
我们已经选择了第一个选项,下面的截图显示了这个默认配置
单击Next进入最后一步。
第五步检查
在这个最后的审查步骤中,您可以审查上面的所有三个步骤,如果需要,还可以进行最后的编辑。单击Create pipeline按钮以完成配置并开始创建管道流程。
几分钟后,创建了一个新的图像管道,并在EC2 Image Builder>图像管道下列出,如下图所示。
从图像管道创建AMI图像
一旦映像管道准备好了,下一个进程就是运行管道。因为我们为管道选择了一个手动调度选项,所以它只会在手动启动构建时运行。从图像管道列表中选择管道名称(在我们的示例中,管道名称是“VembuDemoImage”)。从Actions菜单中选择Run pipeline(如下图中的红框所示)。这个过程将从创建的管道创建一个AMI图像。页面顶部会出现一条状态消息,通知您管道已经启动,或者出现了错误。
注意:相关图像选择可能不支持某些所选组件,并在图像流水线过程中抛出错误。用户需要从列表中编辑基本和测试组件,并将删除不受支持的组件
现在将创建一个新映像,它将列在EC2 image Builder > Images下。
将VPC与创建的图像相关联
在每个运行管道进程中,您将得到一个AMI图像,输出图像部分将列出相同的图像。可能会出现“指定的实例类型只能在VPC中使用”的失败状态。如果指定的实例没有关联到VPC,则需要使用子网ID或网络接口ID进行请求。
在这种情况下,编辑基础架构配置设置,在“VPC,子网和安全组”部分下提供VPC和关联的子网ID和安全组。您可以使用现有的现有VPC以获取新VPC。下面的屏幕截图显示了下一个图像构建过程的成功状态。提供VPC详细信息后。
将AMI图像分发到其他地区
默认情况下,创建的AMI将仅分发到当前区域。为了在不同的AWS区域使用AMI,用户需要使用AMI共享权限添加单个区域。用户需要在此区域中添加私有或公共的共享权限添加任务。此外,您还可以提供许可证配置和启动模板配置。
许可证配置 - 许可证配置根据企业协议的条款包含许可规则。Image Builder继承与新AMI映像关联的许可证配置。
启动模板配置 - 如果您使用的是EC2启动模板,则可以指示EC2 Image Builder创建一个新版本的启动模板,其中构建完成后包含最新的AMI ID
对于要放置AMI的每个区域,单击“添加区域”按钮。下面的截图显示了这些细节。
结论:
EC2 Image Builder允许您仅使用基本组件创建图像,从而减少您的安全漏洞。您还可以将AWS提供或自定义安全策略应用于您的图像以满足适用的内部或行业特定合规性标准。Image Builder通过提供简单的图形界面,内置自动化和AWS提供的安全设置,显着减少了保持图像的努力和安全。使用Image Builder,没有手动执行更新图像,也没有您必须构建自己的自动化管道。不必编写和维护自动化代码释放资源并节省时间。创建图像管道非常容易,并在几分钟内从图像管道创建AMI。
下载我们最新版本的全功能30天免费试用版Vembu BDR Suite v5.0为您的AWS环境体验现代数据保护。