View a markdown version of this page

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

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

AWS::Serverless::CapacityProvider

Crea un proveedor de capacidad para AWS Lambda las funciones que permite ejecutar instancias administradas por Lambda en instancias de Amazon Elastic Compute Cloud propiedad del cliente. Este recurso forma parte de la función Lambda Managed Instances, que permite optimizar los costos de las cargas de trabajo de Lambda a gran escala mediante el uso de los modelos de precios de Amazon EC2.

El proveedor de capacidad administra el ciclo de vida de las instancias de Amazon EC2 y proporciona la infraestructura necesaria para que las funciones de Lambda se ejecuten en los recursos informáticos propiedad del cliente, manteniendo al mismo tiempo el modelo de programación sin servidor.

nota

Cuando lo implementa AWS CloudFormation, AWS SAM transforma sus recursos en recursos. AWS SAM CloudFormation Para obtener más información, consulte Generado CloudFormation recursos para AWS SAM.

Sintaxis

Para declarar esta entidad en tu plantilla AWS Serverless Application Model (AWS SAM), usa la siguiente sintaxis.

Propiedades

CapacityProviderName

El nombre del proveedor de capacidad. Este nombre debe ser único en tu AWS cuenta y región.

Tipo: cadena

Obligatorio: no

CloudFormation compatibilidad: esta propiedad se transfiere directamente a la CapacityProviderName propiedad de un AWS::Lambda::CapacityProvider recurso.

VpcConfig

La configuración de VPC para el proveedor de capacidad. Especifica las subredes y los grupos de seguridad de la VPC en los que se lanzarán las instancias de Amazon EC2.

Tipo: VpcConfig

Obligatorio: sí

CloudFormation compatibilidad: esta propiedad se transfiere directamente a la VpcConfig propiedad de un recurso. AWS::Lambda::CapacityProvider

OperatorRole

El ARN del rol de operador de Lambda con permisos para crear y administrar instancias de Amazon EC2 y los recursos relacionados en la cuenta del cliente. Si no se proporciona, genera AWS SAM automáticamente un rol con los permisos necesarios.

Tipo: cadena

Obligatorio: no

CloudFormation compatibilidad: esta propiedad se pasa directamente a la CapacityProviderOperatorRoleArn propiedad PermissionsConfig de un AWS::Lambda::CapacityProvider recurso.

Tags

Un mapa de pares clave-valor para aplicar al proveedor de capacidad y a sus recursos asociados.

Tipo: mapa

Obligatorio: no

CloudFormation compatibilidad: esta propiedad se pasa directamente a la Tags propiedad de un AWS::Lambda::CapacityProvider recurso. La Tags propiedad en AWS SAM consiste en pares clave-valor (mientras que en CloudFormation esta propiedad consiste en una lista de objetos de etiqueta). Además, agrega AWS SAM automáticamente una lambda:createdBy:SAM etiqueta a esta función de Lambda y a los roles predeterminados generados para esta función.

PropagateTags

Indica si se deben transferir o no las etiquetas de la propiedad Tags a los recursos AWS::Serverless::CapacityProvider generados. Configure esta opción True para propagar las etiquetas en los recursos generados.

Tipo: Booleano

Obligatorio: no

CloudFormation compatibilidad: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

InstanceRequirements

Especificaciones de los tipos de instancias de procesamiento que puede usar el proveedor de capacidad. Esto incluye los requisitos de arquitectura allowed o los tipos de excluded instancias.

Tipo: InstanceRequirements

Obligatorio: no

CloudFormation compatibilidad: esta propiedad se pasa directamente a la InstanceRequirements propiedad de un AWS::Lambda::CapacityProvider recurso.

ScalingConfig

La configuración de escalado del proveedor de capacidad. Define cómo el proveedor de capacidad escala las instancias de Amazon EC2 en función de la demanda.

Tipo: ScalingConfig

Obligatorio: no

CloudFormation compatibilidad: esta propiedad se transfiere directamente a la CapacityProviderScalingConfig propiedad de un AWS::Lambda::CapacityProvider recurso.

LoggingConfig

Se usa LoggingConfig para configurar el registro del sistema para el proveedor de capacidad. Los registros del sistema capturan la actividad de escalado y los eventos operativos y los envían a un grupo de CloudWatch registros de Amazon a un nivel de registro configurable.

Tipo: CapacityProviderLoggingConfig

Obligatorio: no

CloudFormation compatibilidad: esta propiedad se transfiere directamente a la LoggingConfig propiedad TelemetryConfig de un AWS::Lambda::CapacityProvider recurso.

KmsKeyArn

El ARN de la AWS KMS clave utilizada para cifrar los datos en reposo y en tránsito para el proveedor de capacidad.

Tipo: cadena

Obligatorio: no

CloudFormation compatibilidad: esta propiedad se pasa directamente a la KmsKeyArn propiedad de un AWS::Lambda::CapacityProvider recurso.

ManagedResourceTags

Aplica etiquetas explícitas a las instancias de Amazon Elastic Compute Cloud y a otros recursos gestionados que el proveedor de capacidad aprovisiona en su nombre.

Tipo: ManagedResourceTags

Obligatorio: no

CloudFormation compatibilidad: AWS SAM usa esta propiedad para construir la PropagateTags propiedad de un AWS::Lambda::CapacityProvider recurso.

valores devueltos

Ref.

Cuando se proporciona el identificador lógico de este recurso a la función Ref intrínseca, devuelve el nombre del proveedor de capacidad.

Para obtener más información sobre el uso de la función Ref, consulta Ref en la Guía del usuario de AWS CloudFormation .

Fn:: GetAtt

Fn::GetAtt devuelve un valor para un atributo especificado de este tipo. A continuación se indican los atributos disponibles y los valores devueltos de muestra.

Para obtener más información acerca de cómo usar Fn::GetAtt, consulta Fn::GetAtt en la Guía del usuario de AWS CloudFormation .

Arn

El ARN del proveedor de capacidad.

Ejemplos

Proveedor de capacidad básica

En el siguiente ejemplo, se crea un proveedor de capacidad básica con una configuración de 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

Proveedor de capacidad avanzada con escalado

En el siguiente ejemplo, se crea un proveedor de capacidad con requisitos de instancia personalizados y una configuración de escalado.

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