1.Configuration Recorder, Items, and History
AWS Config watches your resources and writes down how each one is configured. The configuration recorder is the thing that watches; every time a recorded resource is created, changed, or deleted it writes a configuration item — a point-in-time snapshot of that one resource. The collection of those items for a resource over time is its configuration history, and it is what lets you answer "what did this security group look like last Tuesday".
Key features
- A configuration item is a point-in-time view of one resource: metadata, attributes, relationships, current configuration, and related events
- A customer managed configuration recorder records all supported resource types in its Region by default; a service-linked recorder's scope is fixed by the linked service
- Configuration history is the collection of configuration items for one resource over a time period, delivered to an S3 bucket you specify and browsable as a timeline
- A configuration snapshot is the opposite cut: every recorded resource at one moment, useful for validating the whole account rather than one resource
- The configuration stream publishes each new configuration item to an SNS topic, so changes can trigger notifications or external systems as they happen
- AWS Config also builds a relationship map — an EBS volume attached to an instance associated with a security group — so you can see the blast radius of a change
The four record shapes AWS Config produces
- Resource changes — security group edited
- leads to Configuration recorder (detected by)
- Configuration recorder — in scope?
- leads to Configuration item (writes)
- Configuration item — point-in-time view
- leads to Configuration history (accumulates into)
- leads to Configuration stream (published to)
- Configuration history — S3 bucket + console timeline
- Configuration stream — SNS notification
Signature
recorder → configuration item → configuration history · snapshot (all resources, one moment) · stream (SNS)
The configuration recorder writes a configuration item on every change to a recorded resource. Those items accumulate into that resource's configuration history — the only place its previous configuration exists. A snapshot is the same data cut the other way: every resource at one moment.