AWS SAM CLI がコンテナイメージとしてパッケージ化された AWS Lambda 関数の BuildKit サポートを追加
AWS Serverless Application Model Command Line Interface (SAM CLI) は、Dockerfiles からコンテナイメージを構築するための BuildKit をサポートするようになりました。これにより、コンテナイメージとしてパッケージ化された Lambda 関数のコンテナイメージをより迅速かつ効率的に構築できます。
SAM CLI は、AWS クラウドにデプロイする前にサーバーレスアプリケーションをローカルで構築、テスト、デバッグ、およびパッケージ化するためのコマンドラインツールです。Lambda 関数をコンテナイメージとしてパッケージ化するデベロッパーは、イメージを本番環境用に最適化するために BuildKit が提供する高度な構築機能を必要とすることがよくあります。しかし、以前は SAM CLI は BuildKit 機能をサポートしていませんでした。現在は SAM CLI の BuildKit サポートにより、マルチステージ構築を利用して、開発に依存することなくより小さな最終イメージを作成できます。また、キャッシュが改善されて再構築時間が短縮され、構築ステップの並列化が改善されました。BuildKit ではクロスアーキテクチャ構築も可能になり、x86_64 および arm64 (AWS Graviton2) の両方の命令セットアーキテクチャをターゲットとするコンテナイメージを同じ開発マシンから構築できます。また、構築中に Docker シークレットを使用して認証情報や API キーなどの機密データを最終イメージレイヤーから除外することもできます。
開始するには、SAM CLI をダウンロードするかバージョン 1.159.0 以降に更新し、sam build で --use-buildkit フラグを使用します。この機能は、SAM CLI で Docker と Finch のどちらを使用しているかに関係なく機能し、BuildKit の全機能を活用できます。
詳細については、SAM CLI デベロッパーガイドをご覧ください。