

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

# AWS::Serverless::CapacityProvider
<a name="sam-resource-capacityprovider"></a>

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

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

**注記**  
にデプロイすると AWS CloudFormation、 は AWS SAM リソースを CloudFormation リソース AWS SAM に変換します。詳細については、「[の生成済み CloudFormation リソース AWS SAM](sam-specification-generated-resources.md)」を参照してください。

## 構文
<a name="sam-resource-capacityprovider-syntax"></a>

 AWS Serverless Application Model (AWS SAM) テンプレートでこのエンティティを宣言するには、次の構文を使用します。

### YAML
<a name="sam-resource-capacityprovider-syntax.yaml"></a>

```
Type: AWS::Serverless::CapacityProvider
Properties:
  [CapacityProviderName](#sam-capacityprovider-capacityprovidername): String
  [VpcConfig](#sam-capacityprovider-vpcconfig): VpcConfig
  [OperatorRole](#sam-capacityprovider-operatorrole): String
  [Tags](#sam-capacityprovider-tags): Map
  [PropagateTags](#sam-capacityprovider-propagatetags): Boolean
  [InstanceRequirements](#sam-capacityprovider-instancerequirements): InstanceRequirements
  [ScalingConfig](#sam-capacityprovider-scalingconfig): ScalingConfig
  [KmsKeyArn](#sam-capacityprovider-kmskeyarn): String
```

## プロパティ
<a name="sam-resource-capacityprovider-properties"></a>

 `CapacityProviderName`   <a name="sam-capacityprovider-capacityprovidername"></a>
容量プロバイダーの名前。この名前は、 AWS アカウントとリージョン内で一意である必要があります。  
*タイプ*: 文字列  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::CapacityProvider`リソースの `[CapacityProviderName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-capacityprovidername)`プロパティに直接渡されます。

 `VpcConfig`   <a name="sam-capacityprovider-vpcconfig"></a>
キャパシティープロバイダーの VPC 設定。Amazon EC2 インスタンスを起動する VPC サブネットとセキュリティグループを指定します。  
*タイプ*: [VpcConfig](sam-property-capacityprovider-vpcconfig.md)  
*必須:* はい  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::CapacityProvider`リソースの `[VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-vpcconfig)`プロパティに直接渡されます。

 `OperatorRole`   <a name="sam-capacityprovider-operatorrole"></a>
 カスタマーアカウントで Amazon EC2 インスタンスおよび関連リソースを作成および管理するためのアクセス許可を持つ Lambda のオペレーターロールの ARN。指定しない場合、 は必要なアクセス許可を持つロール AWS SAM を自動的に生成します。  
*タイプ*: 文字列  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::CapacityProvider`リソース`[PermissionsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-permissionsconfig)`の `[CapacityProviderOperatorRoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityproviderpermissionsconfig.html#cfn-lambda-capacityprovider-capacityproviderpermissionsconfig-capacityprovideroperatorrolearn)`プロパティに直接渡されます。

 `Tags`   <a name="sam-capacityprovider-tags"></a>
キャパシティープロバイダーとその関連リソースに適用するキーと値のペアのマップ。  
*タイプ*: マップ  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::CapacityProvider`リソースの `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-tags)`プロパティに直接渡されます。の `Tags`プロパティ AWS SAM はキーと値のペアで構成されます ( CloudFormation このプロパティは Tag オブジェクトのリストで構成されます）。また、 は、この Lambda 関数と、この関数用に生成されたデフォルトのロールに`lambda:createdBy:SAM`タグ AWS SAM を自動的に追加します。

 `PropagateTags`   <a name="sam-capacityprovider-propagatetags"></a>
 タグプロパティから`AWS::Serverless::CapacityProvider`生成されたリソースにタグを渡すかどうかを示します。これを に設定すると`True`、生成されたリソースにタグが伝播されます。  
型: ブール  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `InstanceRequirements`   <a name="sam-capacityprovider-instancerequirements"></a>
 キャパシティープロバイダーが使用できるコンピューティングインスタンスのタイプに関する仕様。これには、アーキテクチャ要件や`allowed``excluded`インスタンスタイプが含まれます。  
タイプ: [InstanceRequirements](sam-property-capacityprovider-instancerequirements.md)**  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::CapacityProvider`リソースの `[InstanceRequirements](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-instancerequirements)`プロパティに直接渡されます。

 `ScalingConfig`   <a name="sam-capacityprovider-scalingconfig"></a>
 キャパシティープロバイダーのスケーリング設定。キャパシティプロバイダーが需要に基づいて Amazon EC2 インスタンスをスケーリングする方法を定義します。  
*Type*: [ScalingConfig](sam-property-capacityprovider-scalingconfig.md)  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::CapacityProvider`リソースの `[CapacityProviderScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig)`プロパティに直接渡されます。

 `KmsKeyArn`   <a name="sam-capacityprovider-kmskeyarn"></a>
キャパシティープロバイダーの保管中および転送中のデータの暗号化に使用される AWS KMS キーの ARN。  
*タイプ*: 文字列  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::CapacityProvider`リソースの `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-kmskeyarn)`プロパティに直接渡されます。

## 戻り値
<a name="sam-resource-capacityprovider-return-values"></a>

### 参照番号
<a name="sam-resource-capacityprovider-return-values-ref"></a>

このリソースの論理 ID が`Ref`組み込み 関数に提供されると、キャパシティープロバイダーの名前が返されます。

`Ref` 関数の使用方法の詳細については、「AWS CloudFormation ユーザーガイド」の「[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)」を参照してください。

### Fn::GetAtt
<a name="sam-resource-capacityprovider-return-values-fn--getatt"></a>

`Fn::GetAtt` は、このタイプの指定された属性の値を返します。利用可能な属性とサンプル戻り値は以下のとおりです。

`Fn::GetAtt` の使用の詳細については、「AWS CloudFormation ユーザーガイド」の「[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html)」を参照してください。

`Arn`  <a name="Arn-fn::getatt"></a>
キャパシティープロバイダーの ARN。

## 例
<a name="sam-resource-capacityprovider-examples"></a>

### 基本的なキャパシティープロバイダー
<a name="sam-resource-capacityprovider-examples-basic"></a>

次の例では、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
```

### スケーリングを備えた高度なキャパシティープロバイダー
<a name="sam-resource-capacityprovider-examples-advanced"></a>

次の例では、カスタムインスタンス要件とスケーリング設定を使用してキャパシティープロバイダーを作成します。

```
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
```