サーバーレスアプリケーションのデプロイ - AWS Serverless Application Model

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

サーバーレスアプリケーションのデプロイ

AWS SAM は AWS CloudFormation を基盤となるデプロイメントメカニズムとして使用します。詳細については、AWS CloudFormationの「AWS CloudFormation ユーザーガイド とは」を参照してください。

コマンドラインインターフェイス (CLI) コマンドを使用して、アプリケーションをデプロイできます。AWS SAMデプロイを自動化するには、AWS と統合されている他の AWS SAM サービスを使用することもできます。

サーバーレスアプリケーションをデプロイするための標準入力は、sam build コマンドを使用して作成されるビルドアーティファクトです。の詳細については、「sam build」を参照してください。サーバーレスアプリケーションの構築

CLI を使用したデプロイAWS SAM

サーバーレスアプリケーションをローカルで開発およびテストした後、sam deploy コマンドを使用してアプリケーションをデプロイできます。

プロンプトを使用してデプロイをガイドするには、AWS SAM フラグを指定します。--guidedこのフラグを指定すると、sam deploy コマンドはアプリケーションアーティファクトを圧縮し、Amazon S3 (.zip ファイルアーカイブの場合) または Amazon ECR (イメージを含む場合) にアップロードしてから、アプリケーションを AWS クラウドにデプロイします。

例:

# Deploy an application using prompts: sam deploy --guided

サーバーレスアプリケーションの公開

AWS Serverless Application Repository は、AWS SAM を使用して構築されたサーバレスアプリケーションをホストするサービスです。サーバレスアプリケーションを他のユーザと共有する場合は、AWS Serverless Application Repository で公開できます。他のユーザーが公開したサーバーレスアプリケーションを検索、参照、およびデプロイすることもできます。詳細については、AWS Serverless Application Repository の「 とは」を参照してください。AWS Serverless Application Repository 開発者ガイド

デプロイの自動化

サーバーレスアプリケーションのデプロイプロセスを自動化するには、他の多くの AWS SAM のサービスで AWS を使用できます。

Troubleshooting

AWS SAM CLI エラー: 「セキュリティの制約が満たされない」

を実行すると、sam deploy --guided という質問が表示されます。HelloWorldFunction may not have authorization defined, Is this okay? [y/N] このプロンプトに「N」(デフォルトのレスポンス) で応答すると、次のエラーが表示されます。

 
Error: Security Constraints Not Satisfied
            

このプロンプトで、デプロイしようとしているアプリケーションでは、承認なしで API Gateway API が設定されている可能性があることがわかります。このプロンプトに「N」と応答すると (デフォルト)、これは問題ありません。

この問題を修正するには、次のオプションがあります。

  • 許可を使用してアプリケーションを設定します。認証の設定の詳細については、「へのアクセスの制御API GatewayAPIs」を参照してください。

  • API が承認なしで設定されているアプリケーションをデプロイしても問題がないことを示すため、この質問には「Y」で応答します。API Gateway