View a markdown version of this page

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) 範本中宣告此實體,請使用下列語法。

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 屬性。

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

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

類型:InstanceRequirements

必要:否

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

ScalingConfig

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

類型:ScalingConfig

必要:否

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

LoggingConfig

使用 LoggingConfig 設定容量提供者的系統記錄。系統日誌會擷取擴展活動和操作事件,並以可設定的日誌層級將其傳送至 Amazon CloudWatch 日誌群組。

類型:CapacityProviderLoggingConfig

必要:否

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

KmsKeyArn

用於加密容量提供者靜態和傳輸中資料的 AWS KMS 金鑰 ARN。

類型:字串

必要:否

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

ManagedResourceTags

將明確標籤套用至容量提供者代您佈建的 Amazon Elastic Compute Cloud 執行個體和其他受管資源。

類型:ManagedResourceTags

必要:否

CloudFormation compatibility: AWS SAM 使用此屬性來建構 AWS::Lambda::CapacityProvider 資源的 PropagateTags 屬性。

傳回值

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 LoggingConfig: LogGroup: /aws/lambda/capacity-provider/advanced-capacity-provider SystemLogLevel: INFO ManagedResourceTags: Tags: CostCenter: cc-1234 Environment: Production Tags: Environment: Production CostCenter: Engineering