赞
踩
B站视频链接:https://www.bilibili.com/video/BV1Wd4y1i7PE/?spm_id_from=333.999.0.0
微信公众号:自刘地
首先提醒一下,AWS CloudFormation需要你具有一定的AWS相关知识,比如在AWS Console上创建过VPC和EC2等资源,因为AWS CloudFormation这个服务,就是用代码的方式来创建资源,如果你不会通过图形化的方式创建,那么很难通过代码的方式来理解。
利用AWS CloudFormation服务,可以让你通过代码的方式来创建AWS资源,这是AWS的基础架构即代码服务(IaC)。
为什么不在AWS Console界面来创建、删除资源,而是通过代码的方式来操作资源,主要有下面几个优势:
CloudFormation 模板就是你需要写的代码文件,模板是JSON
或YAML
格式的文本文件,你可以指定任何的扩展名称,例如.txt,后缀名并不会影响内容的读取。
下面是在模板里面定义创建一个VPC,分别用JSON和YAML格式来展现。JSON和YAML格式是可以相互转换的,但是YAML支持注释功能,所以我更习惯使用YAML格式来写模板,之后的CloudFormation模板的代码我都会使用YAML格式来写。
通过JSON
格式来创建一个VPC的代码,不用关心代码里面的字段,后面会讲解。
"MyTestVpc" : {
"Type" : "AWS::EC2::VPC",
"Properties" : {
"CidrBlock" : "10.0.0.0/16",
"EnableDnsSupport" : "true",
"EnableDnsHostnames" : "true",
"Tags" : [
{
"Key" : "Name", "Value" : "MyTestVpc"}
]
}
}
通过YAML
格式来创建一个VPC的代码。YAML格式写起来更加简单,你可以写单引号、双引号、不写引号,都是一样的。我一般不写引号,除非字符较多,会通过引号来分隔字符。YAML和Python语法一样,不同的层级,通过缩进来区分。
# 创建VPC
MyTestVpc:
Type: AWS::EC2::VPC
Properties:
CidrBlock: 10.0.0.0/16
EnableDnsSupport: true
EnableDnsHostnames: true
Tags:
- Key: Name
Value: MyTestVpc
下面是CloudFormation模板的所有字段,这是快速入门,只介绍最重要的一个字段,其他参考大家可以自己看文档模板格式[参考链接2],以后在其他文章中会陆续介绍这些参数。
Resources
:这是唯一的必选字段,定义模板要创建哪些资源,例如创建VPC、EC2等,模板的主要作用就是定义资源,模板里面其他字段都可以省略,但是必须定义资源字段。
---
AWSTemplateFormatVersion: "version date"
Description:
String
Metadata:
template metadata
Parameters:
set of parameters
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。