在经典网络环境和 vpc 环境下交付应用的最大区别在于经典网络环境不需要 vpc、vswitch等其他相关资源的支持,只需要 ecs 和 公网 ip 资源即可。除此之外,基于资源编排和 ansible 在经典网络下快速交付应用的流程和步骤与在 vpc 下完全相同。下面本文仍以搭建 redis 集群为例,展示在经典网络下快速交付应用。
和上一篇一样,在搭建应用之前,首先需要在 master 机器上安装 ros sdk 和 ansible。
下面展示基于 ros api 和 ansible 在经典网络下快速搭建一主(master)两备(slave) redis 集群的详细过程。
为了提高 redis 集群的高可用性,在搭建 redis 集群时为其部署高可用性解决方案 sentinel,以帮助 redis 集群实现自动化的主备切换。
首先定义资源栈模板。由于是经典网络环境,所以在模板中只需要定义构建三台云主机 ecs 资源和对应数量的 eip 资源即可。为了方便起见,我在模板中使用资源 <code>"type": "aliyun::ecs::instancegroup"</code> 定义 ecs 资源。定义资源栈的模板可详见附件中的 python 文件 create_instancegroup_template.py。
模板定义成功后,编辑 python 代码,以模板作为参数,调用 ros api 即可实现对资源环境的搭建。需要注意的是,在传递参数时应注意增加关于分配公网 ip 的参数。如下是调用 ros api 的 python 文件 create_stack_instancegroup.py:
这部分跟在 vpc 环境下的一样,此处不再赘述。
这部分也跟在 vpc 环境下的一样,不再赘述。
在经典网络下搭建 redis 集群的所有代码文件可详见附件。在经典网络下,redis 集群搭建成功后的资源拓扑图如下所示:
