View a markdown version of this page

AWS::Serverless::MicrovmImage - 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::MicrovmImage

Crea una imagen de AWS Lambda microVM a partir de un artefacto de código almacenado en Amazon S3. Una imagen de microVM es una Firecracker instantánea creada a partir del código de una aplicación Dockerfile y que permite el inicio en menos de un segundo de las instancias de microVM.

nota

Al realizar la implementación en AWS CloudFormation, AWS SAM transforma AWS SAM los recursos en recursos. 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.

YAML

Type: AWS::Serverless::MicrovmImage Properties: AdditionalOsCapabilities: List BaseImageArn: String BaseImageVersion: String BuildRoleArn: String CodeUri: String CpuConfigurations: List Description: String EgressNetworkConnectors: List EnvironmentVariables: Map Hooks: Hooks Logging: Logging Name: String PropagateTags: Boolean Resources: List Tags: Map

Propiedades

AdditionalOsCapabilities

Capacidades de sistema operativo adicionales que se pueden conceder al entorno de ejecución de MicroVM. Si no especificas un valor, el servicio no otorga capacidades de sistema operativo adicionales.

Valores válidos: ALL

Tipo: lista

Obligatorio: no

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

BaseImageArn

El ARN de la imagen microVM base a partir de la cual se va a construir.

Tipo: cadena

Obligatorio: sí

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

BaseImageVersion

La versión de la imagen microVM base que se va a utilizar.

Tipo: cadena

Obligatorio: sí

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

BuildRoleArn

El ARN de la función de IAM que asume el servicio de compilación de microVM para descargar el artefacto de código de Amazon S3 y escribir los registros de compilación.

Tipo: cadena

Obligatorio: no

CloudFormation compatibilidad: esta propiedad es similar a la BuildRoleArn propiedad de un recurso. AWS::Lambda::MicrovmImage Esto es obligatorio en CloudFormation , pero no en AWS SAM. Si no especifica un rol, AWS SAM crea uno con un identificador lógico de<resource-logical-id>BuildRole. Si tu artefacto de código está cifrado con una clave gestionada por el cliente AWS KMS, debes proporcionar tu propia función con el kms:Decrypt permiso correspondiente.

CodeUri

El URI de Amazon S3 del artefacto zip que contiene el código de la aplicación Dockerfile y.

Tipo: cadena

Obligatorio: sí

CloudFormation compatibilidad: esta propiedad se transforma en la CodeArtifact propiedad de un AWS::Lambda::MicrovmImage recurso. AWS SAM envuelve el URI en la CodeArtifact.Uri estructura.

CpuConfigurations

Una lista de CpuConfigurationobjetos que especifican las arquitecturas de CPU compatibles con la microVM. Si no especificas un valor, el servicio utiliza la arquitectura de CPU predeterminada.

Tipo: lista

Obligatorio: no

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

Description

Descripción de la imagen de la microVM.

Tipo: cadena

Obligatorio: no

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

EgressNetworkConnectors

La lista de ARN de conectores de red de salida disponibles para la microVM en tiempo de ejecución.

Tipo: lista

Obligatorio: no

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

EnvironmentVariables

Variables de entorno configuradas en el entorno de ejecución de MicroVM.

Tipo: mapa

Obligatorio: no

CloudFormation compatibilidad: esta propiedad es similar a la EnvironmentVariables propiedad de un AWS::Lambda::MicrovmImage recurso. En AWS SAM, especifique como un mapa (por ejemplo,KEY: value). AWS SAM convierte al formato CloudFormation de matriz[{Key: KEY, Value: value}].

Hooks

Configuración de enlaces durante el ciclo de vida para imágenes de micromáquinas virtuales y micromáquinas virtuales.

Tipo: enlaces

Obligatorio: no

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

Logging

Configuración para la salida de registro de microVM. Especifique exactamente una: CloudWatch habilitar el CloudWatch registro o Disabled desactivarlo.

Type: Logging

Obligatorio: no

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

Name

El nombre de la imagen de la microVM.

Tipo: cadena

Obligatorio: sí

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

PropagateTags

Especifica si se deben pasar etiquetas de la Tags propiedad a los recursos generados, como el rol de compilación generado automáticamente.

Tipo: Booleano

Obligatorio: no

Valor predeterminado: False

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

Resources

Una lista de objetos de Resources que especifican los requisitos de recursos de la microVM.

Tipo: lista

Obligatorio: no

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

Tags

Un mapa de pares clave-valor que especifica las etiquetas agregadas a esta imagen de microVM.

Tipo: mapa

Obligatorio: no

CloudFormation compatibilidad: esta propiedad es similar a la Tags propiedad de un recurso. AWS::Lambda::MicrovmImage La Tags propiedad en se AWS SAM compone de pares clave-valor (mientras que en CloudFormation esta propiedad se compone de una lista de Tag objetos). Además, agrega AWS SAM automáticamente una lambda:createdBy:SAM etiqueta a esta imagen de microVM y a las funciones predeterminadas que se generan para ella.

valores devueltos

Ref.

Cuando se proporciona el ID lógico de este recurso a la función Ref intrínseca, devuelve el ARN de la imagen de la microVM.

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 .

Ventilador:: 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 .

CreatedAt

La marca de tiempo en que se creó la versión de imagen de microVM.

ImageArn

El ARN de la imagen de la microVM.

LatestActiveImageVersion

La última versión activa de la imagen de la microVM.

LatestFailedImageVersion

La última versión fallida de la imagen de la microVM, si la hay.

State

El estado actual de la imagen de la microVM.

UpdatedAt

La marca de tiempo en la que se actualizó por última vez la versión de la imagen de la microVM.

Ejemplos

Imagen microVM mínima

El siguiente ejemplo crea una imagen de microVM con solo las propiedades necesarias. AWS SAM genera automáticamente un rol de compilación.

AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Resources: MyMicroVM: Type: AWS::Serverless::MicrovmImage Properties: Name: my-app CodeUri: s3://my-bucket/app.zip BaseImageArn: arn:aws:lambda:us-east-2:aws:microvm-image:al2023-1 BaseImageVersion: "0"

Configuración completa de imágenes de microVM

El siguiente ejemplo crea una imagen de microVM con todas las propiedades disponibles configuradas.

AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Resources: MyMicroVM: Type: AWS::Serverless::MicrovmImage Properties: Name: my-app CodeUri: s3://my-bucket/app.zip BaseImageArn: arn:aws:lambda:us-east-2:aws:microvm-image:al2023-1 BaseImageVersion: "0" Description: "Production MicroVM application" CpuConfigurations: - Architecture: ARM_64 Resources: - MinimumMemoryInMiB: 1024 AdditionalOsCapabilities: - ALL EgressNetworkConnectors: - arn:aws:lambda:us-east-2:aws:network-connector:aws-network-connector:INTERNET_EGRESS Hooks: Port: 9000 MicrovmHooks: Run: ENABLED RunTimeoutInSeconds: 30 Suspend: ENABLED Resume: ENABLED MicrovmImageHooks: Ready: ENABLED ReadyTimeoutInSeconds: 60 EnvironmentVariables: LOG_LEVEL: info APP_ENV: production Logging: CloudWatch: LogGroup: /aws/lambda-microvms/my-app Tags: Environment: Production Team: Platform