加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 服务器 > 安全 > 正文

理解亚马逊 Amazon AWS CloudFormation

发布时间:2021-01-02 06:14:52 所属栏目:安全 来源:网络整理
导读:副标题#e# 《理解亚马逊 Amazon AWS CloudFormation》要点: 本文介绍了理解亚马逊 Amazon AWS CloudFormation,希望对您有用。如果有疑问,可以联系我们。 Amazon最初始推出AWS时候,提供给用户的是虚拟机(EC2),存储(Volume),弹性IP(Elastic IP)等这些在云
副标题[/!--empirenews.page--]

《理解亚马逊 Amazon AWS CloudFormation》要点:
本文介绍了理解亚马逊 Amazon AWS CloudFormation,希望对您有用。如果有疑问,可以联系我们。


Amazon最初始推出AWS时候,提供给用户的是虚拟机(EC2),存储(Volume),弹性IP(Elastic IP)等这些在云计算中被划分为基础设施层(I层)的资源.
稍后AWS又推出了RDS(Relation Database Service),用户可以申请MySQL,Oracle,Postgres,SQLServer这些数据库实例(DBInstance).这个在云计算中被划分为平台层(P层).
到目前位置,AWS的利润也只是上面说到的I层和P层资源得到,用户只有使用了这些资源,才需要付费.

AWS为了方便用户申请这些资源.开发了CloudFormation这个工具.
CloudFormation实现的功能是维护一个资源申请模版的生命周期.包括资源的申明,创建,销毁,监控(通过CloudWatch监控,CloudWatch是AWS提供的监控服务).
这个模板在AWS中命名为Stack.

因此我们学习CloudFormation,就是需要掌握Stack的含义.

在学习Stack之前,需要再补充说明亮点:

  1. AWS根据一些用户典型场景,定义了一些典型场景下的Stack模版,供用户使用.如安装一个WordPress服务器的模板.安装Wordpress服务器,需要至少一个服务器,一个EIP,一个MySQL实例.
  2. Stack模板中有很多关于安全的资源定义,如SecurityGroup,这些我们不讲解.我们只关注I层和P层资源的申请.

我们以Wordpress的Stack模板,讲解如何通过Stack申请资源(I层和P层资源).我们以注解方式说明,绿色为注解.
讲解使用的Sample Stack下载地址:https://s3.amazonaws.com/cloudformation-templates-us-east-1/WordPress_Single_Instance_With_RDS.template

Stack是一个JSON文件.

{
//Stack的版本信息,下面的JSON格式是2010-09-09版本的.
“AWSTemplateFormatVersion” : “2010-09-09”,

//Stack描述信息
“Description” : “AWS CloudFormation Sample Template WordPress_Single_Instance_With_RDS: WordPress is web software you can use to create a beautiful website or blog. This template installs a single-instance WordPress deployment using an Amazon RDS database instance for storage. It demonstrates using the AWS CloudFormation bootstrap scripts to install packages and files at instance launch time. **WARNING** This template creates an Amazon EC2 instance and an Amazon RDS database instance. You will be billed for the AWS resources used if you create a stack from this template.”,

//Stack的参数.这些参数会在执行Stack时候,生成界面,让用户输入.
//参数可以被Stack中其他元素通过名称引用.
“Parameters” : {

“KeyName”: {
“Description” : “Name of an existing EC2 KeyPair to enable SSH access to the instances”,
“Type”: “String”,
“MinLength”: “1”,
“MaxLength”: “255”,
“AllowedPattern” : “[x20-x7E]*”,
“ConstraintDescription” : “can contain only ASCII characters.”
},

“InstanceType” : {
“Description” : “WebServer EC2 instance type”,
“Type” : “String”,
“Default” : “m1.small”,
“AllowedValues” : [ “t1.micro”,”m1.small”,”m1.medium”,”m1.large”,”m1.xlarge”,”m2.xlarge”,”m2.2xlarge”,”m2.4xlarge”,”m3.xlarge”,”m3.2xlarge”,”c1.medium”,”c1.xlarge”,”cc1.4xlarge”,”cc2.8xlarge”,”cg1.4xlarge”],
“ConstraintDescription” : “must be a valid EC2 instance type.”
},

“DBClass” : {
“Default” : “db.m1.small”,
“Description” : “Database instance class”,
“AllowedValues” : [ “db.m1.small”,“db.m1.large”,“db.m1.xlarge”,“db.m2.xlarge”,“db.m2.2xlarge”,“db.m2.4xlarge” ],
“ConstraintDescription” : “must select a valid database instance type.”
},

“DBName” : {
“Default”: “wordpress”,
“Description” : “The WordPress database name”,
“MaxLength”: “64”,
“AllowedPattern” : “[a-zA-Z][a-zA-Z0-9]*”,
“ConstraintDescription” : “must begin with a letter and contain only alphanumeric characters.”
},

“DBUsername” : {
“Default”: “admin”,
“NoEcho”: “true”,
“Description” : “The WordPress database admin account username”,
“MaxLength”: “16”,

“DBPassword” : {
“Default”: “password”,
“Description” : “The WordPress database admin account password”,
“MinLength”: “8”,
“MaxLength”: “41”,
“AllowedPattern” : “[a-zA-Z0-9]*”,
“ConstraintDescription” : “must contain only alphanumeric characters.”
},

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读