AWS SAM CLI がローカルのサーバーレス開発を加速するために AWS CloudFormation Language Extensions のサポートを追加

投稿日: 2026年5月18日

AWS SAM CLIAWS CloudFormation Language Extensions をサポートするようになりました。これにより、ローカル開発ワークフロー全体を維持しながら、Infrastructure as Code (IaC) テンプレートの重複を減らすことができます。一度リソースを定義すれば、クラウドのデプロイを待たずにローカルで反復処理できるため、サーバーレス開発を加速できます。

開発者は、多くの場合、1 つのテンプレート定義から Lambda 関数、DynamoDB テーブル、SNS トピックなど、複数の類似したリソースを定義する必要があります。ただし、SAM CLI を使用してサーバーレスアプリケーションを構築、テスト、デプロイしていた開発者は、これまでは CloudFormation Language Extensions を使用するテンプレートを処理できませんでした。そのためには、テンプレートの重複を減らすか、ローカル開発に SAM CLI を使用するかの選択が必要でした。今後は、SAM CLI は、CloudFormation デプロイ用の元のテンプレートを維持しながら、ローカル操作用にメモリ内で Language Extensions を処理します。リソースを一度定義すれば、すべての SAM CLI コマンドでローカルでリソースをテストして、無効な構文や依存関係の欠落などのエラーをデプロイ前に検出できます。これにより、イテレーションサイクルが短縮され、クラウドで失敗したデプロイのデバッグに費やす時間を短縮できます。

使用を開始するには、SAM CLI をダウンロードするか、最新バージョンに更新してください。AWS::LanguageExtensions 変換を SAM テンプレートに追加し、Fn::ForEach を使用して 1 つの定義から複数のリソースを生成します。sam build、sam local invoke、sam sync、sam local start-api、sam validate などの SAM CLI コマンドは、自動的にループを拡張し、生成された各リソースを処理します。拡張された関数を名前で呼び出すことができます (例: sam local invoke AlphaFunction)。SAM CLI は、DefaultValue を使用した Fn::Length、Fn::ToJsonString、Fn::FindInMap、条件付きの DeletionPolicy 属性と UpdateReplacePolicy 属性もサポートしています。

詳細については、SAM CLI デベロッパーガイドローンチブログ記事をご覧ください。