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

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS::Serverless::CapacityProvider

顧客所有の Amazon Elastic Compute Cloud インスタンスで Lambda マネージドインスタンスを実行できるようにする AWS Lambda 関数のキャパシティープロバイダーを作成します。このリソースは、EC2 料金モデルを利用して大規模な Lambda ワークロードのコストを最適化する Lambda マネージドインスタンス機能の一部です。

キャパシティプロバイダーは EC2 インスタンスのライフサイクルを管理し、Lambda 関数がサーバーレスプログラミングモデルを維持しながら、顧客所有のコンピューティングリソースで実行するために必要なインフラストラクチャを提供します。

注記

にデプロイすると AWS CloudFormation、 は AWS SAM リソースを CloudFormation リソース AWS SAM に変換します。詳細については、「AWS SAM 向けに生成された CloudFormation リソース」を参照してください。

構文

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

プロパティ

CapacityProviderName

容量プロバイダーの名前。この名前は、 AWS アカウントとリージョン内で一意である必要があります。

タイプ: 文字列

必須: いいえ

CloudFormation 互換性: このプロパティは、 AWS::Lambda::CapacityProviderリソースの CapacityProviderNameプロパティに似ています。

VpcConfig

キャパシティープロバイダーの VPC 設定。Amazon EC2 インスタンスを起動する VPC サブネットとセキュリティグループを指定します。

タイプ: VpcConfig

必須: はい

CloudFormation 互換性: このプロパティは、 AWS::Lambda::CapacityProviderリソースの VpcConfigプロパティに直接渡されます。

OperatorRole

カスタマーアカウントで Amazon EC2 インスタンスおよび関連リソースを作成および管理するためのアクセス許可を持つ Lambda のオペレーターロールの ARN。指定しない場合、 は必要なアクセス許可を持つロール AWS SAM を自動的に生成します。

タイプ: 文字列

必須: いいえ

CloudFormation 互換性: このプロパティは、 AWS::Lambda::CapacityProviderリソースの PermissionsConfigプロパティに直接渡されます。

Tags

キャパシティープロバイダーとその関連リソースに適用するキーと値のペアのマップ。

タイプ: マップ

必須: いいえ

CloudFormation 互換性: このプロパティは、 AWS::Lambda::CapacityProviderリソースの Tagsプロパティに直接渡されます。の Tagsプロパティ AWS SAM はキーと値のペアで構成されます ( CloudFormation このプロパティは Tag オブジェクトのリストで構成されます)。また、 は、この Lambda 関数と、この関数用に生成されたデフォルトのロールにlambda:createdBy:SAMタグ AWS SAM を自動的に追加します。

PropagateTags

タグプロパティからAWS::Serverless::CapacityProvider生成されたリソースにタグを渡すかどうかを示します。これを に設定するとTrue、生成されたリソースにタグが伝播されます。

型: ブール

必須: いいえ

CloudFormation 互換性: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

InstanceRequirements

キャパシティープロバイダーが使用できるコンピューティングインスタンスのタイプに関する仕様。これには、アーキテクチャ要件やallowedexcludedインスタンスタイプが含まれます。

タイプ: InstanceRequirements

必須: いいえ

CloudFormation compatibility: はこのプロパティを に AWS SAM マッピングしますInstanceRequirements

ScalingConfig

キャパシティープロバイダーのスケーリング設定。キャパシティープロバイダーが需要に基づいて Amazon EC2 インスタンスをスケーリングする方法を定義します。

Type: ScalingConfig

必須: いいえ

CloudFormation 互換性: このプロパティは AWS::Lambda::CapacityProviderリソースの CapacityProviderScalingConfigプロパティに直接渡されます。

KMSKeyArn

キャパシティープロバイダーの保管中および転送中のデータの暗号化に使用される AWS KMS キーの ARN。

タイプ: 文字列

必須: いいえ

CloudFormation 互換性: このプロパティは、 AWS::Lambda::Functionリソースの KmsKeyArnプロパティに直接渡されます。

戻り値

参照番号

このリソースの論理 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