Q86 — AWS DVA-C02 第2章
第 86/100 問 | ← 第2章
企業が新しいサーバーレスアプリケーションを開発しています。開発者は、AWS Lambda関数およびその依存インフラストラクチャを自動化してデプロイする方法を求めており、コーディング作業を最小限に抑えたいと考えています。また、アプリケーションは信頼性が求められます。これらの要件を、最小限の運用オーバーヘッドで満たす方法はどれですか?
- A. シェルスクリプトを使用してアプリケーションをビルドし、各Lambda関数に対して.zipファイルを作成します。.zipファイルをAWSマネジメントコンソールに手動でアップロードします。
- B. AWS Serverless Application Model(AWS SAM)を使用してアプリケーションをビルドします。継続的インテグレーションおよび継続的デリバリー(CI/CD)パイプラインとSAM CLIを用いてLambda関数をデプロイします。 ✓
- C. シェルスクリプトを使用してアプリケーションをビルドし、各Lambda関数に対して.zipファイルを作成します。.zipファイルをアップロードし、CI/CDパイプライン内でAWS CLIを使用して.zipファイルをLambda関数としてデプロイします。
- D. 各Lambda関数に対してコンテナをビルドします。コンテナイメージをAWS CodeArtifactに保存し、CI/CDパイプライン内でAWS CLIを使用してコンテナをLambda関数としてデプロイします。
正解: B. AWS Serverless Application Model(AWS SAM)を使用してアプリケーションをビルドします。継続的インテグレーションおよび継続的デリバリー(CI/CD)パイプラインとSAM CLIを用いてLambda関数をデプロイします。
解説
選択肢Bが正解です。AWS Serverless Application Model(AWS SAM)は、サーバーレスアプリケーションのデプロイを簡素化するための専用フレームワークを提供します。AWS SAMを使用すると、Lambda関数およびAPI GatewayやDynamoDBテーブルなどの関連リソースのインフラストラクチャを定義でき、SAM CLIおよびCI/CDパイプラインを活用した自動デプロイが可能です。この方法により、コーディング作業が削減され、信頼性の高いデプロイおよび管理機能が提供されます。