AWS SAM CLIがコンテナイメージとしてパッケージ化されたAWS Lambda関数向けにBuildKitサポートを追加
ID 4793
GUID d9094c0f6767abd3a843084bbde73bb695ba1ea2
発表日(JST)
要約生成日時(JST)
タイトル AWS SAM CLIがコンテナイメージとしてパッケージ化されたAWS Lambda関数向けにBuildKitサポートを追加
詳細リンク https://aws.amazon.com/about-aws/whats-new/2026/05/aws-sam-cli-buildkit-aws-lambda/
カテゴリ
  • aws-lambda
  • aws-serverless-application-model-sam
  • developer-tools
  • serverless
要点
  • AWS SAM CLIがBuildKitをサポートし、コンテナイメージビルドが高速化・効率化
  • マルチステージビルドにより、開発依存関係のない小さな最終イメージを作成可能
  • 改善されたキャッシュによりリビルド時間を短縮
  • クロスアーキテクチャビルドでx86_64とarm64(AWS Graviton2)の両方をサポート
  • Dockerシークレットを使用してビルド中の機密データを最終イメージから除外可能
  • SAM CLIバージョン1.159.0以降で--use-buildkitフラグを使用して利用可能
  • DockerとFinchの両方で動作
アップデート内容要約

AWS SAM CLIがBuildKitをサポートし、コンテナイメージとしてパッケージ化されたLambda関数のビルドがより高速かつ効率的になりました。マルチステージビルド、改善されたキャッシュ、クロスアーキテクチャビルド、Dockerシークレットの利用が可能になります。

アップデート内容全文

AWS Serverless Application Model Command Line Interface(SAM CLI)は、DockerfileからコンテナイメージをビルドするためのBuildKitをサポートするようになり、コンテナイメージとしてパッケージ化されたLambda関数のコンテナイメージビルドがより高速かつ効率的になりました。
SAM CLIは、AWS Cloudにデプロイする前に、サーバーレスアプリケーションをローカルでビルド、テスト、デバッグ、パッケージングするためのコマンドラインツールです。

Lambda関数をコンテナイメージとしてパッケージ化する開発者は、本番環境向けにイメージを最適化するためにBuildKitが提供する高度なビルド機能を必要とすることが多くあります。
しかし、以前のSAM CLIはBuildKit機能をサポートしていませんでした。

今回のSAM CLIでのBuildKitサポートにより、以下のことが可能になります:
- マルチステージビルドを活用して、開発依存関係のない小さな最終イメージを作成
- 改善されたキャッシュによりリビルド時間を短縮
- ビルドステップのより良い並列化
- クロスアーキテクチャビルドにより、同じ開発マシンからx86_64とarm64(AWS Graviton2)命令セットアーキテクチャの両方をターゲットとするコンテナイメージをビルド
- ビルド中にDockerシークレットを使用し、認証情報やAPIキーなどの機密データを最終イメージレイヤーから除外

開始するには、SAM CLIをバージョン1.159.0以降にダウンロードまたは更新し、sam buildで--use-buildkitフラグを使用してください。
この機能は、DockerまたはFinchのどちらをSAM CLIで使用しているかに関係なく動作し、BuildKitの全機能を利用できます。
詳細については、SAM CLI開発者ガイドをご覧ください。

関連サービス
  • AWS Graviton2
  • AWS Lambda
  • AWS SAM CLI
関連サービスの説明
  • AWS Graviton2は、AWSが独自に設計したArmベースのプロセッサです。EC2インスタンスやLambda関数などで使用でき、x86ベースのプロセッサと比較してコストパフォーマンスが優れています。arm64アーキテクチャに対応しており、省電力で高いパフォーマンスを提供します。
  • AWS Lambdaは、サーバーを管理することなくコードを実行できるサーバーレスコンピューティングサービスです。コードをアップロードするだけで、イベント(HTTPリクエスト、ファイルアップロード、スケジュールなど)に応じて自動的にコードが実行されます。使用した分だけ課金され、サーバーのプロビジョニングや管理が不要です。コードはZIPファイルまたはコンテナイメージとしてパッケージ化できます。
  • AWS SAM CLI(AWS Serverless Application Model Command Line Interface)は、サーバーレスアプリケーションを開発するためのコマンドラインツールです。AWS CloudFormationの拡張であるSAMテンプレートを使用して、Lambda関数、API Gateway、DynamoDBテーブルなどのサーバーレスリソースを定義し、ローカル環境でビルド、テスト、デバッグした後、AWSクラウドにデプロイすることができます。開発者のローカル開発体験を向上させるツールです。
関連URL