Q64 — AWS DOP-C02 第3章

第 64/100 問 | ← 第3章

ある企業が、現在使用しているbashデプロイスクリプトをAWS開発ツールに置き換えたいと考えています。同社は現在、LAMPアプリケーションをアプリケーションロードバランサー(ALB)の後ろに配置された一連のAmazon EC2インスタンスにデプロイしています。デプロイ期間中、同社は提出されたアプリケーションの単体テストを実行し、サービスを停止・起動し、ロードバランサーからインスタンスを登録解除・再登録し、ファイルの権限を更新します。同社は、AWSサービスへの移行を通じて、これらのデプロイ機能を維持したいと考えています。 これらの要件を満たすソリューションはどれですか?

正解: D. AWS CodePipelineを使用してAWS CodeBuildをトリガーし、アプリケーションをテストします。AWS CodeDeployのappspec.ymlファイルから呼び出されるbashスクリプトを使用してサービスを再起動します。ALBからAWS CodeDeployデプロイメントグループ内のインスタンスを登録解除・再登録します。appspec.ymlファイルを更新して、カスタムスクリプトなしでファイルの権限を更新します。

解説

CodeDeployは単体テストを実行できますが、そのためにマシン上にCodeDeployエージェントのインストールが必要です(https://aws.amazon.com/blogs/devops/how-to-test-and-debug-aws-codedeploy-locally-before-you-ship-your-code/#:~:text=You%20can%20test%20application%20code,local%20server%20or%20EC2%20instance)。しかし、単体テストの正しい実施方法はCodeBuildを使用することです。A:不正:デプロイパイプラインが存在しません。CodeBuildのみの使用です。BおよびC:不正:単体テストはCodeBuildで実行すべきであり、CodeDeployではありません。D:正解。CodePipeline、単体テスト用のCodeBuild、およびCodeDeployを組み合わせています。