AWS CloudFormation | General Flashcards

1
Q

What is AWS CloudFormation?

General

AWS CloudFormation | Management Tools

A

AWS CloudFormation is a service that gives developers and businesses an easy way to create a collection of related AWS resources and provision them in an orderly and predictable fashion.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What can developers now do with AWS CloudFormation that they could not before?

General

AWS CloudFormation | Management Tools

A

AWS CloudFormation automates and simplifies the task of repeatedly and predictably creating groups of related resources that power your applications. Creating and interconnecting all resources your application needs to run is now as simple as creating a single EC2 or RDS instance.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How is AWS CloudFormation different from AWS Elastic Beanstalk?

General

AWS CloudFormation | Management Tools

A

These services are designed to complement each other. AWS Elastic Beanstalk provides an environment to easily deploy and run applications in the cloud. It is integrated with developer tools and provides a one-stop experience for you to manage the lifecycle of your applications. AWS CloudFormation is a convenient provisioning mechanism for a broad range of AWS resources. It supports the infrastructure needs of many different types of applications such as existing enterprise applications, legacy applications, applications built using a variety of AWS resources and container-based solutions (including those built using AWS Elastic Beanstalk).

AWS CloudFormation supports Elastic Beanstalk application environments as one of the AWS resource types. This allows you, for example, to create and manage an AWS Elastic Beanstalk–hosted application along with an RDS database to store the application data. In addition to RDS instances, any other supported AWS resource can be added to the group as well.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What new concepts does AWS CloudFormation introduce?

General

AWS CloudFormation | Management Tools

A

AWS CloudFormation introduces two concepts: The template, a JSON or YAML-format, text-based file that describes all the AWS resources you need to deploy to run your application and the stack, the set of AWS resources that are created and managed as a single unit when AWS CloudFormation instantiates a template.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What resources does AWS CloudFormation support?

General

AWS CloudFormation | Management Tools

A

To see a complete list of supported AWS resources and their features, visit the Supported AWS Services page in the Release History of the documentation.

AWS CloudFormation custom resources enable management of additional AWS and non-AWS resources.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Can I manage individual AWS resources that are part of an AWS CloudFormation stack?

General

AWS CloudFormation | Management Tools

A

Yes. AWS CloudFormation does not get in the way; you retain full control of all elements of your infrastructure. You can continue using all your existing AWS and third-party tools to manage your AWS resources.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the elements of an AWS CloudFormation template?

General

AWS CloudFormation | Management Tools

A

AWS CloudFormation templates are JSON or YAML-formatted text files that are comprised of five types of elements:

  1. An optional list of template parameters (input values supplied at stack creation time)
  2. An optional list of output values (e.g. the complete URL to a web application)
  3. An optional list of data tables used to lookup static configuration values (e.g., AMI names)
  4. The list of AWS resources and their configuration values
  5. A template file format version number

With parameters, you can customize aspects of your template at run time, when the stack is built. For example, the Amazon RDS database size, Amazon EC2 instance types, database and web server port numbers can be passed to AWS CloudFormation when a stack is created. Each parameter can have a default value and description and may be marked as “NoEcho” in order to hide the actual value you enter on the screen and in the AWS CloudFormation event logs. When you create an AWS CloudFormation stack, the AWS Management Console will automatically synthesize and present a pop-up dialog form for you to edit parameter values.

Output values are a very convenient way to present a stack’s key resources (such as the address of an Elastic Load Balancing load balancer or Amazon RDS database) to the user via the AWS Management Console, or the command line tools. You can use simple functions to concatenate string literals and value of attributes associated with the actual AWS resources.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How does AWS CloudFormation choose actual resource names?

General

AWS CloudFormation | Management Tools

A

You can assign logical names to AWS resources in a template. When a stack is created, AWS CloudFormation binds the logical name to the name of the corresponding actual AWS resource. Actual resource names are a combination of the stack and logical resource name. This allows multiple stacks to be created from a template without fear of name collisions between AWS resources.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Why can’t I name all my resources?

General

AWS CloudFormation | Management Tools

A

Although AWS CloudFormation allows you to name some resources (such as Amazon S3 buckets), CloudFormation doesn’t allow this for all resources. Naming resources restricts the reusability of templates and results in naming conflicts when an update causes a resource to be replaced. To minimize these issues, CloudFormation will support resource naming on a case by case basis.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Can I install software at stack creation time using AWS CloudFormation?

General

AWS CloudFormation | Management Tools

A

Yes. AWS CloudFormation provides a set of application bootstrapping scripts that enable you to install packages, files, and services on your EC2 instances by simply describing them in your CloudFormation template. For more details and a how-to see Bootstrapping Applications via AWS CloudFormation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Can I use AWS CloudFormation with Chef?

General

AWS CloudFormation | Management Tools

A

Yes. AWS CloudFormation can be used to bootstrap both the Chef Server and Chef Client software on your EC2 instances. For more details and a how-to see Integrating AWS CloudFormation with Chef.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Can I use AWS CloudFormation with Puppet?

General

AWS CloudFormation | Management Tools

A

Yes. AWS CloudFormation can be used to bootstrap both the Puppet Master and Puppet Client software on your EC2 instances. For more details and a how-to see Integrating AWS CloudFormation with Puppet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Does AWS CloudFormation support Amazon EC2 tagging?

General

AWS CloudFormation | Management Tools

A

Yes. Amazon EC2 resources that support the tagging feature can also be tagged in an AWS template. The tag values can refer to template parameters, other resource names, resource attribute values (e.g. addresses), or values computed by simple functions (e.g., a concatenated a list of strings).AWS CloudFormation automatically tags Amazon EBS volumes and Amazon EC2 instances with the name of the AWS CloudFormation stack they are part of.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Do I have access to the Amazon EC2 instance, or Auto Scaling Launch Configuration user-data fields?

General

AWS CloudFormation | Management Tools

A

Yes. You can use simple functions to concatenate string literals and attribute values of the AWS resources and pass them to user-data fields in your template. Please refer to our sample templates to learn more about these easy to use functions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What happens when one of the resources in a stack cannot be created successfully?

General

AWS CloudFormation | Management Tools

A

By default, the “automatic rollback on error” feature is enabled. This will cause all AWS resources that AWS CloudFormation created successfully for a stack up to the point where an error occurred to be deleted. This is useful when, for example, you accidentally exceed your default limit of Elastic IP addresses, or you don’t have access to an EC2 AMI you’re trying to run. This feature enables you to rely on the fact that stacks are either fully created, or not at all, which simplifies system administration and layered solutions built on top of AWS CloudFormation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Can stack creation wait for my application to start up?

General

AWS CloudFormation | Management Tools

A

Yes. AWS CloudFormation provides a WaitCondition resource that acts as a barrier, blocking the creation of other resources until a completion signal is received from an external source such as your application, or management system.

17
Q

Can I save my data when a stack is deleted?

General

AWS CloudFormation | Management Tools

A

Yes. AWS CloudFormation allows you to define deletion policies for resources in the template. You can specify that snapshots be created for Amazon EBS volumes or Amazon RDS database instances before they are deleted. You can also specify that a resource should be preserved and not deleted when the stack is deleted. This is useful for preserving Amazon S3 buckets when the stack is deleted.

18
Q

Can I update my stack after it has been created?

General

AWS CloudFormation | Management Tools

A

Yes. You can use AWS CloudFormation to modify and update the resources in your existing stacks in a controlled and predictable way. By using templates to manage your stack changes, you have the ability to apply version control to your AWS infrastructure just as you do with the software running on it.