注:本文内容均来自网络,我只是在此做了一些摘抄和整理的工作,来源均有注明。
1、AWS CloudFormation
“AWS CloudFormation 向开发人员和系统管理员提供了一种简便地创建和管理一批相关的 AWS 资源的方法,并通过有序且可预测的方式对其进行资源配置和更新。您可以使用AWS CloudFormation 的示例模板或自己创建模板来介绍 AWS 资源以及应用程序运行时所需的任何相关依赖项或运行时参数。
Heat的设计与实现基本与CloudFormation一致。
What is an AWS CloudFormation Template?
- A template is a declaration of the AWS resources that make up a stack.模板是构成一个栈的AWS的资源的声明。,使用JSON格式存储。
- 一个AWS CloudFormation模板由一个大括号开始,结束于同级的另一个大括号
- 在这些大括号中,你可以声明6个顶级的JSON对象:AWSTemplateFormatVersion,Description,Parameters,Mappings,Resources,和 Outputs。其中Resources对象是必填的,必须包括至少一项资源。(模板的格式版本、其说明和参数,以及创建堆栈所需的映射、条件、资源和输出。格式版本、说明、参数、映像和输出都是可选项。)
-
- 格式版本(AWSTemplateFormatVersioin):模板格式版本指定了编写模板时依据的 AWS CloudFormation 模板版本。
- 可选说明(Description):通过可选说明属性,您可以将免费有效的 JSON 文本字符串与模板相关联。您可以记录模板的说明。该说明字符数最多为 4000 个字符。
- 可选参数(Parameters):可选参数将在参数部分列出。通过参数,您可以在运行时将数值传输至您的模板,同时也可以在模板的资源和输出部分解除参考。 参数中对参数进行了更全面的说明。另外,有关 Parameters 部分格式的技术详细信息,请参阅参数声明。
- 可选映像(Mappings):通过可选映像部分,您可以声明条件值。可在 Resources 和 Outputs 部分使用内部函数 Fn::FindInMap 取消映射引用。 映像中对映射进行了更全面的说明。另外,有关 Mappings 部分格式的技术详细信息,请参阅映射声明。
- 可选条件(Conditions):在可选的“条件”部分,您可以定义用于控制是否创建某些资源或者是否在堆栈创建或更新过程中为某些资源属性分配值的条件。例如,您可以根据堆栈是用于生产环境还是用于测试环境来按照条件创建资源。 有关定义条件的更多信息,请参阅条件。
- 资源(Resources):资源部分将列出堆栈的成员资源。每项资源将予以分别列明,并指定创建此特定资源所必需的资源属性。可在资源和输出部分取消资源参考。它们的属性将基于文本、资源、参数、和内部函数。 资源中对资源进行了更全面的说明。有关 Resources 部分格式的技术详细信息,请参阅资源声明。
- 资源属性(Properties):如果资源无需声明任何属性,那么您可以忽略此资源的属性部分。资源属性将基于文本、资源、参数、和内部函数。 资源属性中对资源属性进行了更全面的说明。另外,有关 Properties 部分格式的技术详细信息,请参阅属性声明。
- 可选输出(Outputs): 在 Outputs 部分,您可以选择对响应
aws cloudformation describe-stacks
命令而返回的自定义值进行定义。这些输出值将包括基于文本、资源、参数、虚拟参数和内部函数的信息。 输出中对输出进行了更全面的说明。另外,有关 Outputs 部分格式的技术详细信息,请参阅输出声明。 - 参考(Ref): 内部函数
Ref
返回指定的参数或资源的值。 使用 Ref 函数,您可以指定任何资源的逻辑名称,以取消对其他资源、输出、参数或内部函数的值的引用。 - 固有功能(内建函数):
名称 目的 实参 base64 编码。
从指定映像返回密钥数值。
返回指定资源的属性值。