

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

# AWS::Serverless::MicrovmImage
<a name="sam-resource-microvmimage"></a>

 Amazon S3 に保存されているコードアーティファクトから AWS Lambda MicroVM イメージを作成します。 Amazon S3 MicroVM イメージは、 Dockerfileとアプリケーションコードから構築されたFirecrackerスナップショットであり、MicroVM インスタンスの 1 秒未満の起動を可能にします。

**注記**  
にデプロイすると AWS CloudFormation、 は AWS SAM リソースを CloudFormation リソース AWS SAM に変換します。詳細については、「[の生成済み CloudFormation リソース AWS SAM](sam-specification-generated-resources.md)」を参照してください。

## 構文
<a name="sam-resource-microvmimage-syntax"></a>

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

### YAML
<a name="sam-resource-microvmimage-syntax.yaml"></a>

```
Type: AWS::Serverless::MicrovmImage
Properties:
  [AdditionalOsCapabilities](#sam-microvmimage-additionaloscapabilities): {{List}}
  [BaseImageArn](#sam-microvmimage-baseimagearn): {{String}}
  [BaseImageVersion](#sam-microvmimage-baseimageversion): {{String}}
  [BuildRoleArn](#sam-microvmimage-buildrolearn): {{String}}
  [CodeUri](#sam-microvmimage-codeuri): {{String}}
  [CpuConfigurations](#sam-microvmimage-cpuconfigurations): {{List}}
  [Description](#sam-microvmimage-description): {{String}}
  [EgressNetworkConnectors](#sam-microvmimage-egressnetworkconnectors): {{List}}
  [EnvironmentVariables](#sam-microvmimage-environmentvariables): {{Map}}
  [Hooks](#sam-microvmimage-hooks): {{[Hooks](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-microvmimage-hooks.html)}}
  [Logging](#sam-microvmimage-logging): {{[Logging](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-microvmimage-logging.html)}}
  [Name](#sam-microvmimage-name): {{String}}
  [PropagateTags](#sam-microvmimage-propagatetags): {{Boolean}}
  [Resources](#sam-microvmimage-resources): {{List}}
  [Tags](#sam-microvmimage-tags): {{Map}}
```

## プロパティ
<a name="sam-resource-microvmimage-properties"></a>

 `AdditionalOsCapabilities`   <a name="sam-microvmimage-additionaloscapabilities"></a>
MicroVM ランタイム環境に付与する追加の OS 機能。値を指定しない場合、サービスは追加の OS 機能を付与しません。  
*有効な値:* `ALL`  
*タイプ*: リスト  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::MicrovmImage`リソースの `[AdditionalOsCapabilities](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-additionaloscapabilities)`プロパティに直接渡されます。

 `BaseImageArn`   <a name="sam-microvmimage-baseimagearn"></a>
ビルド元のベース MicroVM イメージの ARN。  
*タイプ*: 文字列  
*必須*: はい  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::MicrovmImage`リソースの `[BaseImageArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-baseimagearn)`プロパティに直接渡されます。

 `BaseImageVersion`   <a name="sam-microvmimage-baseimageversion"></a>
使用するベース MicroVM イメージのバージョン。  
*タイプ*: 文字列  
*必須*: はい  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::MicrovmImage`リソースの `[BaseImageVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-baseimageversion)`プロパティに直接渡されます。

 `BuildRoleArn`   <a name="sam-microvmimage-buildrolearn"></a>
MicroVM ビルドサービスが Amazon S3 からコードアーティファクトをダウンロードしてビルドログを書き込むために引き受ける IAM ロールの ARN。  
*タイプ*: 文字列  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::MicrovmImage`リソースの `[BuildRoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-buildrolearn)`プロパティに似ています。これは、 CloudFormation では必須ですが、 AWS SAMでは必須ではありません。ロールを指定しない場合、 は論理 ID が のロール AWS SAM を作成します`{{<resource-logical-id>}}BuildRole`。コードアーティファクトがカスタマーマネージドキーで暗号化されている場合は AWS KMS、適切な`kms:Decrypt`アクセス許可を独自のロールに提供する必要があります。

 `CodeUri`   <a name="sam-microvmimage-codeuri"></a>
Dockerfile およびアプリケーションコードを含む zip アーティファクトの Amazon S3 URI。  
*タイプ*: 文字列  
*必須*: はい  
*CloudFormation 互換性*: このプロパティは resource`AWS::Lambda::MicrovmImage`. AWS SAM wraps URI の `[CodeArtifact](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-codeartifact)`プロパティに変換されます`CodeArtifact.Uri`。

 `CpuConfigurations`   <a name="sam-microvmimage-cpuconfigurations"></a>
