Drift detection
CloudFormation, as a service, often refers to the term state. The state is inventory information that contains a pair of values: the logical resource name, such as what name we define in the template, and the physical resource ID that is assigned by AWS, such as the EC2 Instance ID, DynamoDB table name, and so on.
CloudFormation uses its state to understand which resources to create or update. If we create a stack with a resource with a logical name of foo
, change the property of this resource (foo
) in a template, and run an update, then CloudFormation will change the corresponding physical resource in the account.
CloudFormation has a set of constraints. For example, it will not update the stack if we do not introduce changes to it. If we make manual changes to the resource, then CloudFormation will change them only when we make changes to the template.
Cloud engineers had to rethink their way of managing the infrastructure once they started using CloudFormation...