CloudFormation
亚马逊云服务之CloudFormation
亚马逊的Web Service其实包含了一套云服务。云服务主要分为三种:
IaaS: Infrastructure as a service,基础设施即服务。
PaaS: Platform as a service, 平台即服务。
SaaS: Software as a service, 软件即服务。
而亚马逊提供的云服务至少涵盖了前面两种。以下是亚马逊提供的各种服务。
以上的图中S3、EC2等就属于IaaS,RDS、DynamoDB等就属于PaaS。
今天分享的是亚马逊的CloudFormation,亚马逊将其归类为Deployment&Management(部署及管理类别)。为什么亚马逊要推出这项服务那?我们可以假设一个场景。如果你要将一个WordPress网站部署到亚马逊上,你需要以下几步:创建一个EC2实例->在此EC2实例上配置WordPress->创建RDS数据库实例->在WordPress中配置与该RDS的连接。整个过程耗时耗力,需要在亚马逊不同的云服务间跳转。这些操作关联性很强,不具备自动化。如果你使用了CloudFormation以后,只需要在页面上点几个按钮,输入一些参数,就可以创建一个博客,省时省力,甚至完全不用任何UI,直接通过命令行完成。
CloudFormation给予了用户一种简单的方法来创建和管理一系列有关联的AWS的资源,可以有序的及可预见的初始化和更新这些资源。
要了解CloudFomation之前,先要了解几个概念。
Template - 模板
Template是CloudFormation的一个重要概念。Template本质上是一个json格式的文件。该文件定义了你需要使用那些AWS的资源,并且如何初始化这些资源。CloudFormation支持的资源如下图所示。
一个Template文件至少包含一下几个属性:
1 |
|
这个Template就是用来创建一个EC2的虚拟机。
1 |
|
AWS官方提供了很多Template的资源,我们可以直接使用,当然也可以按需修改,甚至自己手动编写自己的Template。<http://aws.amazon.com/cloudformation/aws-cloudformation-templates/ >列出了一系列可供使用的Template。
Stack - 堆
Template只是一个json格式的文件,如果想要使用它的话,需要创建一个Stack,在Stack中指定你要使用的Template,然后亚马逊才会按照Template中的定义来创建及初始化资源。可以在AWS Management Console中或通过命令行调用API的方式来创建Stack。
实战
接下来,我们就通过AWS Management Console,使用CloudFormation来创建一个部署在EC2上、使用RDS作为数据库的WordPress网站。
首先,需要登录到AWS Management Console,选择EC2服务,点击左侧菜单的Key Pair,创建一个Key Pair。这个Key Pair将在接下来被使用,主要使AWS能够ssh到创建的EC2机器上。当然你也可以使用已有的Key Pair。
然后选择CloudFormation服务,点击Create Stack
按钮。
然后输入Stack名称,并选择一个Template。由于我们要创建一个WordPress的站点,可以选择use a sample temple
,并选择WordPress这个模板。
然后点击continue
按钮,配置相关的参数。注意在KeyName一项中输入我们第一步创建的Key Pair。
然后点击continue
按钮,配置此Stack的标签,这个是可选项,可以跳过。再点一下continue
,将会再次确认想要的创建的资源信息,继续后就可以看到资源正在创建了。
页面下半部分有很多标签,你可以随时查看该Stack的描述、资源、事件、参数、输出等各项信息。
等待大约20分钟,Stack就会执行完毕,在Outputs标签中你会看到有一个url。
这个就是我们创建的WordPress的入口地址,访问该链接会进入WordPress的初始化设置页面。
配置完以后,一个新的WordPress就诞生了,重新访问URL,你会看到你的博客首页。
CloudFormer
提到CloudFormation就不得不说CloudFormer。CloudFormer是亚马逊提供的一个工具,用来给已有的AWS资源创建CloudFormation Template。这样你在以后创建相同的AWS资源时就可以直接使用这个Template了。
要使用CloudFormer首先要创建一个Stack,CloudFormer就被部署到一台EC2机器上,通过这个Stack返回的Outputs的URL我们可以一步步勾选使用到的资源,最终生成一个Template,该Template会自动放置到你的S3中。
首先创建Stack,Template选择use a sample template,并选择CloudFormer。
然后点击continue
,配置其他参数,直到走完创建Stack这个流程。
等待这个Stack创建完毕后,就可以从Outputs标签得到一个URL。这个URL是执行CloudFormer工具的入口地址。
点击此URL,即可按照配置一步步配置自己的Template。
流程走完后,生成的Template会存放到你的S3 bucket中。
由于CloudFormation支持对几乎所有的AWS资源进行创建和配置,并且能够按照指定顺序创建,其Template简洁易懂、容易配置、可重用,所以是你使用AWS的不可多得的好帮手。
CloudFormation的更多相关文章
- 亚马逊云服务之CloudFormation
亚马逊的Web Service其实包含了一套云服务.云服务主要分为三种: IaaS: Infrastructure as a service,基础设施即服务. PaaS: Platform as a ...
- System Operations on AWS - Lab 7 - CloudFormation
CloudFormation模板:创建一个VPC(包含Public子网,Private子网,分别在不同的AZ),创建NAT,Bastion Server在Public子网. 1. 修改并运行AWS C ...
- DevOps on AWS之Cloudformation概念介绍篇
Cloudformation的相关概念 AWS cloudformation是一项典型的(IAC)基础架构即代码服务..通过编写模板对亚马逊云服务的资源进行调用和编排.借助cloudformation ...
- DevOps on AWS之Cloudformation实践篇
cloudformation入门实践 AWS cloudformation通过模板对AWS云资源进行编排和调用.并且可以通过模板代码层面的修改就可以对现有环境进行升级改造,云端业务的灵活便捷特点展现无 ...
- AWS CloudFormation Template
{ "AWSTemplateFormatVersion" : "2010-09-09", "Parameters" : { "Ba ...
- On cloud, be cloud native
本来不想起一个英文名,但是想来想去都没能想出一个简洁地表述该意思的中文释义,所以就用了一个英文名称,望见谅. Cloud Native是一个刚刚由VMware所提出一年左右的名词.其表示在设计并实现一 ...
- 按照Enterprise Integration Pattern搭建服务系统
在前一篇文章中,我们已经对Enterprise Integration Pattern中所包含的各个组成进行了简单地介绍.限于篇幅(20页Word以内),我并没有深入地讨论各个组成.但是如果要真正地按 ...
- AWS开发人员认证考试样题解析
最近在准备AWS的开发人员考试认证.所以特意做了一下考试样题.每道题尽量给出了文档出处以及解析. Which of the following statements about SQS is true ...
- OpenStack调研:OpenStack是什么、版本演变、组件关系(Havana)、同类产品及个人感想
一点调研资料,比较浅,只是觉得部分内容比较有用,记在这里: 首先,关于云计算,要理解什么是SAAS.PAAS.IAAS,这里不述:关于虚拟化,需要知道什么是Hypervisor,这里也不述: Open ...
随机推荐
- ACM算法
一.数论算法 1.求两数的最大公约数 2.求两数的最小公倍数 3.素数的求法 A.小范围内判断一个数是否为质数: B.判断longint范围内的数是否为素数(包含求50000以内的素数表): 二. ...
- MSMQ-发送消息到远程专用队列 实例
目录 一:MSMQ的一些理论上的知识 二:队列类型(Queue Type) 三:安装消息队列 四:在C#中Messagequeue class 五:MSMQ-发送消息到远程专用队列 六:例子 一. ...
- nodejs爬虫系统
其中express是服务端框架 request相当于前端的ajax请求 cheerio相当于jq 开始 首先我们先新建一个 crawler目录 执行 npm install express -g 命令 ...
- [mysql]刷新windows恢复后mysql和"Access denied for user'root'@'IP'"处理问题
mysql数据库软件实际上是绿色的,重装系统后能够继续使用. 1.重装系统保留原有的后mysql安装文件夹,数据文件夹. 2.制作用于启动一个批处理文件mysql:[run.bat]的文件存储在mys ...
- iOS:Block写递归
首先来一个 oc 的递归: - (int)sum:(int)num { ) { return num; } ]; } 写递归算法只需要记住两点即可: 1. 有一个明确的出口 2. 不满足条件出口时,自 ...
- OracleServiceORCL服务不见了怎么办
用管理员身份运行命令提示符(CMD) 然后输入“oradim -new -sid orcl”即可
- 再谈IE的浏览器模式和文档模式
原文:再谈IE的浏览器模式和文档模式 以前在 “IE8兼容视图(IE7 mode)与独立IE7的区别”一文中曾经涉及过浏览器模式和文档模式,但二者的区别却不甚了了,现在有了新的认识,再补充一下. 1. ...
- 拥抱HTTP2.0时代 - HTTP2.0实现服务器端推送Push功能
在当今的移动互联开发趋势中,nghttp2是一个很值得大家去关注的一个开源项目. 我们在nghttpx模块中实现了HTTP/2服务器推送功能,并且在我们的nghttp2.org网站中启用了该推送功能. ...
- PHP 5:PHP语法导向
原文:PHP 5:PHP语法导向 代码 ...
- Maven入门笔记
首先安装Maven,Maven的安装很简单,这里就不在说了. 先要确定把工程放在哪个路径下,创建一个文件夹并且在该文件夹下打开shell命令.可以先运行下面的命令,创建一个工程: mvn archet ...