でアプリケーションをデプロイするためのオプション AWS SAM - AWS Serverless Application Model

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

でアプリケーションをデプロイするためのオプション AWS SAM

を使用すると AWS SAM、アプリケーションを手動でデプロイしたり、デプロイを自動化したりできます。を使用して AWS SAMCLI、アプリケーションを手動でデプロイします。デプロイを自動化するには、パイプラインと継続的インテグレーションおよび継続的デプロイ (CI/CD) システムを使用します。このセクションのトピックでは、両方のアプローチについて説明します。

を使用して AWS SAMCLI手動でデプロイする方法

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

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

例:

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

CI/CD システムとパイプラインを使用してデプロイする

AWS SAM は、パイプラインと継続的インテグレーションおよび継続的デプロイ (CI/CD) システムを使用してデプロイを自動化するのに役立ちます。 を使用してパイプラインを作成し、サーバーレスアプリケーションの CI/CD タスクを簡素化 AWS SAM できます。複数の CI/CD システムは AWS SAM ビルドコンテナイメージをサポートし、 のデプロイのベストプラクティスをカプセル化する複数の CI/CD AWSシステム用のデフォルトのパイプラインテンプレートのセット AWS SAM も提供します。

詳細については、「CI/CD システムとパイプラインを使用して でデプロイする AWS SAM」を参照してください。

段階的なデプロイ

アプリケーションを一度にすべてではなく AWS SAM 徐々にデプロイする場合は、 AWS CodeDeploy が提供するデプロイ設定を指定できます。詳細については、「 ユーザーガイド」の「 でのデプロイ設定 CodeDeployの使用AWS CodeDeploy 」を参照してください。

徐々にデプロイするように AWS SAM アプリケーションを設定する方法については、「」を参照してくださいでサーバーレスアプリケーションを段階的にデプロイする AWS SAM

AWS SAM CLI を使用したデプロイのトラブルシューティング

AWS SAM CLI エラー:「セキュリティの制約に準拠していません」

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

 
Error: Security Constraints Not Satisfied
            

このプロンプトは、デプロイしようとしているアプリケーションに、認証なしで設定された Amazon API Gateway API が存在する可能性があることを知らせています。このプロンプトに「N」と答えることによって、この状態は望ましくないと伝えることになります。

この問題を解決するには、以下のオプションがあります。

  • 認証を使用してアプリケーションを設定する。認証の設定については、「AWS SAM テンプレートを使用してAPIアクセスを制御する」を参照してください。

  • この質問に「Y」と答えて、認証なしで設定された API Gateway API が存在するアプリケーションをデプロイしてもよいことを示す。

詳細はこちら

サーバーレスアプリケーションをデプロイする実践的な例については、「 完全な AWS SAM ワークショップ」の以下を参照してください。

  • モジュール 3 - 手動でデプロイする – を使用してサーバーレスアプリケーションを構築、パッケージ化、デプロイする方法について説明します AWS SAMCLI。

  • モジュール 4 - CI/CD – 継続的インテグレーションおよびデリバリー (CI/CD) パイプラインを作成することで、構築、パッケージ化、デプロイのフェーズを自動化する方法を学びます。