Which approach addresses these requirements?
Use cost allocation reports and AWS OpsWorks to deploy and manage the infrastructure.
Use Amazon CloudWatch metrics and alerts along with resource tagging to deploy and manage the infrastructure.
Use AWS Elastic Beanstalk and AWS CodeCommit to deploy and manage the infrastructure.
Use AWS CloudFormation and AWS CodeCommit to deploy and manage the infrastructure.
Explanations:
AWS OpsWorks is a configuration management service and does not provide native infrastructure as code (IaC) capabilities to deploy multiple identical copies or manage versioned changes as required. Cost allocation reports and OpsWorks are not suitable for version-controlled deployment.
CloudWatch metrics and alerts help monitor infrastructure but are not designed for managing or deploying infrastructure as code. Resource tagging is useful for categorizing resources but does not address infrastructure versioning or deployment.
AWS Elastic Beanstalk manages applications but does not provide comprehensive infrastructure as code functionality or version-controlled infrastructure deployment. CodeCommit is for version control but not specifically for IaC.
AWS CloudFormation allows for the deployment and management of infrastructure as code, enabling the creation of identical infrastructure, staging changes, and version control. CodeCommit provides a source control repository for tracking infrastructure templates, making this option the most suitable.