View a markdown version of this page

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

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS::Serverless::MicrovmImage

從存放在 Amazon S3 中的程式碼成品建立 AWS Lambda MicroVM 映像。MicroVM 映像是從 Dockerfile和應用程式程式碼建置的Firecracker快照,可為 MicroVM 執行個體啟用一秒的啟動。

注意

當您部署到 時 AWS CloudFormation, 會將您的 AWS SAM 資源 AWS SAM CloudFormation 轉換為 資源。如需詳細資訊,請參閱為 產生 CloudFormation 資源 AWS SAM

語法

若要在 AWS Serverless Application Model (AWS SAM) 範本中宣告此實體,請使用下列語法。

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

Properties

AdditionalOsCapabilities

要授予 MicroVM 執行期環境的其他作業系統功能。如果您未指定值,服務不會授予其他作業系統功能。

有效值ALL

類型:清單

必要:否

CloudFormation 相容性:此屬性會直接傳遞至 AWS::Lambda::MicrovmImage 資源的 AdditionalOsCapabilities 屬性。

BaseImageArn

要從中建置之基礎 MicroVM 映像的 ARN。

類型:字串

必要:是

CloudFormation 相容性:此屬性會直接傳遞至 AWS::Lambda::MicrovmImage 資源的 BaseImageArn 屬性。

BaseImageVersion

要使用的基本 MicroVM 映像版本。

類型:字串

必要:是

CloudFormation 相容性:此屬性會直接傳遞至 AWS::Lambda::MicrovmImage 資源的 BaseImageVersion 屬性。

BuildRoleArn

MicroVM 組建服務從 Amazon S3 下載程式碼成品並寫入組建日誌時所擔任的 IAM 角色 ARN。

類型:字串

必要:否

CloudFormation 相容性:此屬性類似於 AWS::Lambda::MicrovmImage 資源的 BuildRoleArn 屬性。這是在 中 CloudFormation 的必要項目,但不是在 中 AWS SAM。如果您未指定角色, 會 AWS SAM 建立邏輯 ID 為 的角色<resource-logical-id>BuildRole。如果您的程式碼成品使用 中的客戶受管金鑰加密 AWS KMS,您必須提供自己的角色適當的kms:Decrypt許可。

CodeUri

包含 Dockerfile和應用程式程式碼之 zip 成品的 Amazon S3 URI。

類型:字串

必要:是

CloudFormation 相容性:此屬性會轉換為 AWS::Lambda::MicrovmImage 資源的 CodeArtifact 屬性。 會將 URI AWS SAM 包裝到 CodeArtifact.Uri結構中。

CpuConfigurations

指定 MicroVM 支援 CPU 架構的 CpuConfiguration 物件清單。如果您未指定值,服務會使用預設 CPU 架構。

類型:清單

必要:否

CloudFormation 相容性:此屬性會直接傳遞至 AWS::Lambda::MicrovmImage 資源的 CpuConfigurations 屬性。

Description

MicroVM 映像的描述。

類型:字串

必要:否

CloudFormation 相容性:此屬性會直接傳遞至 AWS::Lambda::MicrovmImage 資源的 Description 屬性。

EgressNetworkConnectors

MicroVM 在執行時間可用的輸出網路連接器 ARNs 清單。

類型:清單

必要:否

CloudFormation 相容性:此屬性會直接傳遞至 AWS::Lambda::MicrovmImage 資源的 EgressNetworkConnectors 屬性。

EnvironmentVariables

在 MicroVM 執行時間環境中設定的環境變數。

類型:映射

必要:否

CloudFormation 相容性:此屬性類似於 AWS::Lambda::MicrovmImage 資源的 EnvironmentVariables 屬性。在 中 AWS SAM,指定 做為映射 (例如,KEY: value)。 AWS SAM 會轉換為 CloudFormation 陣列格式 [{Key: KEY, Value: value}]

Hooks

MicroVMs和 MicroVM 映像的生命週期掛鉤組態。

類型勾點

必要:否

CloudFormation 相容性:此屬性會直接傳遞至 AWS::Lambda::MicrovmImage 資源的 Hooks 屬性。

Logging

MicroVM 記錄輸出的組態。僅指定一個:CloudWatch啟用 CloudWatch 記錄,或Disabled關閉記錄。

類型記錄

必要:否

CloudFormation 相容性:此屬性會直接傳遞至 AWS::Lambda::MicrovmImage 資源的 Logging 屬性。

Name

MicroVM 映像的名稱。

類型:字串

必要:是

CloudFormation 相容性:此屬性會直接傳遞至 AWS::Lambda::MicrovmImage 資源的 Name 屬性。

PropagateTags

指定是否要將標籤從 Tags 屬性傳遞至產生的資源,例如自動產生的建置角色。

類型:布林值

必要:否

預設False

CloudFormation 相容性:此屬性對 是唯一的 AWS SAM ,並且沒有 CloudFormation 同等的。

Resources

指定 MicroVM 資源需求的資源物件清單。

類型:清單

必要:否

CloudFormation 相容性:此屬性會直接傳遞至 AWS::Lambda::MicrovmImage 資源的 Resources 屬性。

Tags

索引鍵/值對的映射,指定新增至此 MicroVM 映像的標籤。

類型:映射

必要:否

CloudFormation 相容性:此屬性類似於 AWS::Lambda::MicrovmImage 資源的 Tags 屬性。中的 Tags 屬性 AWS SAM 包含鍵值對 (而 CloudFormation 此屬性包含Tag物件清單)。此外, AWS SAM 自動將lambda:createdBy:SAM標籤新增至此 MicroVM 映像,以及為其產生的預設角色。

傳回值

Ref

當將此資源的邏輯 ID 提供給Ref內部 函數時,它會傳回 MicroVM 映像的 ARN。

如需使用 Ref函數的詳細資訊,請參閱AWS CloudFormation 《 使用者指南Ref》中的 。

Fn::GetAtt

Fn::GetAtt 會傳回此類型之指定屬性的值。以下為可用屬性及傳回值的範例。

如需使用 的詳細資訊Fn::GetAtt,請參閱AWS CloudFormation 《 使用者指南Fn::GetAtt》中的 。

CreatedAt

建立 MicroVM 映像版本的時間戳記。

ImageArn

MicroVM 映像的 ARN。

LatestActiveImageVersion

MicroVM 映像的最新作用中版本。

LatestFailedImageVersion

MicroVM 映像的最新失敗版本,如果有的話。

State

MicroVM 映像的目前狀態。

UpdatedAt

MicroVM 映像版本上次更新的時間戳記。

範例

最小 MicroVM 映像

下列範例只會建立具有所需屬性的 MicroVM 映像。 AWS SAM 會自動產生建置角色。

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"

完整 MicroVM 映像組態

下列範例會建立已設定所有可用屬性的 MicroVM 映像。

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