2020 in Review for AWS CloudFormation
As we move into 2021, we would like to provide a recap of how AWS CloudFormation coverage changed in 2020 and offer you a look at new features. These changes lay the foundation for 2021 as we focus on registry, resource types, and resource coverage.
In 2019, we released the AWS CloudFormation registry, which lists the extensions, both private and public (AWS), that are available for use in your AWS account. Since its release, the registry has become the only way we develop new CloudFormation resource types in AWS.
In 2020, we added support for 40 new services to CloudFormation. Of those 40, 22 were launched on the same day the service was announced. Our total service coverage is now 147 services out of the 174 eligible services. We are continuously improving our processes to support all new services at launch. We also added 184 CloudFormation resource types and added new capabilities to 167 existing resources.
As of early March, 2021 this brings our total resource types to 708 resources of which 182 are publicly available on GitHub. Here are some of the most popular repositories:
If you have questions or issues about the coverage, see our public coverage roadmap at aws-cloudformation-coverage-roadmap.
We released the following new capabilities in 2020.
AWS CloudFormation Guard
AWS CloudFormation Guard (cfn-guard) is an open-source command line interface that helps enterprises keep their AWS infrastructure and application resources in compliance with their company policy guidelines. Cfn-guard provides compliance administrators with a simple, policy-as-code language to define rules that can check for required and prohibited resource configurations. Developers can use this command line interface to validate their CloudFormation templates against those rules. For more information, see Introducing AWS CloudFormation Guard (Preview).
Increased Service Quotas
Template size: The maximum size of a template that can be passed in an Amazon S3 object is now 1 MB (previously 450 KB).
The new per-template limits are as follows:
Resources: The maximum number of resources is 500 (up from 200).
Parameters: The maximum number of parameters is 200 (previously 60).
Mappings: The maximum number of mappings is 200 (previously 100).
Outputs: The maximum number of outputs is 200 (previously 60).
For more information, see AWS CloudFormation now supports increased limits on five service quotas.
Modules allow you to define reusable building blocks in the CloudFormation registry. A module encapsulates one or more resources and their respective configurations. You develop and deploy modules using the cloudformation-cli. To deploy modules at scale, you can use AWS CloudFormation StackSets with the AWS::CloudFormation::ModuleDefaultVersion and AWS::CloudFormation::ModuleVersion resource types. For more information, see Announcing Modules for AWS CloudFormation.
Change sets for nested stacks
We extended AWS CloudFormation change sets to support applications with nested stacks. You can preview the changes to your application and infrastructure resources across the entire nested stack hierarchy and proceed with updates when you’ve confirmed that all the changes are as intended. For more information, see the Change sets for nested stacks in the AWS CloudFormation User Guide.
StackSets integration with AWS Organizations
Use StackSets to centrally manage deployments to all the accounts in your organization or specific organizational units (OUs) in AWS Organizations. You can enable automatic deployments to any new accounts added to your organization or OUs. StackSets handles the permissions required to deploy across accounts. For more information, see Working with AWS CloudFormation StackSets in the AWS CloudFormation User Guide.