MicroVM でサポートされている CPU アーキテクチャを指定する [CpuConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-microvmimage-cpuconfiguration.html) オブジェクトのリスト。値を指定しない場合、サービスはデフォルトの CPU アーキテクチャを使用します。  
*タイプ*: リスト  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::MicrovmImage`リソースの `[CpuConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-cpuconfigurations)`プロパティに直接渡されます。

 `Description`   <a name="sam-microvmimage-description"></a>
MicroVM イメージの説明。  
*タイプ*: 文字列  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::MicrovmImage`リソースの `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-description)`プロパティに直接渡されます。

 `EgressNetworkConnectors`   <a name="sam-microvmimage-egressnetworkconnectors"></a>
実行時に MicroVM で使用できる出力ネットワークコネクタ ARNs のリスト。  
*タイプ*: リスト  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::MicrovmImage`リソースの `[EgressNetworkConnectors](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-egressnetworkconnectors)`プロパティに直接渡されます。

 `EnvironmentVariables`   <a name="sam-microvmimage-environmentvariables"></a>
MicroVM ランタイム環境で設定された環境変数。  
*タイプ*: マップ  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::MicrovmImage`リソースの `[EnvironmentVariables](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-environmentvariables)`プロパティに似ています。で AWS SAM、マップとして を指定します (例: `KEY: value`)。 は CloudFormation 配列形式 AWS SAM に変換されます`[{Key: KEY, Value: value}]`。

 `Hooks`   <a name="sam-microvmimage-hooks"></a>
MicroVMsおよび MicroVM イメージのライフサイクルフック設定。  
*タイプ*: [Hooks](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-microvmimage-hooks.html)  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::MicrovmImage`リソースの `[Hooks](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-hooks)`プロパティに直接渡されます。

 `Logging`   <a name="sam-microvmimage-logging"></a>
MicroVM ログ記録出力の設定。1 つだけ指定`CloudWatch`します。CloudWatch ログ記録を有効にするか、ログ記録をオフに`Disabled`します。  
型: [ログ記録](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-microvmimage-logging.html)  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::MicrovmImage`リソースの `[Logging](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-logging)`プロパティに直接渡されます。

 `Name`   <a name="sam-microvmimage-name"></a>
MicroVM イメージの名前。  
*タイプ*: 文字列  
*必須*: はい  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::MicrovmImage`リソースの `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-name)`プロパティに直接渡されます。

 `PropagateTags`   <a name="sam-microvmimage-propagatetags"></a>
`Tags` プロパティから、自動生成されたビルドロールなどの生成されたリソースにタグを渡すかどうかを指定します。  
型: ブール  
*必須:* いいえ  
*デフォルト*: `False`  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `Resources`   <a name="sam-microvmimage-resources"></a>
MicroVM の[リソース](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-microvmimage-resources.html)要件を指定するリソースオブジェクトのリスト。  
*タイプ*: リスト  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::MicrovmImage`リソースの `[Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-resources)`プロパティに直接渡されます。

 `Tags`   <a name="sam-microvmimage-tags"></a>
この MicroVM イメージに追加されたタグを指定するキーと値のペアのマップ。  
*タイプ*: マップ  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは、 `AWS::Lambda::MicrovmImage`リソースの `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-microvmimage.html#cfn-lambda-microvmimage-tags)`プロパティに似ています。の `Tags`プロパティ AWS SAM はキーと値のペアで構成されます ( CloudFormation このプロパティは`Tag`オブジェクトのリストで構成されます）。また、 は、この MicroVM イメージとそれに対して生成されるデフォルトのロールに`lambda:createdBy:SAM`タグ AWS SAM を自動的に追加します。

## 戻り値
<a name="sam-resource-microvmimage-return-values"></a>

### 参照番号
<a name="sam-resource-microvmimage-return-values-ref"></a>

このリソースの論理 ID が`Ref`組み込み関数に提供されると、MicroVM イメージの ARN が返されます。

`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-microvmimage-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)」を参照してください。

`CreatedAt`  <a name="sam-microvmimage-getatt-createdat"></a>
MicroVM イメージバージョンが作成されたタイムスタンプ。

`ImageArn`  <a name="sam-microvmimage-getatt-imagearn"></a>
MicroVM イメージの ARN。

`LatestActiveImageVersion`  <a name="sam-microvmimage-getatt-latestactiveimageversion"></a>
MicroVM イメージの最新のアクティブバージョン。

`LatestFailedImageVersion`  <a name="sam-microvmimage-getatt-latestfailedimageversion"></a>
MicroVM イメージの最新の失敗バージョンがある場合。

`State`  <a name="sam-microvmimage-getatt-state"></a>
MicroVM イメージの現在の状態。

`UpdatedAt`  <a name="sam-microvmimage-getatt-updatedat"></a>
MicroVM イメージバージョンが最後に更新されたタイムスタンプ。

## 例
<a name="sam-resource-microvmimage-examples"></a>

### 最小 MicroVM イメージ
<a name="sam-resource-microvmimage-example-minimal"></a>

次の例では、必要なプロパティのみを使用して 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 イメージ設定
<a name="sam-resource-microvmimage-example-full"></a>

次の例では、使用可能なすべてのプロパティが設定された 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
```