使用 CloudFormation 提供的参数类型来定义参数输入
在 CloudFormation 中,您可以通过在堆栈创建或更新期间提供输入值,从而使用参数来自定义堆栈。此功能使您的模板可以在不同的场景中重复使用并提高灵活性。
参数是在 CloudFormation 模板的 Parameters
部分中定义的。每个参数都有一个名称和一个类型,此外还可以配置其他设置,例如默认值和允许值。有关更多信息,请参阅 Parameters。
参数类型决定了参数可以接受的输入值种类。例如,Number
只接受数值,而 String
可接受文本输入。
CloudFormation 提供了可在模板中使用的预定义参数类型。这些类型有助于确保您输入的参数值有效且适合其预期用途。此外还可以确保预期输入格式的明确性,从而为控制台用户提供实用的文档。
CloudFormation 提供了两种预定义的参数类型:
-
AWS 特定参数类型 – 此类参数类型旨在根据具体的 AWS 资源要求来验证输入值。AWS 特定参数类型有助于确保您提供的值与相应的 AWS 资源兼容。例如,
AWS::EC2::KeyPair::KeyName
参数类型用于验证 Amazon EC2 密钥对名称。 -
Systems Manager 参数类型 – 这些参数类型允许您从 Systems Manager Parameter Store 中引用和检索值。例如,
AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>
参数类型会从 Systems Manager Parameter Store 中检索 EC2 AMI ID 的值。
在 Parameters
部分中定义参数后,您可以使用 Ref
函数在整个 CloudFormation 模板中引用参数值。
有关更多信息及示例,请参阅以下主题。
重要
强烈建议使用动态引用来限制对敏感配置定义(例如第三方凭证)的访问。有关更多信息,请参阅 使用动态引用获取存储在其他服务中的值。