AWS cloudformation通过模板对AWS云资源进行编排和调用。并且可以通过模板代码层面的修改就可以对现有环境进行升级改造,云端业务的灵活便捷特点展现无疑。下面我们通过一个入门级的简单动手案例给大家展示cloudformation是如何使用的。希望大家也动手亲自实践体验。

创建cloudformation模板

上图:进入webconsole控制台的cloudformation界面,点选create new stack。(新用户有1年的AWS free tier可以用来体验各种服务)


上图:本实验先选择一个简单的单实例单区域LAMP Stack。

上图:点击View/Edit template in Designer进入可视化编辑模板界面。

上图:可视化编辑界面可以看到模板现有资源之间的依赖关系,当点击securitygroup的图标时,下方模板的JSON语言会自动跳到securitygroup相关的代码方便审查和修改。

上图:点击ec2图标时,下方JSON语言会自动跳到ec2的部分。左边Resource types里面的资源都是可以点击生成相应代码,使用者可以直接使用或者根据实际情况对代码参数进行修改,非常的方便。

上图:点击左上角的create stack标致对准备好的模板进行创建。

上图:选择LAMP Stack模板然后点击Next。

上图:Stack name这里填写个a-nice-template,正式工作中建议规范化命名。InstanceType这里选择t2.micro因为做实验练习而已。KeyName是用于登陆这台ec2的密钥,选择好即可。DB相关的可以随便填写,不懂的可以去百度mysql的基本知识。然后连续点击右下角的next两次直到进入create页面。

上图:review界面。可以看到这个Lamp Stack的相关信息,确认无误后点击右下角create执行创建资源。

上图:模板资源正在创建过程中create in progress,速度会非常快。

上图:很快创建完成资源。

上图:最终回到ec2的控制台,可以看到刚才用cloudformation创建好的LAMP单机已经可以使用了,并且这台机器的securitygroup也是刚通过a-nice-template创建的。

上图:点击cloudformation这里模板的URL链接也可以访问刚创建的ec2。

上图:实验完成后记得删除资源,以免扣费。

总结:用cloudformation不仅可以迅速的通过模板对基础设施层的资源进行调用并快速部署,还可以对资源内部的应用/系统配置文件进行修改操作,非常强大。模板可以反复使用,只需根据实际情况对模板内的参数进行少量的修改即可,一劳永逸的理念极大的减少了DevOps的工作量。