Infrastructure maintenance events

This guide describes infrastructure maintenance events and how they can affect Cloud Interconnect connections.

What infrastructure maintenance events are

Infrastructure maintenance events are times that Google Cloud performs regular maintenance on network equipment, including equipment for Cloud Interconnect. The events are usually scheduled in advance and we provide notification, when possible, so that you can plan for the infrastructure maintenance event and prevent downtime. Infrastructure maintenance events don't have a set interval between occurrences, but generally occur several times a year.

Emergency, or unscheduled maintenance events, might also occur. Emergency events are irregular and unplanned-for events that can affect Cloud Interconnect connections. Unfortunately, emergency events can happen at any time, without warning. Google recommends that you create high availability hybrid network topologies to mitigate network outages caused by emergency maintenance events.

A single link in one edge availability domain carries no SLA. To prevent loss of access to your services during maintenance, make sure that you provision two links in different edge availability domains. For more information, see Create redundant Cloud Interconnect connections with sufficient capacity.

Receiving event notifications

Most notifications are for planned and potential interruptions, so that you can perform preventative actions, such as redirecting traffic. However, in the unlikely event of an emergency event, you might receive a notification for an interruption but not have sufficient time to redirect traffic. To reduce the chances of traffic disruptions due to emergency interruptions, see Best practices.

Maintenance events might not happen as planned. We send updated event notifications if a maintenance event is rescheduled or canceled.

Notifications don't appear in Google Cloud console for Partner Interconnect users.

Assigning contacts for event notifications

Cloud Interconnect notifies the project owners and also uses the Essential Contacts API to send notifications about upcoming maintenance events. If you don't assign a technical contact to a project, then notifications are sent to fallback contacts, which are based on IAM roles.

To ensure that you receive proper notification about maintenance events, specify at least one technical contact for any project that hosts a Dedicated Interconnect connection or a VLAN attachment.

For more information about assigning technical contacts for a project, see Managing contacts for notifications.

Dedicated Interconnect event notifications

Prior to a scheduled infrastructure maintenance event, Dedicated Interconnect users receive the following notifications:

  • An email is sent to all Dedicated Interconnect connection project owners as soon as an impacting maintenance is scheduled.

  • An email is sent to the address listed in the nocContactEmail field of the Cloud Interconnect object. You can find and edit this object in the Google Cloud console on the Cloud Interconnect details page, or by using the following Google Cloud CLI command:

    gcloud compute interconnects describe my-interconnect
    
  • An email is sent to any technical contacts listed for the project that hosts the Dedicated Interconnect connection.

  • A notification appears on the Google Cloud console Activity tab and in the Notifications area.

Partner Interconnect event notifications

Prior to a scheduled infrastructure maintenance event, Partner Interconnect users receive the following notifications:

  • An email is sent to any technical contacts for the project that hosts the VLAN attachment.

  • An email is sent to all project owners for the project that hosts the VLAN attachment.

Outage statuses

Event emails sent to project owners and nocContactEmail contacts include a section titled "Outage Status". The following describes the possible outage status states:

  • Updated: a previously scheduled maintenance event that is updated or rescheduled.

  • Overrun: a previously scheduled maintenance event that is in progress and taking longer than expected to complete.

  • Completed: a completed maintenance event.

  • Canceled: a previously scheduled maintenance event that is canceled.

  • New: a new maintenance event.

  • No change: a previously scheduled maintenance event that is still scheduled as previously planned.

View upcoming maintenance events

Select one of the following options:

gcloud

To display information about your connection, including upcoming maintenance events, run the following command:

gcloud compute interconnects describe INTERCONNECT_NAME

Replace INTERCONNECT_NAME with the name of the Cloud Interconnect.

The output is similar to the following; look for expectedOutages:

adminEnabled: true
availableFeatures:
- IF_MACSEC
circuitInfos:
- customerDemarcId: demarc-0
  googleCircuitId: circuit-0
  googleDemarcId: local-demarc-0
creationTimestamp: '2021-12-15T17:02:48.829-08:00'
customerName: Cymbal Group
description: Interconnect connection
expectedOutages:
- description: ''
  endTime: '1705520100000'
  issueType: IT_OUTAGE
  name: pcr-764913
  source: NSRC_GOOGLE
  startTime: '1705501500000'
  state: CANCELLED
- description: ''
  endTime: '1707304200000'
  issueType: IT_OUTAGE
  name: pcr-777490
  source: NSRC_GOOGLE
  startTime: '1707285600000'
  state: COMPLETED
googleIpAddress: 192.0.2.0/24
googleReferenceId: '6006458259035'
id: '249691500371717847'
interconnectType: IT_PRIVATE
kind: compute#interconnect
labelFingerprint: 42WmSpB8rSM=
linkType: LINK_TYPE_ETHERNET_10G_LR
location: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/interconnectLocations/sjc-zone1-6
macsec:
  failOpen: false
  preSharedKeys:
  - name: key-1
    startTime: '2023-08-08T21:09:21.385Z'
macsecEnabled: false
name: cymbal-group-interconnect
nocContactEmail: cloudysanfrancisco@gmail.com
operationalStatus: OS_ACTIVE
peerIpAddress: 192.0.2.0/24
provisionedLinkCount: 1
requestedLinkCount: 1
selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/interconnects/INTERCONNECT_NAME
state: ACTIVE

REST API

To list information about your connection, including upcoming maintenance events, use interconnects.get:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/interconnects/INTERCONNECT_NAME

Replace the following:

  • PROJECT_ID: the project ID that the Cloud Interconnect is located in

  • INTERCONNECT_NAME: the name of the Cloud Interconnect

The output is similar to the following:

{
"kind": "compute#interconnect",
"description": "Interconnect connection",
"selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/interconnects/INTERCONNECT_NAME",
"id": "249691500371717847",
"creationTimestamp": "2021-12-15T17:02:48.829-08:00",
"name": "INTERCONNECT_NAME",
"location": "https://www.googleapis.com/compute/v1/projects/INTERCONNECT_NAME/global/interconnectLocations/sjc-zone1-6",
"linkType": "LINK_TYPE_ETHERNET_10G_LR",
"requestedLinkCount": 1,
"interconnectType": "IT_PRIVATE",
"adminEnabled": true,
"nocContactEmail": "",
"customerName": "Cymbal Group",
"operationalStatus": "OS_ACTIVE",
"provisionedLinkCount": 1,
"peerIpAddress": "192.0.2.0/24",
"googleIpAddress": "192.0.2.0/24",
"googleReferenceId": "6006458259035",
"expectedOutages": [
  {
    "name": "pcr-764913",
    "description": "",
    "source": "NSRC_GOOGLE",
    "state": "CANCELLED",
    "issueType": "IT_OUTAGE",
    "startTime": "1705501500000",
    "endTime": "1705520100000"
  },
  {
    "name": "pcr-777490",
    "description": "",
    "source": "NSRC_GOOGLE",
    "state": "COMPLETED",
    "issueType": "IT_OUTAGE",
    "startTime": "1707285600000",
    "endTime": "1707304200000"
  }
],
"circuitInfos": [
  {
    "googleCircuitId": "circuit-0",
    "googleDemarcId": "local-demarc-0",
    "customerDemarcId": "demarc-0"
  }
],
"labelFingerprint": "42WmSpB8rSM=",
"state": "ACTIVE",
"macsec": {
  "preSharedKeys": [
    {
      "name": "key-1",
      "startTime": "2023-08-08T21:09:21.385Z"
    }
  ],
  "failOpen": false
},
"macsecEnabled": false,
"availableFeatures": [
  "IF_MACSEC"
]
}

Next steps