View a markdown version of this page

AWS::Serverless::MicrovmImage - AWS Serverless Application Model

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

AWS::Serverless::MicrovmImage

Crée une image AWS Lambda microVM à partir d'un artefact de code stocké dans Amazon S3. Une image microVM est un Firecracker instantané créé à partir d'un code d'application Dockerfile et permettant un démarrage en moins d'une seconde pour les instances microVM.

Note

Lorsque vous déployez vers AWS CloudFormation, vos AWS SAM ressources sont AWS SAM transformées en CloudFormation ressources. Pour de plus amples informations, veuillez consulter Générées CloudFormation ressources pour AWS SAM.

Syntaxe

Pour déclarer cette entité dans votre modèle AWS Serverless Application Model (AWS SAM), utilisez la syntaxe suivante.

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

Propriétés

AdditionalOsCapabilities

Fonctionnalités de système d'exploitation supplémentaires à accorder à l'environnement d'exécution MicroVM. Si vous ne spécifiez aucune valeur, le service n'accorde aucune fonctionnalité supplémentaire au système d'exploitation.

Valeurs valides : ALL

Type : liste

Obligatoire : non

CloudFormation compatibilité : cette propriété est transmise directement à la AdditionalOsCapabilities propriété d'une AWS::Lambda::MicrovmImage ressource.

BaseImageArn

L'ARN de l'image microVM de base à partir de laquelle créer.

Type : chaîne

Obligatoire : oui

CloudFormation compatibilité : cette propriété est transmise directement à la BaseImageArn propriété d'une AWS::Lambda::MicrovmImage ressource.

BaseImageVersion

Version de l'image microVM de base à utiliser.

Type : chaîne

Obligatoire : oui

CloudFormation compatibilité : cette propriété est transmise directement à la BaseImageVersion propriété d'une AWS::Lambda::MicrovmImage ressource.

BuildRoleArn

L'ARN du rôle IAM assumé par le service de génération MicroVM pour télécharger votre artefact de code depuis Amazon S3 et écrire les journaux de compilation.

Type : chaîne

Obligatoire : non

CloudFormation compatibilité : cette propriété est similaire à celle BuildRoleArn d'une AWS::Lambda::MicrovmImage ressource. Ceci est obligatoire dans CloudFormation mais pas dans AWS SAM. Si vous ne spécifiez aucun rôle, AWS SAM créez-en un avec un ID logique de<resource-logical-id>BuildRole. Si votre artefact de code est chiffré à l'aide d'une clé gérée par le client AWS KMS, vous devez fournir à votre propre rôle l'kms:Decryptautorisation appropriée.

CodeUri

L'URI Amazon S3 de l'artefact zip contenant le code de l'application Dockerfile et.

Type : chaîne

Obligatoire : oui

CloudFormation compatibilité : cette propriété est transformée en CodeArtifact propriété d'une AWS::Lambda::MicrovmImage ressource. AWS SAM intègre l'URI à la CodeArtifact.Uri structure.

CpuConfigurations

Liste d'CpuConfigurationobjets qui spécifient les architectures de processeur prises en charge pour la microVM. Si vous ne spécifiez aucune valeur, le service utilise l'architecture de processeur par défaut.

Type : liste

Obligatoire : non

CloudFormation compatibilité : cette propriété est transmise directement à la CpuConfigurations propriété d'une AWS::Lambda::MicrovmImage ressource.

Description

Description de l'image microVM.

Type : chaîne

Obligatoire : non

CloudFormation compatibilité : cette propriété est transmise directement à la Description propriété d'une AWS::Lambda::MicrovmImage ressource.

EgressNetworkConnectors

La liste des ARN du connecteur réseau de sortie disponibles pour la microVM au moment de l'exécution.

Type : liste

Obligatoire : non

CloudFormation compatibilité : cette propriété est transmise directement à la EgressNetworkConnectors propriété d'une AWS::Lambda::MicrovmImage ressource.

EnvironmentVariables

Variables d'environnement définies dans l'environnement d'exécution MicroVM.

Type: carte (map)

Obligatoire : non

CloudFormation compatibilité : cette propriété est similaire à celle EnvironmentVariables d'une AWS::Lambda::MicrovmImage ressource. Dans AWS SAM, spécifiez sous forme de carte (par exemple,KEY: value). AWS SAM convertit au format CloudFormation tableau[{Key: KEY, Value: value}].

Hooks

Configuration du Lifecycle Hook pour les microVM et les images microVM.

Type : crochets

Obligatoire : non

CloudFormation compatibilité : cette propriété est transmise directement à la Hooks propriété d'une AWS::Lambda::MicrovmImage ressource.

Logging

Configuration pour la sortie de journalisation MicroVM. Spécifiez-en une seule : CloudWatch pour activer la CloudWatch journalisation ou Disabled pour désactiver la journalisation.

Type : Journalisation

Obligatoire : non

CloudFormation compatibilité : cette propriété est transmise directement à la Logging propriété d'une AWS::Lambda::MicrovmImage ressource.

Name

Nom de l'image microVM.

Type : chaîne

Obligatoire : oui

CloudFormation compatibilité : cette propriété est transmise directement à la Name propriété d'une AWS::Lambda::MicrovmImage ressource.

PropagateTags

Spécifie s'il faut transmettre les balises de la Tags propriété aux ressources générées, telles que le rôle de build généré automatiquement.

Type : valeur booléenne

Obligatoire : non

Par défaut : False

CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.

Resources

Liste d'objets Resources qui spécifient les besoins en ressources de la microVM.

Type : liste

Obligatoire : non

CloudFormation compatibilité : cette propriété est transmise directement à la Resources propriété d'une AWS::Lambda::MicrovmImage ressource.

Tags

Une carte de paires clé-valeur qui spécifie les balises ajoutées à cette image microVM.

Type: carte (map)

Obligatoire : non

CloudFormation compatibilité : cette propriété est similaire à celle Tags d'une AWS::Lambda::MicrovmImage ressource. La Tags propriété in AWS SAM est constituée de paires clé-valeur (alors que dans CloudFormation cette propriété, elle consiste en une liste d'Tagobjets). Ajoute également AWS SAM automatiquement une lambda:createdBy:SAM balise à cette image microVM et aux rôles par défaut générés pour celle-ci.

Valeurs renvoyées

Réf

Lorsque l'ID logique de cette ressource est fourni à la fonction Ref intrinsèque, elle renvoie l'ARN de l'image microVM.

Pour plus d'informations sur l'utilisation de la fonction Ref, consultez Ref dans le Guide de l'utilisateur AWS CloudFormation .

Ventilateur : GetAtt

Fn::GetAtt renvoie une valeur pour un attribut de ce type indiqué. Voici les attributs disponibles et des exemples de valeurs de retour.

Pour plus d'informations sur l'utilisation de Fn::GetAtt, consultez Fn::GetAtt dans le Guide de l'utilisateur AWS CloudFormation .

CreatedAt

Horodatage de création de la version de l'image microVM.

ImageArn

L'ARN de l'image microVM.

LatestActiveImageVersion

Dernière version active de l'image microVM.

LatestFailedImageVersion

Dernière version défaillante de l'image microVM, le cas échéant.

State

État actuel de l'image microVM.

UpdatedAt

Horodatage de la dernière mise à jour de la version de l'image microVM.

Exemples

Image microVM minimale

L'exemple suivant crée une image microVM avec uniquement les propriétés requises. AWS SAM génère automatiquement un rôle de build.

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"

Configuration complète de l'image MicroVM

L'exemple suivant crée une image microVM avec toutes les propriétés disponibles configurées.

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