CloudFormation,您的AWS Devops专家

发布时间: 3/19/18 来源:

作为AWS中国大陆唯一一家最高级别的核心级咨询合作伙伴(Premier Consulting Partner)、国内唯一获得AWS迁移能力认证(Migration Competency)以及AWS认证托管服务提供商(MSP),上海冠闵除了在为在云基础设施和应用迁移方面拥有着丰富的经验,而且在为客户提供公有云上监控、自动化和管理运维等提供全栈式的技术支持。我们致力于以高弹性、高效能、低成本、安全可靠等优势,本着客户至上的原则,提供企业专业云端架构及管理服务,让客户能有最优质的云上体验。CloudFormation作为AWS最重要的IaaS自动化服务之一,今天就给大家详细介绍下。

 

1.什么是 AWS CloudFormation?

 

AWS CloudFormation 是一项服务,提供了一种简便地创建和管理相关AWS资源的方法,可帮助您对AWS资源进行建模和设置,以便能花较少的时间管理这些资源。换言之,就是您能把您所需要的架构内容,参数,详细定义写成代码然后让CloudFormation帮您去构建。比如您创建一个描述您AWS资源(EC2,RDS,ELB等)的模板,当创建CloudFormation堆栈并引用该模板时,CloudFormation将自动为您配置并启动这些资源(您需要有创建这些资源的权限)

 

2.AWS CloudFormation的组成

 

在使用 AWS CloudFormation 时,将使用模板和堆栈。您创建模板来描述 AWS 资源及其属性。当您创建堆栈时,AWS CloudFormation 会配置模板中描述的资源。

2.1模板

AWS CloudFormation 模板是 JSON 或 YAML 格式的文本文件。您可以使用示例模板或者自己创建的模板来描述相关AWS资源。AWS CloudFormation 将使用这些模板作为用于构建您的 AWS 资源的蓝图。例如,在模板中描述 Amazon EC2 实例,如实例类型、AMI ID、块储存设备映射和其EC2 密钥对名称。

2.2堆栈

在您使用 AWS CloudFormation 时,可将相关资源作为一个称为“堆栈”的单元进行管理。您可通过创建、更新和删除堆栈来创建、更新和删除一组资源。堆栈中的所有资源均由堆栈的 AWS CloudFormation 模板定义。要创建这些资源,您可通过提交已创建的模板来创建堆栈,AWS CloudFormation 将会为您配置所有这些资源。

2.3更改集

如果您需要更改堆栈中运行的资源,则可更新堆栈。在更改资源之前,您可以生成汇总您要进行的更改的更改集。利用更改集,您可以在实施更改之前,了解更改可能会对运行的资源(特别是关键资源)造成的影响。

 

3.适用场景

 

快速部署资源:公司新上项目,需要开启资源并规划VPC,安全组,子网等,后续新上的项目都按照这个标准进行规划。那么使用CloudFormation模板,我们只需要更改其中的几个参数即可快速完成资源的设置。

快速复制您的资源:我们可以对账号资源做一个CloudFormation模板,然后在另一个账号创建堆栈并引用模板启动,即可快速完成资源架构的复制。

 

4.案例

 

在创建CloudFormation堆栈时,我们需要提供一个模板,这个模板可以是自己编辑的,需要将创建的资源以JSON的形式编辑到模板中,如下示例:

4.1 创建VPC

以下是如何创建VPC,并定义VPC的CIDR块的代码。

4.2创建单个EC2 实例

创建EC2,会包含创建安全组,VPC等,我们在模板中将创建EC2资源时需要创建的VPC,安全组等编辑到模板中,如果不编辑默认是使用AWS默认的安全组和VPC等。

完整模板请参考:

https://s3.cn-north-1.amazonaws.com.cn/addison-s3/SliverLining+EC2.json

如何进行导入模板创建堆栈并启动资源,如下:

当我们创建完堆栈并引用模板后即可在CloudFormation中看到对应的堆栈

4.3 创建完整应用环境

此处,我们通过一个CloudFormation Scripts创建一个完整的业务部署环境:

1>准备好相关的CloudFormation Scripts;

2>将CloudFormation业务代码上传至御云者(CloudEasy);

3>御云者通过调用CloudFormation API执行相关的Scripts,启动相关的资源;

此脚本实现两层WEB架构,业务通过ELB对外发布,APP服务器和DB服务器在私网,保障安全性,相关的架构图可以如下:

部署代码如下:

完整代码可参考:

https://s3.cn-north-1.amazonaws.com.cn/addison-s3/SilverLining.json

 

5.CloudFormer导出模板

 

直接创建堆栈,选择工具CloudFormer

在输出列表中点击对应的URL,输入之前创建时的username和password,既可进行相应的资源的模板导出。

 

6.全方位运维服务

 

CloudFormation作为快速部署AWS资源的最重要的服务之一,也是我们协助客户进行项目迁移和运维管理的重要工具,目前已经帮助客户在很多场景通过CloudFormation进行云上的环境创建,复制和维护,并帮助众多客户成功从海外AWS云重构CloudFormation并部署在国内特有的AWS云上。

同时,作为业界最高标准的AWS认证的托管服务提供商(MSP),上海冠闵拥有全栈式的运维支持技术团队,除了多位AWS Professional SA认证,AWS Associate SA认证,AWS SysOps,AWS Devops,AWS Developer认证等之外,我们的团队同时还拥有业界各种不同方面的专业认证,包括 CCIE , VMWare , Oracle OCP以及ITIL等,配合我们自主开发的云管理平台:御云者,方能为客户提供全方位的云上运维以及优化服务!

 

7.总结

 

上海冠闵成立以来一直以来致力于为广大企业客户提供公有云上的优质服务,目前服务的客户已经超过百家。作为国内唯一AWS最高级别的核心级咨询合作伙伴(Premier Consulting Partner),同时也是国内唯一获得AWS迁移能力认证(Migration Competency)以及AWS认证MSP(托管服务提供商),我们立志成为AWS新技术在国内落地的先行者!上海冠闵持续不断在技术以及各项服务上精益求精,将各种云上优质服务普及到国内企业客户,并持续快速迭代不断更新,正如我们的愿景:“Every Cloud Has a Silver Lining”,我们必将携手与所有客户在云上继续前行!