Description
Ensure that Managed Instance Groups (MIGs) supporting production workloads are configured as regional (multi-zone) instance groups, distributing instances across multiple zones within a region rather than being confined to a single zone.
Rationale
A zonal Managed Instance Group places all of its instances within a single zone, so a zonal outage or maintenance event can simultaneously affect every instance in the group, resulting in a full service outage. A regional Managed Instance Group automatically distributes instances across multiple zones in the region, so that the loss of a single zone only affects a portion of the group's capacity, improving overall availability.
Impact
Reduces the risk of a complete service outage due to a single zonal failure
Improves overall availability and resilience of the workload
May require re-architecting an existing zonal group, since the instance group scope generally cannot be changed after creation
Default Value
Managed Instance Groups can be created as either zonal or regional; there is no single default, and the scope must be explicitly selected at creation.
Pre-Requisites
An instance template compatible with deployment across multiple zones in the target region
IAM permissions to create and manage Managed Instance Groups (e.g., Compute Instance Admin)
Test Plan
Sign in to the Google Cloud Console at https://console.cloud.google.com.
Select the relevant project.
Navigate to Compute Engine > Instance groups and select the group to review.
Open the group's Location / Details section.
Verify that the group's Location is set to a region with instances distributed across multiple zones, rather than a single zone.
If a production group is zonal (single-zone), follow the implementation steps.
Implementation Steps
Sign in to the Google Cloud Console at https://console.cloud.google.com.
Navigate to Compute Engine > Instance groups and select Create instance group.
Choose New managed instance group and select the appropriate instance template.
Set Location to Multiple zones and select the region and (optionally) the specific zones to include.
Configure autoscaling, autohealing, and any load balancer attachment as required.
Create the new regional group, verify instances are distributed across the expected zones, and migrate traffic from the old zonal group.
Decommission the old zonal group once the migration is verified.
Backout Plan
Sign in to the Google Cloud Console at https://console.cloud.google.com.
Navigate to Compute Engine > Instance groups.
Because a regional group's scope cannot be changed to zonal directly, reverting requires creating a new zonal group with the same instance template and migrating traffic back to it.
Redirect load balancer backends or clients to the new zonal group.
Delete the regional group once the migration is verified.
Reference