Which combination of actions should be taken when building this pipeline to meet these requirements?
(Choose three.)
Configure an AWS CodePipeline pipeline with a build stage using AWS CodeBuild.
Copy the build artifact from CodeCommit to Amazon S3.
Create an Auto Scaling group of Amazon EC2 instances behind an Application Load Balancer (ALB) and set the ALB as the deployment target in AWS CodePipeline.
Create an AWS Elastic Beanstalk environment as the deployment target in AWS CodePipeline.
Implement an Amazon SQS queue to decouple the pipeline components.
Provision all resources using AWS CloudFormation.
Explanations:
Configuring an AWS CodePipeline with a build stage using AWS CodeBuild allows for continuous integration. CodeBuild automates the build process, producing artifacts that can be deployed. CodePipeline orchestrates the workflow, enabling automated deployments and supporting rollback mechanisms.
While copying build artifacts to Amazon S3 can be part of the process, it is not a necessary action in the context of this pipeline. AWS CodePipeline can directly handle artifacts between stages without the need to manually copy them to S3.
Creating an Auto Scaling group behind an Application Load Balancer is more complex than necessary for the pipeline requirements. CodePipeline can deploy to other AWS services directly, and using EC2 requires more setup and maintenance compared to simpler deployment targets like Elastic Beanstalk.
Using AWS Elastic Beanstalk as the deployment target in CodePipeline simplifies the deployment process. Elastic Beanstalk automatically manages the environment, scaling, and load balancing, and it supports automatic rollback on deployment failure.
Implementing an Amazon SQS queue is not essential for the CI/CD pipeline requirements. SQS is useful for decoupling components but does not directly address the continuous integration, delivery, or rollback requirements specified in the scenario.
Provisioning all resources using AWS CloudFormation allows for infrastructure as code, making it easy to replicate the CI/CD pipeline across different AWS accounts or regions quickly. This meets the requirement for re-provisioning in alternate accounts or regions within minutes.