---
title: VPC changes should be monitored
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: Docs > Datadog Security > OOTB Rules > VPC changes should be monitored
---

# VPC changes should be monitored
 
## Description{% #description %}

Real-time monitoring of API calls can be achieved by directing CloudTrail logs to CloudWatch logs and establishing corresponding metric filters and alarms. Multiple VPCs can exist within an account, and it is also possible to create peer connections between VPCs to enable network traffic routing. It is recommended to set up a metric filter and alarm for changes made to VPCs to ensure that VPC traffic flow is not being impacted.

## Remediation{% #remediation %}

For instructions on setting up CloudWatch metric filters and alarms for VPC changes, refer to the [AWS CloudWatch Alarms for CloudTrail User Guide](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudwatch-alarms-for-cloudtrail.html).

```plaintext
aws logs put-metric-filter --log-group-name <cloudtrail_log_group_name> \
--filter-name <vpc_changes_metric> --metric-transformations \
metricName=<vpc_changes_metric>,metricNamespace='CISBenchmark',metricValue=1 \
--filter-pattern '{($.eventName = CreateVpc) || ($.eventName = DeleteVpc) || \
($.eventName = ModifyVpcAttribute) || ($.eventName = AcceptVpcPeeringConnection) || \
($.eventName = CreateVpcPeeringConnection) || ($.eventName = DeleteVpcPeeringConnection) || \
($.eventName = RejectVpcPeeringConnection) || ($.eventName = AttachClassicLinkVpc) || \
($.eventName = DetachClassicLinkVpc) || ($.eventName = DisableVpcClassicLink) || \
($.eventName = EnableVpcClassicLink)}'
```

You can choose your own `metricName` and `metricNamespace` strings. Use the same `metricNamespace` for all Foundations Benchmark metrics to group them together.
