Description
Ensure that Compute Engine VM instances are configured with a single network interface (NIC), rather than multiple NICs connecting the instance to more than one VPC network, unless a documented and approved architectural reason requires multiple interfaces.
Rationale
An instance with multiple network interfaces spanning different VPC networks can act as a bridge between those networks, potentially allowing traffic to traverse network boundaries that were intended to remain segmented, and bypassing firewall rules and routing controls designed around single-network assumptions. Restricting instances to a single network interface reduces the risk of unintended network bridging and simplifies network security review.
Impact
Reduces the risk of an instance being used (intentionally or via compromise) to bridge otherwise segmented networks
Simplifies firewall rule and routing analysis for the instance
May require architectural review for legitimate multi-NIC use cases, such as dedicated network appliances
Default Value
By default, a newly created VM instance has a single network interface unless additional interfaces are explicitly added at creation time.
Pre-Requisites
IAM permissions to view Compute Engine instance network configuration (e.g., Compute Viewer)
A documented list of any approved exceptions requiring multiple network interfaces (for example, network virtual appliances)
Test Plan
Sign in to the Google Cloud Console at https://console.cloud.google.com.
Select the relevant project.
Navigate to Compute Engine > VM instances and select the instance to review.
Open the instance details and review the Network interfaces section.
Verify that only one network interface is listed, unless the instance is a documented, approved exception.
If an instance has multiple network interfaces without documented approval, follow the implementation steps.
Implementation Steps
Sign in to the Google Cloud Console at https://console.cloud.google.com.
Select the relevant project.
Navigate to Compute Engine > VM instances and identify the instance with multiple network interfaces.
Note that network interfaces generally cannot be added or removed on a running or existing instance; this typically requires creating a replacement instance.
Create a new instance with a single network interface on the appropriate VPC network and subnet, matching the required configuration.
Migrate the workload and any necessary data to the new single-NIC instance, verifying connectivity and functionality.
Delete the original multi-NIC instance once the migration is verified.
Backout Plan
Sign in to the Google Cloud Console at https://console.cloud.google.com.
Select the relevant project.
Navigate to Compute Engine > VM instances.
Create a new instance with the additional network interface(s) required, following the same replacement process described above.
Migrate the workload to the new multi-NIC instance and verify functionality.
Delete the single-NIC instance once the migration is verified.
Reference