AWS Toolkit for Visual Studio
用户指南

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

自定义用于部署的 AWS CloudFormation 模板

除了通过在部署向导中(或在独立部署工具的配置文件中)指定参数来修改部署外,您还可以通过提供自己的自定义 AWS CloudFormation 模板来修改部署。默认情况下,部署将自动使用存储在 Amazon Simple Storage Service (Amazon S3) 中的一组模板中的一个。此默认模板组包含适用于每个 AWS 区域的两个模板。这两个模板中的一个用于单个 Amazon Elastic Compute Cloud (Amazon EC2) 实例的部署;另一种则用于到 Amazon EC2 实例的负载均衡集的部署。您可使用这些模板作为自行创建的起点。

创建您自己的自定义模板#

  1. 复制对应于您的区域和您要执行的部署的类型的模板。下面提供了指向每个模板的链接。

    注意

    这些模板仅适用于下面列出的区域。

    美国东部(弗吉尼亚北部)

    美国西部(俄勒冈)

    美国西部(加利福尼亚北部)

    欧洲(爱尔兰)

    亚太区域(新加坡)

    亚太区域(东京)

    亚太区域(悉尼)

    南美洲(圣保罗)

如果您需要自行创建指向模板的链接,则每个链接的格式如下所示:

http://vstoolkit.amazonwebservices.com/CloudFormationTemplates/{template-name}

例如,对于美国西部(加利福尼亚北部)的单一实例模板,链接为:

http://vstoolkit.amazonwebservices.com/CloudFormationTemplates/SingleInstance-us-west-1.template

表中的链接显示了 HTTP 协议。HTTPS 协议也受支持。

  1. 编辑模板以根据您的特定需求进行修改。模板为文本文件,因此您可以使用任何标准文本编辑器编辑它们。模板中的部署信息以 JavaScript 对象表示法格式表示。编辑文件后,最好使用工具 (如 JSONLint) 重新验证 JSON 格式。

    模板文件包含三个部分:ParametersResourcesOutputs

    要将资源添加到您的部署,请将它们添加到模板的 Resources 部分。例如,您可以添加 Amazon RDS 数据库或 Amazon SNS 主题。要在部署时配置这些资源,请将参数添加到模板的 Parameters 部分。当您将新参数添加到模板时,AWS Toolkit 会将这些参数添加部署向导中显示的参数。您可以在部署向导中或独立部署工具的配置文件中指定这些参数的值。

    同样,您在模板的 Output 部分中指定的数据还将显示在部署向导以及 AWS 管理控制台中。您可以使用 Output 部分显示有关资源的部署后资源。例如,如果将 Amazon S3 存储桶添加到模板的 Resources 部分,则可使用 Outputs 部分显示该存储桶由系统自动生成的名称。

    有关编辑 AWS CloudFormation 模板的更多信息,请转到 CloudFormation 用户指南

  2. 将部署配置文件中的 Template 参数设置为您的自定义模板的路径。Template 参数位于该配置文件中的 General Settings 下。您指定的路径可以是本地硬盘上的文件的路径,也可以是指向远程服务器上的配置文件位置的 URL。当您下一次运行部署时,该工具将使用您的模板。

模板文件中的必需数据#

部署过程要求在模板文件中指定某个数据。在编辑模板的版本时,您必须确保它继续提供此数据。必需数据仅位于模板的 ParametersOutputs 部分。

模板的参数部分#

下表显示了该模板的 Parameters 部分中的必需参数。

名称 意义
InstanceType 要用于部署的 Amazon EC2 实例类型的“API 名称”。微型实例的示例为 t1.micro,超大型实例的示例为 m1.xlarge。有关实例类型和对应 API 名称的列表,请参阅 Amazon EC2 详细信息页面
KeyPair 要用于 Amazon EC2 实例的密钥对。
安全组 要用于 Amazon EC2 实例的安全组。
BucketName 在其中上传部署文件的 Amazon S3 存储桶。
ConfigFile 部署使用的配置文件的名称。
AmazonMachineImage 用于部署的 Amazon 系统映像 (AMI)。有关如何创建自定义 AMI 的更多信息,请转到 Elastic Beanstalk 开发人员指南中的使用自定义 AMI 以及从 Amazon EC2 实例创建 AMI。请注意,CloudFormation 部署中所使用的 AMI 上安装的 Host Manager 软件现在是自动更新的。因此,如果您从 CloudFormation AMI 之一来派生自定义 AMI,则无需维护 Host Manager 软件。但是,您仍需将操作系统和应用程序软件保持最新。
UserData 部署过程中向部署的应用程序提供的用户数据。

模板的输出部分#

下表显示了模板的 Outputs 部分中的必需输出。

名称 意义
存储桶 向其中上传部署文件的 Amazon S3 存储桶。
ConfigFile 用于部署的配置文件的名称。
VSToolkitDeployed 设置为 true 的布尔标志,这表示此堆栈已从 AWS Toolkit for Visual Studio 作为部署的一部分创建。如果通过独立部署工具完成部署,此标志也会设置为 true
URL 部署的应用程序的 URL。