本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS::Serverless::CapacityProvider
為啟用在客戶擁有的 Amazon Elastic Compute Cloud 執行個體上執行 Lambda 受管執行個體的 AWS Lambda 函數建立容量提供者。此資源是 Lambda 受管執行個體功能的一部分,可透過使用 Amazon EC2 定價模型,為大規模 Lambda 工作負載提供成本最佳化。
容量提供者會管理 Amazon EC2 執行個體的生命週期,並為 Lambda 函數提供必要的基礎設施,以在客戶擁有的運算資源上執行,同時維護無伺服器程式設計模型。
注意
當您部署到 時 AWS CloudFormation, 會將您的 AWS SAM 資源 AWS SAM CloudFormation 轉換為 資源。如需詳細資訊,請參閱為 產生 CloudFormation 資源 AWS SAM。
語法
若要在 AWS Serverless Application Model (AWS SAM) 範本中宣告此實體,請使用下列語法。
YAML
Type: AWS::Serverless::CapacityProvider Properties: CapacityProviderName:StringVpcConfig:VpcConfigOperatorRole:StringTags:MapPropagateTags:BooleanInstanceRequirements:InstanceRequirementsScalingConfig:ScalingConfigKmsKeyArn:String
Properties
-
CapacityProviderName -
容量提供者的名稱。此名稱在 AWS 您的帳戶和區域中必須是唯一的。
類型:字串
必要:否
CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::CapacityProvider資源的CapacityProviderName屬性。 -
VpcConfig -
容量提供者的 VPC 組態。指定要啟動 Amazon EC2 執行個體的 VPC 子網路和安全群組。
類型:VpcConfig
必要:是
CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::CapacityProvider資源的VpcConfig屬性。 -
OperatorRole -
Lambda 運算子角色的 ARN,具有在客戶帳戶中建立和管理 Amazon EC2 執行個體和相關資源的許可。如果未提供, AWS SAM 會自動產生具有必要許可的角色。
類型:字串
必要:否
CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::CapacityProvider資源PermissionsConfig的CapacityProviderOperatorRoleArn屬性。 -
要套用至容量提供者及其相關聯資源的鍵/值對映射。
類型:映射
必要:否
CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::CapacityProvider資源的Tags屬性。中的Tags屬性 AWS SAM 包含鍵值對 (而 CloudFormation 此屬性包含標籤物件清單)。此外, AWS SAM 會自動將lambda:createdBy:SAM標籤新增至此 Lambda 函數,以及新增至為此函數產生的預設角色。 -
指出是否將標籤從標籤屬性傳遞至您
AWS::Serverless::CapacityProvider產生的資源。將此設定為True以在產生的資源中傳播標籤。類型:布林值
必要:否
CloudFormation 相容性:此屬性對 是唯一的 AWS SAM ,並且沒有 CloudFormation 同等屬性。
-
InstanceRequirements -
容量提供者可以使用之運算執行個體類型的規格。這包括架構需求和
allowed或excluded執行個體類型。必要:否
CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::CapacityProvider資源的InstanceRequirements屬性。 -
ScalingConfig -
容量提供者的擴展組態。定義容量提供者如何根據需求擴展 Amazon EC2 執行個體。
必要:否
CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::CapacityProvider資源的CapacityProviderScalingConfig屬性。 -
KmsKeyArn -
用於加密容量提供者靜態和傳輸中資料的 AWS KMS 金鑰 ARN。
類型:字串
必要:否
CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::CapacityProvider資源的KmsKeyArn屬性。
傳回值
Ref
當將此資源的邏輯 ID 提供給Ref內部 函數時,它會傳回容量提供者的名稱。
如需使用 Ref函數的詳細資訊,請參閱AWS CloudFormation 《 使用者指南Ref》中的 。
Fn::GetAtt
Fn::GetAtt 會傳回此類型之指定屬性的值。以下為可用屬性及傳回值的範例。
如需使用 的詳細資訊Fn::GetAtt,請參閱AWS 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