本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS::Serverless::CapacityProvider
为允许在客户拥有的 Amazon 弹性计算云实例上运行 Lambda 托管实例的 Amazon Lambda 函数创建容量提供程序。该资源是 Lambda 托管实例功能的一部分,该功能利用定价模型为大规模 Lambda 工作负载提供成本优化。 EC2
容量提供商管理 EC2 实例的生命周期,并提供必要的基础架构,让 Lambda 函数在客户拥有的计算资源上执行,同时维护无服务器编程模型。
注意
部署到时 Amazon CloudFormation, Amazon SAM 会将您的 Amazon SAM 资源转换为 Amazon CloudFormation 资源。有关更多信息,请参阅 为 Amazon SAM 生成的 Amazon CloudFormation 资源。
语法
要在 Amazon Serverless Application Model (Amazon SAM) 模板中声明此实体,请使用以下语法。
YAML
Type: AWS::Serverless::CapacityProvider Properties: CapacityProviderName:StringVpcConfig:VpcConfigOperatorRole:StringTags:MapPropagateTags:BooleanInstanceRequirements:InstanceRequirementsScalingConfig:ScalingConfigKMSKeyArn:String
Properties
-
CapacityProviderName -
容量提供程序的名称。此名称在您的 Amazon 账户和地区内必须是唯一的。
类型:字符串
必需:否
Amazon CloudFormation 兼容性:此属性类似于
AWS::Lambda::CapacityProvider资源的CapacityProviderName属性。 -
VpcConfig -
容量提供商的 VPC 配置。指定将在其中启动 Amazon EC2 实例的 VPC 子网和安全组。
类型:VpcConfig
必需:是
Amazon CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::CapacityProvider资源的VpcConfig属性。 -
OperatorRole -
有权在客户账户中创建和管理亚马逊 EC2 实例及相关资源的 Lambda 操作员角色的 ARN。如果未提供,则会 Amazon SAM 自动生成具有必要权限的角色。
类型:字符串
必需:否
Amazon CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::CapacityProvider资源的PermissionsConfig属性。 -
应用于容量提供商及其关联资源的键值对映射。
类型:映射
必需:否
Amazon CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::CapacityProvider资源的Tags属性。中的Tags属性由键值对 Amazon SAM 组成(而 Amazon CloudFormation 在此属性中则由标签对象的列表组成)。此外,还 Amazon SAM 会自动向此 Lambda 函数以及为此函数生成的默认角色添加lambda:createdBy:SAM标签。 -
表示是否将标签从 Tags 属性传递到
AWS::Serverless::CapacityProvider生成的资源。将其设置True为可在生成的资源中传播标签。类型:布尔值
必需:否
Amazon CloudFormation 兼容性:此属性是独有的 Amazon SAM ,没有 Amazon CloudFormation 等效属性。
-
InstanceRequirements -
容量提供商可以使用的计算实例类型的规范。这包括架构要求和
allowed/或excluded实例类型。必需:否
Amazon CloudFormation 兼容性:将此属性 Amazon SAM 映射到
InstanceRequirements。 -
ScalingConfig -
容量提供商的扩展配置。定义容量提供商如何根据需求扩展 Amazon EC2 实例。
必需:否
Amazon CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::CapacityProvider资源的CapacityProviderScalingConfig属性 -
KMSKeyArn -
用于为容量提供商加密静态数据和传输中数据的密 Amazon KMS 钥的 ARN。
类型:字符串
必需:否
Amazon CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::Function资源的KmsKeyArn属性。
返回值
Ref
当向Ref内部函数提供此资源的逻辑 ID 时,它会返回容量提供者的名称。
有关使用 Ref 函数的更多信息,请参阅《Amazon CloudFormation 用户指南》中的 Ref。
Fn:: GetAtt
Fn::GetAtt 返回一个此类型指定属性的值。以下为可用属性和示例返回值。
有关使用 Fn::GetAtt 的更多信息,请参阅《Amazon CloudFormation 用户指南》中的 Fn::GetAtt。
Arn-
容量提供商的 ARN。
示例
基本容量提供商
以下示例创建了一个具有 VPC 配置的基本容量提供商。
MyCapacityProvider: Type: AWS::Serverless::CapacityProvider Properties: CapacityProviderName:my-capacity-providerVpcConfig: SubnetIds: -subnet-12345678-subnet-87654321SecurityGroupIds: -sg-12345678Tags: Environment: Production Team: ServerlessTeam
具有扩展功能的高级容量提供商
以下示例创建了一个具有自定义实例要求和扩展配置的容量提供商。
AdvancedCapacityProvider: Type: AWS::Serverless::CapacityProvider Properties: CapacityProviderName:advanced-capacity-providerVpcConfig: SubnetIds: -subnet-12345678-subnet-87654321SecurityGroupIds: -sg-12345678OperatorRole: arn:aws:iam::123456789012:role/MyCapacityProviderRolePropagateTags: true InstanceRequirements: Architectures: - x86_64 ExcludedTypes: - t2.micro ScalingConfig: MaxInstanceCount: 10 ManualScalingPolicies: AverageCPUUtilization: 70.0 KMSKeyArn: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012Tags: Environment: Production CostCenter: Engineering