AWS::Serverless::CapacityProvider - AWS Serverless Application Model

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

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: String VpcConfig: VpcConfig OperatorRole: String Tags: Map PropagateTags: Boolean InstanceRequirements: InstanceRequirements ScalingConfig: ScalingConfig KmsKeyArn: 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 資源PermissionsConfigCapacityProviderOperatorRoleArn 屬性。

Tags

要套用至容量提供者及其相關聯資源的鍵/值對映射。

類型:映射

必要:否

CloudFormation 相容性:此屬性會直接傳遞至 AWS::Lambda::CapacityProvider 資源的 Tags 屬性。中的 Tags 屬性 AWS SAM 包含鍵值對 (而 CloudFormation 此屬性包含標籤物件清單)。此外, AWS SAM 會自動將lambda:createdBy:SAM標籤新增至此 Lambda 函數,以及新增至為此函數產生的預設角色。

PropagateTags

指出是否將標籤從標籤屬性傳遞至您AWS::Serverless::CapacityProvider產生的資源。將此設定為 True以在產生的資源中傳播標籤。

類型:布林值

必要:否

CloudFormation 相容性:此屬性對 是唯一的 AWS SAM ,並且沒有 CloudFormation 同等屬性。

InstanceRequirements

容量提供者可以使用之運算執行個體類型的規格。這包括架構需求和 allowedexcluded 執行個體類型。

類型InstanceRequirements

必要:否

CloudFormation 相容性:此屬性會直接傳遞至 AWS::Lambda::CapacityProvider 資源的 InstanceRequirements 屬性。

ScalingConfig

容量提供者的擴展組態。定義容量提供者如何根據需求擴展 Amazon EC2 執行個體。

類型ScalingConfig

必要:否

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-provider VpcConfig: SubnetIds: - subnet-12345678 - subnet-87654321 SecurityGroupIds: - sg-12345678 Tags: Environment: Production Team: ServerlessTeam

具有擴展功能的進階容量提供者

下列範例會建立具有自訂執行個體需求和擴展組態的容量提供者。

AdvancedCapacityProvider: Type: AWS::Serverless::CapacityProvider Properties: CapacityProviderName: advanced-capacity-provider VpcConfig: SubnetIds: - subnet-12345678 - subnet-87654321 SecurityGroupIds: - sg-12345678 OperatorRole: arn:aws:iam::123456789012:role/MyCapacityProviderRole PropagateTags: 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-123456789012 Tags: Environment: Production CostCenter: Engineering