Skip to content

Commit f9b5cb0

Browse files
CopilotSteve-GlasssunbryeCopilot
authored
docs: Add Azure VNET failover documentation for GitHub-hosted runners (#60559)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Steve-Glass <84886334+Steve-Glass@users.noreply.github.com> Co-authored-by: Sunbrye Ly <56200261+sunbrye@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
1 parent 0227f65 commit f9b5cb0

File tree

6 files changed

+107
-0
lines changed

6 files changed

+107
-0
lines changed

content/admin/configuring-settings/configuring-private-networking-for-hosted-compute-products/about-azure-private-networking-for-github-hosted-runners-in-your-enterprise.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,12 @@ category:
4040

4141
{% data reusables.actions.azure-vnet-networking-policies %}
4242

43+
## About VNET failover
44+
45+
{% data reusables.actions.azure-vnet-about-failover %}
46+
47+
For more information about configuring a failover network, see [AUTOTITLE](/admin/configuring-settings/configuring-private-networking-for-hosted-compute-products/configuring-private-networking-for-github-hosted-runners-in-your-enterprise#5-optionally-add-a-failover-network-to-a-network-configuration).
48+
4349
## Managing network configuration policies for organizations in your enterprise
4450

4551
You can give organization owners in your enterprise the ability to set up and maintain organization-level network configurations for {% data variables.product.company_short %}-hosted runners.

content/admin/configuring-settings/configuring-private-networking-for-hosted-compute-products/configuring-private-networking-for-github-hosted-runners-in-your-enterprise.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,33 @@ You can use the following {% data variables.product.prodname_cli %} commands to
119119
1. To disable a network configuration, to the right of the network configuration, click {% octicon "kebab-horizontal" aria-label="Menu" %}. Then click **Disable**.
120120
1. To delete a network configuration, to the right of the network configuration, click {% octicon "kebab-horizontal" aria-label="Menu" %}. Then click **Delete**.
121121

122+
### 5. Optionally, add a failover network to a network configuration
123+
124+
{% data reusables.actions.azure-vnet-about-failover %}
125+
126+
Before adding a failover network, ensure you have configured the Azure resources (VNET, subnet, network security group, and network settings resource) for the secondary subnet, following the same "Configuring your Azure resources" procedures above. The failover subnet can be in a different Azure region from your primary subnet.
127+
128+
{% data reusables.enterprise-accounts.access-enterprise %}
129+
{% data reusables.enterprise-accounts.settings-tab %}
130+
1. In the left sidebar, click **Hosted compute networking**.
131+
1. Click the edit icon ({% octicon "pencil" aria-label="Edit a network configuration" %}) next to the network configuration you want to add a failover network to. Then click **Edit configuration**.
132+
1. Click **Add failover network**.
133+
1. In the popup window, enter the network settings resource ID for your secondary (failover) Azure subnet.
134+
1. Click **Add Azure Virtual Network**.
135+
1. You will now see two subnets listed in the network configuration: the primary and the failover, labeled accordingly.
136+
137+
### 6. Optionally, enable or disable the failover network
138+
139+
After adding a failover network, you can enable it to route traffic through the secondary subnet, or disable it to return to the primary subnet.
140+
141+
{% data reusables.enterprise-accounts.access-enterprise %}
142+
{% data reusables.enterprise-accounts.settings-tab %}
143+
1. In the left sidebar, click **Hosted compute networking**.
144+
1. Click the edit icon ({% octicon "pencil" aria-label="Edit a network configuration" %}) next to the network configuration. Then click **Edit configuration**.
145+
1. To switch to the failover network, click **Enable failover VNET**. Runner traffic will be routed through the failover subnet.
146+
1. To switch back to the primary network, click **Disable failover VNET**. Runner traffic will return to the primary subnet.
147+
148+
122149
## Enabling creation of network configurations for organizations
123150

124151
You can allow organization owners in an enterprise to create their own organization-level network configurations.

content/organizations/managing-organization-settings/about-azure-private-networking-for-github-hosted-runners-in-your-organization.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,12 @@ category:
3838

3939
{% data reusables.actions.azure-vnet-networking-policies %}
4040

41+
## About VNET failover
42+
43+
{% data reusables.actions.azure-vnet-about-failover %}
44+
45+
For more information about configuring a failover network, see [AUTOTITLE](/organizations/managing-organization-settings/configuring-private-networking-for-github-hosted-runners-in-your-organization#5-optionally-add-a-failover-network-to-a-network-configuration).
46+
4147
## Using {% data variables.product.company_short %}-hosted runners with an Azure VNET
4248

4349
{% data reusables.actions.azure-vnet-next-steps-links %}

content/organizations/managing-organization-settings/configuring-private-networking-for-github-hosted-runners-in-your-organization.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,35 @@ https://api.github.com/graphql
108108
1. To disable a network configuration, to the right of the network configuration, click {% octicon "kebab-horizontal" aria-label="Menu" %}. Then click **Disable**.
109109
1. To delete a network configuration, to the right of the network configuration, click {% octicon "kebab-horizontal" aria-label="Menu" %}. Then click **Delete**.
110110

111+
### 5. Optionally, add a failover network to a network configuration
112+
113+
{% data reusables.actions.azure-vnet-about-failover %}
114+
115+
Before adding a failover network, ensure you have configured the Azure resources (VNET, subnet, network security group, and network settings resource) for the secondary subnet, following the same "Configuring your Azure resources" procedures above. The failover subnet can be in a different Azure region from your primary subnet.
116+
117+
{% data reusables.profile.access_org %}
118+
{% data reusables.profile.org_settings %}
119+
1. In the left sidebar, click **Hosted compute networking**.
120+
1. Click the edit icon ({% octicon "pencil" aria-label="Edit a network configuration" %}) next to the network configuration you want to add a failover network to. Then click **Edit configuration**.
121+
1. Click **Add failover network**.
122+
1. In the popup window, enter the network settings resource ID for your secondary (failover) Azure subnet.
123+
1. Click **Add Azure Virtual Network**.
124+
1. You will now see two subnets listed in the network configuration: the primary and the failover, labeled accordingly.
125+
126+
### 6. Optionally, enable or disable the failover network
127+
128+
After adding a failover network, you can enable it to route traffic through the secondary subnet, or disable it to return to the primary subnet.
129+
130+
{% data reusables.profile.access_org %}
131+
{% data reusables.profile.org_settings %}
132+
1. In the left sidebar, click **Hosted compute networking**.
133+
1. Click the edit icon ({% octicon "pencil" aria-label="Edit a network configuration" %}) next to the network configuration. Then click **Edit configuration**.
134+
1. To switch to the failover network, click **Enable failover VNET**. Runner traffic will be routed through the failover subnet.
135+
1. To switch back to the primary network, click **Disable failover VNET**. Runner traffic will return to the primary subnet.
136+
137+
> [!NOTE]
138+
> If {% data variables.product.company_short %} enables failover automatically during a regional outage, you will be notified via audit log event and email. You must manually disable the failover to return to the primary subnet when the outage is resolved.
139+
111140
## Deleting a subnet
112141

113142
{% data reusables.actions.azure-vnet-deleting-a-subnet %}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
> [!NOTE]
2+
> VNET failover is in {% data variables.release-phases.public_preview %} and subject to change.
3+
4+
You can configure a failover network for your network configuration. A failover network is a secondary Azure Virtual Network subnet, which can be in a different Azure region from your primary subnet. If your primary subnet becomes unavailable due to a regional outage or other disruption, you can enable the failover network to route runner traffic through the secondary subnet, maintaining continuity for your {% data variables.product.prodname_actions %} workflows.
5+
6+
Key points about VNET failover:
7+
8+
* The failover subnet can reside in a different Azure region than the primary subnet.
9+
* Switching between primary and failover subnets is a manual process. You enable or disable the failover network at your discretion.
10+
* Both the primary and failover subnets must be configured with the required Azure resources (VNET/subnet, network settings, etc.) before you can use failover.
11+
* The failover subnet must be in a [supported region](/admin/configuring-settings/configuring-private-networking-for-hosted-compute-products/about-azure-private-networking-for-github-hosted-runners-in-your-enterprise#about-supported-regions).

data/reusables/actions/azure-vnet-hosted-compute-troubleshooting.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,3 +105,31 @@ If you experience this error, you can see more information by running the comman
105105
### Network settings configured at the wrong level
106106

107107
If network settings were configured using an organization's `databaseId` instead of an enterprise `databaseId`, an error will occur. The error message will indicate that a private network cannot be established with the provided resource ID because it is already associated with a different enterprise or organization. To resolve this, delete the existing network settings and recreate them using the enterprise `databaseId`.
108+
109+
### Failover network not switching traffic
110+
111+
> [!NOTE]
112+
> VNET failover is in {% data variables.release-phases.public_preview %} and subject to change.
113+
> [!IMPORTANT]
114+
> Switching between the primary and failover networks is a gradual process. During the transition, runners may be running on both networks simultaneously. Based on testing, the full transition takes approximately 15 minutes. Ensure both subnets remain accessible during this period.
115+
116+
If enabling the failover network does not appear to reroute runner traffic, check the following:
117+
118+
* Ensure the failover subnet's Azure resources (VNET/subnet, NSG/firewall, network settings) are correctly configured. Follow the same "Configuring your Azure resources" procedures used for your primary subnet.
119+
* Confirm the failover network was added to the correct network configuration and that the configuration is associated with the appropriate runner group.
120+
121+
### Failover subnet not reachable
122+
123+
If runners cannot connect after enabling the failover network, the issue is likely with the Azure resources configured for the failover subnet.
124+
125+
* Ensure the failover subnet has the correct NSG or firewall rules applied, matching the requirements listed in the [AUTOTITLE](/enterprise-cloud@latest/admin/configuring-settings/configuring-private-networking-for-hosted-compute-products/configuring-private-networking-for-github-hosted-runners-in-your-enterprise) procedures.
126+
* Verify that the failover subnet has sufficient IP address space for the expected runner concurrency.
127+
128+
### Cannot switch back to primary after GitHub-initiated failover
129+
130+
131+
1. Navigate to your network configuration in the **Hosted compute networking** settings.
132+
1. Click the edit icon next to the network configuration. Then click **Edit configuration**.
133+
1. Click **Disable failover VNET** to return runner traffic to the primary subnet.
134+
135+
If you are unable to disable the failover, ensure the primary subnet's Azure resources are healthy and accessible. Verify there are no ongoing outages in the primary subnet's Azure region.

0 commit comments

Comments
 (0)