Recently I came across a post on the AWS Security Blog introducing the Attack Flow Logs feature of Shield Advanced. Until now, when hit by a DDoS attack, administrators only knew “the system is under attack” through a few high-level metrics on CloudWatch, without seeing the details of each traffic flow — reconstructing the attack meant piecing together data from multiple sources. This new feature fills exactly that blind spot: it records the essential information of the attack traffic such as source/destination IP, port, protocol, and country, right while the incident is happening.
Right during an attack, Shield records the metadata of each traffic flow: source/destination IP, port, protocol, TCP flags, packet/byte counts — and 3 notable fields:
Logs are exported on a 5-minute cycle (both during and after the attack), each file up to 75 MB, supporting JSON / plain text / W3C / Parquet.
Once generated, the logs don’t flow to your machine on their own — they pass through a “pipeline” of 3 building blocks:
Choosing the storage destination depends on your needs:
The nice thing about splitting into these 3 blocks is the flexibility of combining them: multiple Sources can point to the same Destination, allowing an organization with many accounts to consolidate all DDoS logs into one central bucket (via cross-account configuration).
(Note: The diagram above is a flow diagram I drew to illustrate the operation flow, not a reference architecture for deployment)
Attack Flow Logs doesn’t help Shield block better — it solves the problem of being able to see and prove the attack.
Source: Gain visibility into DDoS attacks with flow logs in AWS Shield Advanced