翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Serverless Application Model (AWS SAM) とは
AWS Serverless Application Model (AWS SAM) は、Infrastructure as Code (IaC) を使用してサーバーレスアプリケーションを構築するためのオープンソースフレームワークです。 AWS SAMの短縮構文を使用すると、開発者はデプロイ中にインフラストラクチャに変換されるAWS CloudFormation
-
AWS SAM CLI - サーバーレスアプリケーションの開発、ローカルテスト、デプロイに役立つコマンドラインツール。
-
AWS SAM テンプレート - サーバーレスリソースを定義するためのシンプルな構文 AWS CloudFormation を提供する の拡張機能。
sam init コマンドを使用すると、プロジェクトディレクトリが作成されます。これはプロジェクトと呼ばれ AWS SAM 、通常は AWS SAM テンプレート、アプリケーションコード、その他の設定ファイルが含まれます。
を使用するタイミング AWS SAM
AWS SAM は、 のフルパワーでサーバーレス開発を簡素化したいシナリオに最適な IaC ソリューションです AWS CloudFormation。たとえば、SAM は以下に使用できます。
-
サーバーレスアプリケーション: SAM を使用すると、最小限のコードで AWS Lambda 関数、Amazon API Gateway APIs、Amazon DynamoDB テーブル、その他のサーバーレスリソースをすばやく定義できます。
-
AWS CloudFormation の機能強化: SAM を既存の CloudFormation テンプレートと組み合わせて、サーバーレスコンポーネントを従来のインフラストラクチャに追加できます。SAM リソースは、同じテンプレート内の標準の CloudFormation リソースと連動します。
-
ローカル開発とテスト: SAM を使用して、デプロイ前に開発マシンで Lambda 関数をローカルでCLIテストし、API Gateway エンドポイントをシミュレートし、サーバーレスアプリケーションをデバッグできます AWS。
-
サーバーレスの CI/CD: ステージング環境と本番環境に必要な CloudFormation インフラストラクチャを自動的に生成する SAM テンプレートを使用してデプロイパイプラインを構築できます。
-
コンソールで作成されたリソースからの移行: マネジメントコンソールで作成された Lambda 関数と API Gateway リソースを AWS 、SAM テンプレートを使用してコードとしてのインフラストラクチャに変換できます。
他の IaC ツール AWS SAM との比較
-
CloudFormation の代わりに SAM を使用して、テンプレートの互換性を維持しながらサーバーレスリソース定義を簡素化します。
-
プログラムによるアプローチではなく、宣言的なアプローチでインフラストラクチャを記述 AWS CDK する場合は、 の代わりに SAM を使用します。
-
SAM CLI のローカルテスト機能 AWS CDK を使用して SAM を と組み合わせ、CDK アプリケーションを強化します。
主な特徴
AWS SAM には、開発者エクスペリエンスを向上させるさまざまな利点があります。
- より少ないコードを使用して、アプリケーションインフラストラクチャコードを迅速に定義する
-
AWS SAM テンプレートを作成して、サーバーレスアプリケーションインフラストラクチャコードを定義します。テンプレートを に直接デプロイ AWS CloudFormation して、 リソースをプロビジョニングします。
- 開発ライフサイクル全体を通じてサーバーレスアプリケーションを管理する
-
AWS SAM CLI を使用して、開発ライフサイクルの作成、構築、デプロイ、テスト、モニタリングの各フェーズを通じてサーバーレスアプリケーションを管理します。詳細については、「AWS SAM CLI」を参照してください。
- AWS SAM コネクタを使用してリソース間のアクセス許可をすばやくプロビジョニングする
-
AWS SAM テンプレートの AWS SAM コネクタを使用して、 AWS リソース間のアクセス許可を定義します。 は、インテントを容易にするために必要な IAM アクセス許可にコードを AWS SAM 変換します。詳細については、「AWS SAM コネクタによるリソースに対するアクセス許可の管理」を参照してください。
- 開発中にローカルの変更をクラウドに継続的に同期する
-
sam sync コマンドを使用してローカルの変更を AWS SAMCLIクラウドに自動的に同期し、開発ワークフローとクラウドテストワークフローを高速化します。詳細については、「を使用して sam sync に同期する方法の概要 AWS クラウド」を参照してください。
- Terraform サーバーレスアプリケーションを管理する
-
AWS SAM CLI を使用して、ローカルで Lambda 関数とレイヤーのデバッグやテストを実行します。詳細については、「AWS SAM CLITerraform のサポート」を参照してください。
関連情報
の AWS SAM 仕組みについては、「」を参照してくださいの AWS SAM 仕組み。
の使用を開始するには AWS SAM、「」を参照してくださいの開始方法 AWS SAM。
AWS SAM を使用してサーバーレスアプリケーションを作成する方法の概要については、「」を参照してくださいの使用方法 AWS SAM。