亚马逊AWS官方博客

OpenSource | Spot 实例上的 RHEL:一种管理 Red Hat 实例成本的新方法

Red Hat 为企业和开发人员提供开源软件已经超过 25 年了。该公司是 Amazon Web Services 的高级合作伙伴,在 Amazon EC2 上提供官方 Red Hat 映像已经超过 10 年了。现在,可通过一种新方式在 EC2 上使用 Red Hat Enterprise Linux (RHEL)

2018 年 5 月,Amazon Elastic Compute Spot 团队宣布Amazon Elastic Compute Cloud (Amazon EC2) Spot 队列开始支持 Red Hat Enterprise Linux (RHEL) 实例。使用 Red Hat 订阅的客户现在可以利用 Spot 实例(未使用的 EC2 实例价格低于按需实例价格)了。如果您能够灵活决定应用程序的运行时间,并且能够把握应用程序中断的情况,那么这将是一个经济高效的选择。通过 Spot 队列请求,您可以创建更复杂的 Spot 实例集合(或队列)的启动配置。

这是一个 byol自带许可证)的版本,因此我们先深入研究一下您可以在 EC2 Spot 实例上使用的 Red Hat Enterprise Linux 选项。开始使用 RHEL 实例后,我们将添加 EC2 Spot 休眠代理。

Red Hat 积极参与改变技术前景的社区,这些技术包括操作系统和开发人员工具链、中间件、桌面设备和云等等。Red Hat 不为这些社区开发的软件提供许可证,而是以订阅模式访问编译后的二进制文件并为映像提供支持。

如果您已经在使用 Red Hat on AWS,那么应该知道有两种订阅模式可供选择: 按需付费和 byos(自带订阅) 。但是,按需付费的映像适用于 EC2 Spot 实例。

适用于 Spot 实例的 Red Hat AMI 是客户自行导入的,也可以通过 Cloud Access Program (CAP) 提供的公共映像为基础构建,以便与 Red Hat 直接提供的年度订阅结合使用。如果您已经注册了 Red Hat,并且订阅了 Red Hat Enterprise Linux Server,那么您已经获得了公共映像的访问权限,可以下载经 Red Hat 测试和认证的企业软件,而无需另外支付许可证费用或升级费用。或者,您可以使用类似 VM Import/Export 服务的步骤,从您自己的虚拟化实例中,上传您自己的映像来导入虚拟机映像。

使用 Red Hat 公共映像

使用公共映像前,需要先进行一些准备。您必须先注册 Red Hat 的 Cloud Access Program,此过程最多可能需要 24 个小时。这可让您获得 byos Red Hat Enterprise Linux AMI 的私有访问权限,以便与 EC2 Spot 实例结合使用。Red Hat 通过直接从 Red Hat 发布账户向您注册的 AWS 账户共享 AMI 来提供该访问权限。

获得映像访问权限后,您就能够通过 RHEL 解决方案开始使用 Spot 实例了。当使用直接从 Red Hat 购买的订阅时,通过 CAP 提供的 Red Hat Enterprise Linux 和产品完全受支持;使用 Spot 实例不会导致支持模式发生变化。

您可以在 EC2 控制台 AMI 部分找到这些私有映像。通过将输出限于通过 Red Hat 发布 AMI 的官方账户共享的私有映像,将搜索范围缩小为共享到 Cloud Access 帐户的映像。

提出 Spot 请求

在 2018 年 Red Hat 峰会上,Red Hat 开发人员体验总监 Burr Sutter 主持了一场关于调整混合环境工作流程(包括通过 Amazon EC2 提升容量)的会议。他解释了如果客户将 Red Hat Enterprise Linux 和 EC2 Spot 实例结合使用,便可持续获享最低价格。

请求 Spot 实例对话框

为在 EC2 上运行 RHEL 的 AWS 客户增加 Amazon EC2 Spot 实例选项,可以增加启动时配置选项。现在,您可以使用 Amazon EC2 队列来简化不同 EC2 实例类型和可用区中的 Red Hat Enterprise Linux 部署,同时以标准实例价格、EC2 Spot 实例价格和预留实例 (RI) 价格分散工作负载。Jeff Barr 的博文 EC2 队列 – 通过一次请求管理数千个按需和 Spot 实例详细说明了如何使用 EC2 队列。

Red Hat 为 Red Hat Enterprise Linux、Red Hat Atomic Host、Red Hat Gluster Storage 和 Red Hat JBoss 企业应用平台提供公共映像。这些公共映像可用于创建 Spot 启动配置、队列请求和简单的 Spot 实例请求,以支持各种平台部署模型。Cloud Access Program 进一步简化了将 Red Hat 订阅迁移到 Amazon EC2 的过程。

Red Hat Cloud Access Program - 注册映像

对于不提供公共映像的产品,例如 Red Hat OpenShift、Red Hat Satellite、Red Hat Enterprise Linux for SAP 或您自己基于 Red Hat 技术定制的应用,应先从 Red Hat Enterprise Linux AMI 入手,然后安装所需的 Red Hat 产品或插件。

在构建 Spot 实例请求时,没有 RHEL 下拉选项;您需要从共享到 AWS 账户的私有映像中进行选择。通过搜索您要使用的版本,从 AMI 选择器 中选择 AMI。在下面的示例图片中,您可以看到对共享到该账户的 AMI 执行的搜索。该搜索按照 How to list the latest available RHEL images on Amazon Web Services(Red Hat 知识库文章)中说明的惯例创建。

找到您的 RHEL AMI

如果您想在 Spot 队列上启动映像,可以使用通过 Red Hat Cloud Access Program (CAP) 共享到您账户的 Red Hat 公共映像,而无需通过 EC2 控制台查找 AMI ID。随着对 RHEL 支持的扩展,现在迁移 Amazon EC2 上当前所用的订阅更加简单了。

Amazon EC2 Spot 实例团队提供开源休眠代理,以便进行所有必要的更改,确保实例完全支持休眠需求。同时,他们在 ec2-spot-labs 存储库中提供大量示例、脚本和模板,以便您可以立即开始探索如何将 RHEL 和 EC2 Spot 整合到您自己的 Amazon EC2 基础设施中!