

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

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

# VpcConfig
<a name="sam-property-capacityprovider-vpcconfig"></a>

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

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

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

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

```
[SubnetIds](#sam-capacityprovider-vpcconfig-subnetids): List
[SecurityGroupIds](#sam-capacityprovider-vpcconfig-securitygroupids): List
```

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

 `SubnetIds`   <a name="sam-capacityprovider-vpcconfig-subnetids"></a>
EC2 インスタンスが起動されるサブネット IDs のリスト。少なくとも 1 つのサブネットを指定する必要があります。  
*タイプ*: リスト  
*必須:* はい  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::CapacityProvider`リソース`[VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-vpcconfig) `の `[SubnetIds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityprovidervpcconfig.html#cfn-lambda-capacityprovider-capacityprovidervpcconfig-subnetids)`プロパティに直接渡されます。

 `SecurityGroupIds`   <a name="sam-capacityprovider-vpcconfig-securitygroupids"></a>
EC2 インスタンスに関連付けるセキュリティグループ IDs のリスト。指定しない場合、VPC のデフォルトのセキュリティグループが使用されます。  
*タイプ*: リスト  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::CapacityProvider`リソースの `[SecurityGroupIds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityprovidervpcconfig.html#cfn-lambda-capacityprovider-capacityprovidervpcconfig-securitygroupids)` `[VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-vpcconfig)`プロパティに直接渡されます。

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

### VPC の構成
<a name="sam-property-capacityprovider-vpcconfig-examples-basic"></a>

次の例は、複数のサブネットとセキュリティグループを持つ VPC 設定を示しています。

```
VpcConfig:
  SubnetIds:
    - subnet-12345678
    - subnet-87654321
  SecurityGroupIds:
    - sg-12345678
    - sg-87654321
```

# InstanceRequirements
<a name="sam-property-capacityprovider-instancerequirements"></a>

アーキテクチャやインスタンスタイプの制約など、キャパシティープロバイダーによって起動される EC2 インスタンスの要件を指定します。

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

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

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

```
[Architectures](#sam-capacityprovider-instancerequirements-architectures): List
[AllowedTypes](#sam-capacityprovider-instancerequirements-allowedtypes): List
[ExcludedTypes](#sam-capacityprovider-instancerequirements-excludedtypes): List
```

**注記**  
キャパシティープロバイダーのインスタンス要件を定義する`ExcludedTypes`ときに、 `AllowedTypes`または のいずれかを指定できますが、両方を指定することはできません。

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

 `Architectures`   <a name="sam-capacityprovider-instancerequirements-architectures"></a>
キャパシティープロバイダーインスタンスの命令セットアーキテクチャ。  
*有効な値*: `x86_64` または `arm64`  
*タイプ*: リスト  
*必須:* いいえ  
*デフォルト*: `x86_64`  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::CapacityProvider`リソース`[InstanceRequirements](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-instancerequirements)`の `[Architectures](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-instancerequirements.html#cfn-lambda-capacityprovider-instancerequirements-architectures)`プロパティに直接渡されます。

 `AllowedTypes`   <a name="sam-capacityprovider-instancerequirements-allowedtypes"></a>
キャパシティープロバイダーインスタンスで許可される EC2 インスタンスタイプのリスト。  
*タイプ*: リスト  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::CapacityProvider`リソース`[InstanceRequirements](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-instancerequirements)`の `[AllowedInstanceTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-instancerequirements.html#cfn-lambda-capacityprovider-instancerequirements-allowedinstancetypes)`プロパティに直接渡されます。

 `ExcludedTypes`   <a name="sam-capacityprovider-instancerequirements-excludedtypes"></a>
キャパシティープロバイダーから除外する EC2 インスタンスタイプのリスト。  
*タイプ*: リスト  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::CapacityProvider`リソース`[InstanceRequirements](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-instancerequirements)`の `[ExcludedInstanceTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-instancerequirements.html#cfn-lambda-capacityprovider-instancerequirements-excludedinstancetypes)`プロパティに直接渡されます。

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

### インスタンス要件の設定
<a name="sam-property-capacityprovider-instancerequirements-examples-basic"></a>

次の例は、特定のアーキテクチャとインスタンスタイプの制約を持つインスタンス要件を示しています。

```
InstanceRequirements:
  Architectures:
    - x86_64
  ExcludedTypes:
    - t2.micro
```

# ScalingConfig
<a name="sam-property-capacityprovider-scalingconfig"></a>

最大インスタンス制限やスケーリングポリシーなど、キャパシティプロバイダーが需要に基づいて EC2 インスタンスをスケーリングする方法を設定します。

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

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

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

```
[MaxVCpuCount](#sam-capacityprovider-scalingconfig-maxvcpucount): Integer
[AverageCPUUtilization](#sam-capacityprovider-scalingconfig-averagecpuutilization): Double
```

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

 `MaxVCpuCount`   <a name="sam-capacityprovider-scalingconfig-maxvcpucount"></a>
キャパシティープロバイダーがすべてのコンピューティングインスタンスにプロビジョニングできる vCPUs の最大数。  
*タイプ:* 整数  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::CapacityProvider`リソース`[CapacityProviderScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig)`の `[MaxVCpuCount](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityproviderscalingconfig.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig-maxvcpucount)`プロパティに直接渡されます。

 `AverageCPUUtilization`   <a name="sam-capacityprovider-scalingconfig-averagecpuutilization"></a>
スケーリング決定のターゲット平均 CPU 使用率 (0～100)。平均 CPU 使用率がこのしきい値を超えると、キャパシティープロバイダーは Amazon EC2 インスタンスをスケールアップします。指定した場合、 `[CapacityProviderScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig)` が `[ScalingMode](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityproviderscalingconfig.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig-scalingmode)`に設定`'Manual'`され、 が `[ScalingPolicies](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityproviderscalingconfig.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig-scalingpolicies)`に設定されている `AWS::Lambda::CapacityProvider`リソース AWS SAM を構築します`[{PredefinedMetricType: 'LambdaCapacityProviderAverageCPUUtilization', TargetValue: <this value>}]`。  
型: 倍精度  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のプロパティはありません。

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

### スケーリング設定
<a name="sam-property-capacityprovider-scalingconfig-examples-basic"></a>

次の例は、最大 VCpu 数と平均 CPU 使用率のスケーリング設定を示しています。

```
ScalingConfig:
  MaxVCpuCount: 10
  AverageCPUUtilization: 70.0
```