DevOps on AWS之Cloudformation实践篇
cloudformation入门实践
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的工作量。
by:白刃霜飞
多年海内外系统,网络,信息安全从业经验。参与并主导多个世界500强企业大型IT项目,现任职于Simba Innvation的云计算专家。
DevOps on AWS之Cloudformation实践篇的更多相关文章
- DevOps on AWS之Cloudformation概念介绍篇
Cloudformation的相关概念 AWS cloudformation是一项典型的(IAC)基础架构即代码服务..通过编写模板对亚马逊云服务的资源进行调用和编排.借助cloudformation ...
- DevOps on AWS之OpsWorks初体验
AWS OpsWorks 是一款配置管理服务,提供 Chef 和 Puppet 的托管EC2虚拟机实例.Chef 和 Puppet 是自动化平台,允许用户使用代码来自动配置服务器.用户借助OpsWor ...
- DevOps on AWS之Elastic BeanStalk
Elastic BeanStalk相关概念 童话世界中存在着一种魔力beanstalk(豆荚),种在花盆里可以无限的向上生长,越长越高直达云端.AWS Elastic Beanstalk也采用类似概念 ...
- 七款做好DevOps的强大工具
原文链接: 7 cool tools for doing devops right 传统把开发和运营割裂开的做法,实则不适合现代产品和服务开发的需求,如今把开发和运营作为整体来看待的DevOps工程思 ...
- AWS 安全信息泄露-----21天烧了27万
安全问题一直都是个老生常谈的话题,对于我们做IT的来说,是更为重视的.从使用开发工具的是否授权合规,到从事的工作内容是否合法.我们都应该认真的思考一下这些问题,毕竟我们要靠IT这门手艺吃饭. 2021 ...
- On cloud, be cloud native
本来不想起一个英文名,但是想来想去都没能想出一个简洁地表述该意思的中文释义,所以就用了一个英文名称,望见谅. Cloud Native是一个刚刚由VMware所提出一年左右的名词.其表示在设计并实现一 ...
- 关于Puppet不得不说的故事
Puppet对于做DevOps的同学来说,是个熟悉的名字,但仍有许多人并不了解它.那么我先来简单介绍一下:Puppet是由Puppetlabs公司开发的系统管理框架和工具集,被用于IT服务的自动化管理 ...
- OpenStack调研:OpenStack是什么、版本演变、组件关系(Havana)、同类产品及个人感想
一点调研资料,比较浅,只是觉得部分内容比较有用,记在这里: 首先,关于云计算,要理解什么是SAAS.PAAS.IAAS,这里不述:关于虚拟化,需要知道什么是Hypervisor,这里也不述: Open ...
- OpenStack调研
OpenStack调研:OpenStack是什么.版本演变.组件关系(Havana).同类产品及个人感想 一点调研资料,比较浅,只是觉得部分内容比较有用,记在这里: 首先,关于云计算,要理解什么是SA ...
随机推荐
- 【bzoj 4154】[Ipsc2015]Generating Synergy
题目 大概已经掌握熟练码出\(kdt\)的技能了 发现距离子树根节点\(x\)不超过\(l\)的点可以用两种方式来限制,首先\(dfs\)序在\([dfn_x,dfn_x+sum_x)\)中,深度自然 ...
- Codeforces 1106 E. Lunar New Year and Red Envelopes 优先队列+dp
题意大致是Bob新年拿红包,每个红包可以在s-t时间内取,但是取了之后得在d+1时间开始才能继续取红包. 同时他女儿能在m个时间点阻止他取红包,求女儿阻止后Bob取得的w总和最小值. Bob取红包的策 ...
- 【招聘123】Some good open positions
Software Engineer III - Java, REST, Agile/Kanban https://jobs.cmegroup.com/jobs/3679794-software-eng ...
- ethers.js-4-Contracts
Contracts A Contract is an abstraction of an executable program on the Ethereum Blockchain. A Contra ...
- MySQL——总结
数据库命令:创建create database 数据库名 charset=utf8;删除drop database 数据库名;查看所有数据库:show databases;使用数据库:use 数据库名 ...
- NSPredicate的使用
简述 NSPredicate谓词条件过滤器,一般用于过滤数组数据,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取. 常用函数 创建谓词 + (NSPredicate *)predic ...
- c模拟内存分配算法(首次适应算法,最佳适应算法,最坏适应算法)
#include<bits/stdc++.h> using namespace std; /*定义内存的大小为100*/ #define MEMSIZE 100 /*如果小于此值,将不再分 ...
- 重载全局new/delete实现内存检测
下面介绍用重载new/delete运算符的方式来实现一个简单的内存泄露检测工具,基本思想是重载全局new/delete运算符,被检测代码调用new和delete运算符时就会调用重载过的operator ...
- 【css】css实现点击Toggle功能/icon切换
①实现Toggle功能 html结构: <div class="cssTog"><label> <p> 专业:B020309现代企业管理(独立本 ...
- Jquery中的height(),innerHeight(),outerHeight()的区别
前言 最近练习做弹窗,遇到height(),innerHeight(),outerHeight()的区别. 根据下面的盒模型来了解三者的区别. height():element的height; inn ...