# Bash Script to Enable VPC Flow Logs on all subnets in a GCP Project

Here's a super simple bash script to enable VPC flow logs on every subnet across a specified GCP project with an option to include or exclude logging metadata that I wrote. It has the aggregation interval set to 10-min however, you could modify this to your needs in addition to setting additional flags available for the VPC flow log [settings](https://cloud.google.com/vpc/docs/using-flow-logs#gcloud).

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1678290465894/1f3ba84b-dfe3-43ba-a60b-e1e4343e6bd3.png align="center")

Here are some [use cases](https://cloud.google.com/vpc/docs/flow-logs#use_cases) for enabling VPC flow logs:

* Network monitoring: diagnostics and capacity forecasting
    
* Network traffic optimization expenses: inter-region and zone traffic analysis
    
* Network forensics: examine compromised IPs
    
* Real-time security analysis: SIEM integration
    

Link to script: [https://github.com/jksprattler/gcp-networking/blob/main/scripts/enable-flowlogs.sh](https://github.com/jksprattler/gcp-networking/blob/main/scripts/enable-flowlogs.sh)
