发布于: Jul 12, 2021

高效配置的核心是批量自动化处理,尽量减少手工步骤。管理工具整合 CloudEndure 复制实例信息以及目的区域虚拟网和机型信息,存入 DynamoDB 数据库,通过计算,批量地对 CloudEndure 项目的启动蓝图进行配置,实现高效管理的目的。简易的结构图如下所示。

新建项目

系统和 CloudEndure 一样以项目为单位进行管理,且依附于
CloudEndure 项目。当一个 CloudEndure 项目新建并正确配置后,方可对其进行管理。正确配置的定义是在项目中设置了 Amazon Web Service凭证 (Amazon Web Service Credentials),并且完成了复制设置 (Replication
Settings)。如果通过管理工具 EC2 实例温备模块新建项目,那么项目新建完成后就已经正确配置了。如果自行在 CloudEndure 上新建项目,则需要完成上述两部操作来正确配置。

要新建 CoudEndure 管理项目,在系统的 CloudEndure 管理项目界面中,点击加号弹出新建 CloudEndure 管理项目对话框。在 CloudEndure 项目下拉列表中,没有正确配置的项目是不可选的。建议名称与CloudEndure 项目保持一致。目的区域不可选且与 CloudEndure 项目目的区域保持一致。该区域的虚拟网 VPC 会自动加载于 VPC 下拉列表。选择一个 VPC 绑定至项目并作为网络部分配置的参考范围。该 VPC 需要至少包含一个公网网段及一个私网网段。最后点击“新建”完成。

载入配置和安全组

在安装完代理软件,开始实例数据复制之后,可以进行启动蓝图的配置管理。第一步,是读取 CloudEndure 项目内实例信息并按照经济型规格初始化启动蓝图配置。点击启动蓝图 → 载入启动蓝图。载入蓝图后,系统会集中显示项目内所有实例的内核、内存、盘型、机型、安全组、子网类型及地址等信息,一目了然。全消灭上述步骤。

在初始化载入启动蓝图的过程中,系统会根据标签信息关联安全组。具体来说,在绑定 VPC 的安全组中,可以设置键为 drp:ce:machine,值为实例名称的标签,以此把该安全组绑定到该实例。一个安全组可以绑定多个实例,用半角逗号分割多个实例名即可。例如在dr-sg-ssh 的安全组中添加标签,键为 drp:ce:machine,值为:dr-pri-m4-x,dr-pri-m4-large。则该安全组会分别绑定到指定的两个实例。

安全组除了这种标签元数据的绑定模式,还可以使用对话框勾选,方法是点击启动蓝图 → 选择安全组。一个实例可以适配多个安全组,一个安全组也可以绑定到多个实例。二者为多对多关系。

调整配置

在系统实例配置蓝图表中,勾选一个或多个待调整的蓝图,可以对其中的机型、盘型、子网、安全组进行调整。例如,将前缀为 dr-pub 的两个实例子网调整到公网,机型和盘型调整为生产用。点击启动蓝图 → 调整启动蓝图。如果不想改变某项设置,选择“不变”。对于机型,如果对自动计算的机型不满意,可以选择“自选机型”,此时目的区域机型列表会加载,并变为可用,以便选择。

调整后的启动蓝图如下所示。此处,系统会根据子网类型找到合适的子网网段。对公网来说,需要有路由到互联网网关 IGW。然后,系统会在未使用的地址中,随机选择网络 IP 地址。可以看到机型已经调整为生产用高配型号 m5 系列,盘型也更改为 SSD。因为 t2.micro 可以满足 dr-pub-t3-nano 的性能要求,所以仍然使用 t2 系列。如果子网类型为私网,则系统在路由到 NAT 的子网网段中,随机选择未使用的 IP 地址。

可以看到,此处操作即是高效管理配置的核心所在。用户可以选择任意数量的实例配置,一键完成包括机型、盘型、子网类型以及网络地址的配置,且可以方便地在经济型和生产用机型和盘型之间的切换,最大限度的减少原来在 CloudEndure 控制台上的运维操作。

完成启动蓝图的调整后,可以点击启动蓝图 → 配置启动蓝图,将调整好的蓝图一键适用到 CloudEndure 项目中。适用完成后,可以继续后续操作,包括测试启动实例,切换等。具体参考《利用云上灾备管理工具迁移和保护 EC2 实例》一文,不再赘述。

效率提升

在此做一个简单的计算。假设有 n 台实例,采用 CloudEndure 控制台来配置实例启动蓝图的子网类型及地址、安全组、机型、盘型,大约需要

(选择实例配置步骤 + 子网步骤 + 安全组步骤 + 机型步骤 + 盘型步骤) * n
= (3 + 5 + 2 + 2 + 2) * n
= 14n

如果使用本系统,可以批量对实例进行操作。考虑到安全组和其他设置是两个不同的对话框,则需要

(选择实例步骤 + 子网步骤 + 机型步骤 + 盘型步骤) + (选择实例步骤 + 安全组步骤)
= (1 + 1 + 2 + 1) + (1 + 2)
= 8

可以看出,使用本系统后,实例数量 n 不再是一个影响因素。进行任意实例启动蓝图配置所花费的时间和步骤变成一个常量。故可以极大地提高工作效率。

注意事项

在使用系统之前,需要设置 CloudEndure 的 API 序列号。点击设置 → CloudEndure API 序列号。该序列号与 CloudEndure 登录账号绑定,可用操作该账号下的所有项目。

本文介绍的管理工具新功能,着重解决灾备演练和灾备准备之间启动蓝图配置切换的操作难题,试图尽可能降低运维压力和出错率。可以在大多数情况下,满足经济型和生产用模式之间高效快速切换实例启动蓝图配置的要求。本系统有一定的局限性,并不谋求完全取代 CloudEndure 控制台,或者涵盖所有相关参数。未来可以根据实际工作情况,有针对性的弥补局限性,扩大支持的配置选项和取值,扩大适用范围。例如支持实例配置文件,弹性网络接口、更丰富的盘型及参数的设置等。

CloudEndure 也提供了一系列脚本,用以提高相关工作的效率。其中有一个就是用来大批量设置启动蓝图的。脚本由 Python 写成,并附带了使用说明。显而易见,要快速使用该脚本同样需要相当的学习成本和知识门槛,比本文所述的新功能复杂不少。对于其中可以借鉴之处,亦会在新版本中进行有益补充。

相关文章