DOP-C02 Question 129
Select 3You are tasked with automating the deployment of an application stack on AWS. The stack includes Amazon EC2 instances, an Amazon RDS database, and an Amazon S3 bucket. The organization requires the infrastructure to be defined as code and managed through automation. Which methods and tools can you use to interact with and provision AWS resources in a reusable and automated manner?
- A
AWS CloudFormation templates
- B
AWS Management Console
- C
AWS SDKs and CLI
- D
AWS Elastic Beanstalk
- E
Terraform
Show answer and explanation
Correct answers: A, C, E
Explanation
To interact with AWS software-defined infrastructure in a reusable and automated way, you should use Infrastructure as Code (IaC) tools like AWS CloudFormation or Terraform. AWS SDKs and the CLI also provide programmatic access for automation. The AWS Management Console and Elastic Beanstalk, while useful for specific scenarios, are not suitable for defining infrastructure as code or reusable automation workflows.
- A. Correct.
AWS CloudFormation templates allow you to define and provision AWS infrastructure as code in a reusable and automated way. This is a highly recommended method for managing stacks.
- B. Incorrect.
The AWS Management Console is a GUI-based tool that enables direct interaction with AWS resources, but it is not suitable for automation or reusable infrastructure definitions.
- C. Correct.
AWS SDKs and the AWS CLI provide programmatic access to AWS resources, making them suitable for automation and scripting. These are valid tools for interacting with AWS in an automated manner.
- D. Incorrect.
AWS Elastic Beanstalk is a Platform-as-a-Service (PaaS) solution, primarily used for deploying and managing applications, not for defining or automating infrastructure as code.
- E. Correct.
Terraform is a third-party Infrastructure as Code (IaC) tool that can interact with AWS resources and is widely used for managing reusable and automated infrastructure.