第 1 步:下载亚马逊 CloudFormation 模板 - Amazon Services Catalog
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

第 1 步:下载亚马逊 CloudFormation 模板

要预置和配置产品组合及产品,您可以使用 Amazon CloudFormation matsion 模板,这是 JSON 或 YAML 格式的文本文件。有关更多信息,请参阅 。模板格式中的Amazon CloudFormation 用户指南。这些模板描述要预置的资源。您可以使用 Amazon CloudFormation 辑器或任意文本编辑器创建和保存模板。在本教程中,我们提供了一个简单模板来帮助您入门。此模板启动为 SSH 访问而配置的单个 Linux 实例。

模板下载

为本教程提供的示例模板development-environment.template,在中可用https://awsdocs.s3.amazonaws.com/servicecatalog/development-environment.template

模板概述

示例模板的文本如下所示:

{ "AWSTemplateFormatVersion" : "2010-09-09", "Description" : "AWS Service Catalog sample template. Creates an Amazon EC2 instance running the Amazon Linux AMI. The AMI is chosen based on the region in which the stack is run. This example creates an EC2 security group for the instance to give you SSH access. **WARNING** This template creates an Amazon EC2 instance. You will be billed for the AWS resources used if you create a stack from this template.", "Parameters" : { "KeyName": { "Description" : "Name of an existing EC2 key pair for SSH access to the EC2 instance.", "Type": "AWS::EC2::KeyPair::KeyName" }, "InstanceType" : { "Description" : "EC2 instance type.", "Type" : "String", "Default" : "t2.micro", "AllowedValues" : [ "t2.micro", "t2.small", "t2.medium", "m3.medium", "m3.large", "m3.xlarge", "m3.2xlarge" ] }, "SSHLocation" : { "Description" : "The IP address range that can SSH to the EC2 instance.", "Type": "String", "MinLength": "9", "MaxLength": "18", "Default": "0.0.0.0/0", "AllowedPattern": "(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})/(\\d{1,2})", "ConstraintDescription": "Must be a valid IP CIDR range of the form x.x.x.x/x." } }, "Metadata" : { "AWS::CloudFormation::Interface" : { "ParameterGroups" : [{ "Label" : {"default": "Instance configuration"}, "Parameters" : ["InstanceType"] },{ "Label" : {"default": "Security configuration"}, "Parameters" : ["KeyName", "SSHLocation"] }], "ParameterLabels" : { "InstanceType": {"default": "Server size:"}, "KeyName": {"default": "Key pair:"}, "SSHLocation": {"default": "CIDR range:"} } } }, "Mappings" : { "AWSRegionArch2AMI" : { "us-east-1" : { "HVM64" : "ami-08842d60" }, "us-west-2" : { "HVM64" : "ami-8786c6b7" }, "us-west-1" : { "HVM64" : "ami-cfa8a18a" }, "eu-west-1" : { "HVM64" : "ami-748e2903" }, "ap-southeast-1" : { "HVM64" : "ami-d6e1c584" }, "ap-northeast-1" : { "HVM64" : "ami-35072834" }, "ap-southeast-2" : { "HVM64" : "ami-fd4724c7" }, "sa-east-1" : { "HVM64" : "ami-956cc688" }, "cn-north-1" : { "HVM64" : "ami-ac57c595" }, "eu-central-1" : { "HVM64" : "ami-b43503a9" } } }, "Resources" : { "EC2Instance" : { "Type" : "AWS::EC2::Instance", "Properties" : { "InstanceType" : { "Ref" : "InstanceType" }, "SecurityGroups" : [ { "Ref" : "InstanceSecurityGroup" } ], "KeyName" : { "Ref" : "KeyName" }, "ImageId" : { "Fn::FindInMap" : [ "AWSRegionArch2AMI", { "Ref" : "AWS::Region" }, "HVM64" ] } } }, "InstanceSecurityGroup" : { "Type" : "AWS::EC2::SecurityGroup", "Properties" : { "GroupDescription" : "Enable SSH access via port 22", "SecurityGroupIngress" : [ { "IpProtocol" : "tcp", "FromPort" : "22", "ToPort" : "22", "CidrIp" : { "Ref" : "SSHLocation"} } ] } } }, "Outputs" : { "PublicDNSName" : { "Description" : "Public DNS name of the new EC2 instance", "Value" : { "Fn::GetAtt" : [ "EC2Instance", "PublicDnsName" ] } }, "PublicIPAddress" : { "Description" : "Public IP address of the new EC2 instance", "Value" : { "Fn::GetAtt" : [ "EC2Instance", "PublicIp" ] } } } }

模板资源

模板声明在启动产品时将创建的资源。它包含以下部分:

  • AWSED 格式版本— 的版本Amazon 模板格式用于创建此模板。

  • 说明— 模板描述。

  • 参数— 用户必须指定的用于启动产品的参数。对于每个参数,模板包含一个说明,还有键入的值必须满足的约束。有关约束的更多信息,请参阅使用亚马逊 Service Catalog 约束

    这些区域有:KeyName参数允许您指定 Amazon Elastic Compute Cloud (Amazon EC2) key pair 名称,最终用户使用 Amazon Service Catalog 启动您的产品时必须提供该名称。您将在接下来的步骤中创建密钥对。

  • Metadata— 定义有关模板的详细信息的可选部分。AWS::CloudFormation::Interface 密钥定义最终用户控制台视图显示参数的方式。ParameterGroups 属性定义如何对参数分组以及这些组的标题。ParameterLabels 属性定义容易记住的参数名称。当用户指定参数来启动基于此模板的产品时,最终用户控制台视图在标题 Server size: 下显示标记为 Instance configuration 的参数,并在标题 Key pair: 下显示标记为 CIDR range:Security configuration 的参数。

  • 映像— Amazon Web Services 区域和对应于每个区域的 Amazon 系统映像 (AMI) 的列表。Amazon Service Catalog 使用映射根据用户在 Amazon Web 服务管理控制台中选择的 Amazon Web 服务区域确定要使用的 AMI。

  • 资源— 运行 Amazon Linux 的 EC2 实例和允许通过 SSH 访问该实例的安全组。EC2 实例资源的 Properties 部分使用用户键入的信息来配置实例类型和 SSH 访问的密钥名称。

    Amazon CloudFormation matFormatFormatVersion 使用当前 Amazon Web Services 区域从之前定义的映射中选择 AMI ID 并向其分配安全组。安全组已配置为允许端口 22 上来自用户指定的 CIDR IP 地址范围的入站访问。

  • 输出— 告知用户产品启动完成的时间的文本。提供的模板获得已启动实例的公有 DNS 名称并将其显示给用户。用户需要此 DNS 名称来使用 SSH 连接到实例。