Skip to content

Commit b44ac71

Browse files
Merge pull request #303124 from Court72/reliability-hub-edit
Reliability Hub edit: APIM Guide
2 parents 15ed507 + 600abaa commit b44ac71

File tree

3 files changed

+168
-160
lines changed

3 files changed

+168
-160
lines changed

articles/api-management/api-management-howto-deploy-multi-region.md

Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Deploy Azure API Management instance to multiple Azure regions
2+
title: Deploy an Azure API Management Instance to Multiple Azure Regions
33
titleSuffix: Azure API Management
44
description: Learn how to deploy a Premium tier Azure API Management instance to multiple Azure regions to improve API gateway availability.
55
author: dlepow
@@ -28,15 +28,16 @@ When adding a region, you configure:
2828
2929
[!INCLUDE [api-management-service-update-behavior](../../includes/api-management-service-update-behavior.md)]
3030

31-
3231
## About multi-region deployment
3332

3433
[!INCLUDE [api-management-multi-region-concepts](../../includes/api-management-multi-region-concepts.md)]
3534

3635
## Prerequisites
3736

38-
* Thoroughly understand all requirements and considerations for enabling multi-region deployment in API Management by reading [Reliability in API Management](../reliability/reliability-api-management.md).
37+
* Thoroughly understand all [requirements and considerations for enabling multi-region deployment in API Management](../reliability/reliability-api-management.md).
38+
3939
* If you haven't created an API Management service instance, see [Create an API Management service instance](get-started-create-service-instance.md). Select the Premium service tier.
40+
4041
* If your API Management instance is deployed in a virtual network, ensure that you set up a virtual network and subnet in the location that you plan to add, and within the same subscription. See [virtual network prerequisites](api-management-using-with-vnet.md#prerequisites).
4142

4243
## Deploy API Management service to an additional region
@@ -45,7 +46,7 @@ When adding a region, you configure:
4546
1. Select **+ Add** in the top bar.
4647
1. Select the added location from the dropdown list.
4748
1. Select the number of scale **[Units](upgrade-and-scale.md)** in the location.
48-
1. If the region supports [**Availability zones**](enable-availability-zone-support.md), leave the **Automatic** setting (recommended), or optionally select one or more zones. If you select specific zones, the number of units that you selected must distribute evenly across the availability zones. For example, if you selected three units, you would select three zones so that each zone hosts one unit.
49+
1. If the region supports [**Availability zones**](enable-availability-zone-support.md), leave the **Automatic** setting (recommended), or optionally select one or more zones. If you select specific zones, the number of units that you select must distribute evenly across the availability zones. For example, if you select three units, you must select three zones so that each zone hosts one unit.
4950
1. If the API Management instance is deployed in a [virtual network](api-management-using-with-vnet.md), configure virtual network settings in the location, including virtual network, subnet, and public IP address.
5051
1. Select **Add** to confirm.
5152
1. Repeat this process until you configure all locations.
@@ -57,18 +58,17 @@ When adding a region, you configure:
5758
1. For the location you would like to remove, select the context menu using the **...** button at the right end of the table. Select **Delete**.
5859
1. Confirm the deletion and select **Save** to apply the changes.
5960

60-
6161
## Route API calls to regional backend services
6262

63-
By default, each API routes requests to a single backend service URL. Even if you've configured Azure API Management gateways in various regions, the API gateway will still forward requests to the same backend service, which is deployed in only one region. In this case, the performance gain will come only from responses cached within Azure API Management in a region specific to the request; contacting the backend across the globe may still cause high latency.
63+
By default, each API routes requests to a single backend service URL. Even if you configure API Management gateways in various regions, the API gateway still forwards requests to the same backend service, which is deployed in only one region. In this case, improved performance comes only from responses cached within API Management in a region specific to the request. Contacting the backend across the globe might still cause high latency.
6464

65-
To take advantage of geographical distribution of your system, you should have backend services deployed in the same regions as Azure API Management instances. Then, using policies and `@(context.Deployment.Region)` property, you can route the traffic to local instances of your backend.
65+
To take advantage of geographical distribution of your system, you should deploy backend services in the same regions as API Management instances. Then, by using policies and the `@(context.Deployment.Region)` property, you can route the traffic to local instances of your backend.
6666

67-
1. Navigate to your Azure API Management instance and select **APIs** from the left menu.
67+
1. Go to your API Management instance and select **APIs** from the left menu.
6868
2. Select your desired API.
6969
3. On the **Design** tab, in the **Inbound processing** section, select **Code editor**.
7070

71-
![API code editor](./media/api-management-howto-deploy-multi-region/api-management-api-code-editor.png)
71+
![A screenshot that highlights the API code editor in the design tab.](./media/api-management-howto-deploy-multi-region/api-management-api-code-editor.png)
7272

7373
4. Use the `set-backend` combined with conditional `choose` policies to construct a proper routing policy in the `<inbound> </inbound>` section of the file.
7474

@@ -104,7 +104,7 @@ To take advantage of geographical distribution of your system, you should have b
104104

105105
### Use Traffic Manager for routing to regional backends
106106

107-
You may also front your backend services with [Azure Traffic Manager](https://azure.microsoft.com/services/traffic-manager/), direct the API calls to the Traffic Manager, and let it resolve the routing automatically.
107+
You can also front your backend services with [Azure Traffic Manager](https://azure.microsoft.com/services/traffic-manager/), direct the API calls to the Traffic Manager, and let it resolve the routing automatically.
108108

109109
* For traffic distribution and failover, we recommend using Traffic Manager with the [**Geographic**](../traffic-manager/traffic-manager-routing-methods.md#geographic-traffic-routing-method) routing method. We don't recommend using Traffic Manager with the Weighted routing method with API Management backends.
110110

@@ -114,8 +114,8 @@ You may also front your backend services with [Azure Traffic Manager](https://az
114114

115115
API Management routes the requests to a regional gateway based on [the lowest latency](../traffic-manager/traffic-manager-routing-methods.md#performance). Although it isn't possible to override this setting in API Management, you can use your own Traffic Manager with custom routing rules.
116116

117-
1. Create your own [Azure Traffic Manager](https://azure.microsoft.com/services/traffic-manager/).
118-
1. If you're using a custom domain, [use it with the Traffic Manager](../traffic-manager/traffic-manager-point-internet-domain.md) instead of the API Management service.
117+
1. Create your own [Traffic Manager](https://azure.microsoft.com/services/traffic-manager/).
118+
1. If you use a custom domain, [use it with Traffic Manager](../traffic-manager/traffic-manager-point-internet-domain.md) instead of the API Management service.
119119
1. [Configure the API Management regional endpoints in Traffic Manager](../traffic-manager/traffic-manager-manage-endpoints.md). The regional endpoints follow the URL pattern of `https://<service-name>-<region>-01.regional.azure-api.net`, for example `https://contoso-westus2-01.regional.azure-api.net`.
120120
1. [Configure the API Management regional status endpoints in Traffic Manager](../traffic-manager/traffic-manager-monitoring.md). The regional status endpoints follow the URL pattern of `https://<service-name>-<region>-01.regional.azure-api.net/status-0123456789abcdef`, for example `https://contoso-westus2-01.regional.azure-api.net/status-0123456789abcdef`.
121121
1. Specify [the routing method](../traffic-manager/traffic-manager-routing-methods.md) of the Traffic Manager.
@@ -124,16 +124,16 @@ API Management routes the requests to a regional gateway based on [the lowest la
124124

125125
Under some conditions, you might need to temporarily disable routing to one of the regional gateways. For example:
126126

127-
* After adding a new region, to keep it disabled while you configure and test the regional backend service
127+
* After you add a new region, to keep it disabled while you configure and test the regional backend service
128128
* During regular backend maintenance in a region
129129
* To redirect traffic to other regions during a planned disaster recovery drill that simulates an unavailable region, or during a regional failure
130130

131-
To disable routing to a regional gateway in your API Management instance, update the gateway's `disableGateway` property value to `true`. You can set the value using the [Create or update service](/rest/api/apimanagement/current-ga/api-management-service/create-or-update) REST API, the [az apim update](/cli/azure/apim#az-apim-update) command in the Azure CLI, the [set-azapimanagement](/powershell/module/az.apimanagement/set-azapimanagement) Azure PowerShell cmdlet, or other Azure tools.
131+
To disable routing to a regional gateway in your API Management instance, update the gateway's `disableGateway` property value to `true`. You can set the value by using the [Create or update service](/rest/api/apimanagement/current-ga/api-management-service/create-or-update) REST API, the [az apim update](/cli/azure/apim#az-apim-update) command in the Azure CLI, the [set-azapimanagement](/powershell/module/az.apimanagement/set-azapimanagement) Azure PowerShell cmdlet, or other Azure tools.
132132

133133
>[!NOTE]
134-
> You can only disable routing to a regional gateway when you are using API Management's default routing, not a custom routing solution.
134+
> You can only disable routing to a regional gateway when you use default routing in API Management, not a custom routing solution.
135135

136-
To disable a regional gateway using the Azure CLI:
136+
To disable a regional gateway by using the Azure CLI:
137137

138138
1. Use the [az apim show](/cli/azure/apim#az-apim-show) command to show the locations, gateway status, and regional URLs configured for the API Management instance.
139139
```azurecli
@@ -155,7 +155,7 @@ To disable a regional gateway using the Azure CLI:
155155
--set additionalLocations[location="West US 2"].disableGateway=true
156156
```
157157

158-
The update may take a few minutes.
158+
The update might take a few minutes.
159159

160160
1. Verify that traffic directed to the regional gateway URL is redirected to another region.
161161

@@ -165,24 +165,24 @@ To restore routing to the regional gateway, set the value of `disableGateway` to
165165

166166
This section provides considerations for multi-region deployments when the API Management instance is injected in a virtual network.
167167

168-
* Configure each regional network independently. The [connectivity requirements](virtual-network-reference.md) such as required network security group rules for a virtual network in an added region are generally the same as those for a network in the primary region.
168+
* Configure each regional network independently. The [connectivity requirements](virtual-network-reference.md), such as required network security group rules for a virtual network in an added region, are generally the same as the requirements for a network in the primary region.
169169
* Virtual networks in the different regions don't need to be peered.
170170
> [!IMPORTANT]
171-
> When configured in internal virtual network mode, each regional gateway must also have outbound connectivity on port 1433 to the Azure SQL database configured for your API Management instance, which is only in the *primary* region. Ensure that you allow connectivity to the FQDN or IP address of this Azure SQL database in any routes or firewall rules you configure for networks in your secondary regions; the Azure SQL service endpoint can't be used in this scenario. To find the Azure SQL database name in the primary region, go to the **Network** > **Network status** page of your API Management instance in the portal.
171+
> When you configure your API Management instance to use internal virtual network mode, each regional gateway must also have outbound connectivity on port 1433 to the Azure SQL database configured for your API Management instance, which is only in the *primary* region. Ensure that you allow connectivity to the fully qualified domain name (FQDN) or IP address of this Azure SQL database in any routes or firewall rules you configure for networks in your secondary regions; the Azure SQL service endpoint can't be used in this scenario. To find the Azure SQL database name in the primary region, go to the **Network** > **Network status** page of your API Management instance in the portal.
172172

173173
### IP addresses
174174

175175
* A public virtual IP address is created in every region added with a virtual network. For virtual networks in either [external mode](api-management-using-with-vnet.md) or [internal mode](api-management-using-with-internal-vnet.md), this public IP address is used for management traffic on port `3443`.
176176

177-
* **External VNet mode** - The public IP addresses are also required to route public HTTP traffic to the API gateways.
177+
* **External VNet mode:** The public IP addresses are also required to route public HTTP traffic to the API gateways.
178178

179-
* **Internal VNet mode** - A private IP address is also created in every region added with a virtual network. Use these addresses to connect within the network to the API Management endpoints in the primary and secondary regions.
179+
* **Internal VNet mode:** A private IP address is also created in every region added with a virtual network. Use these addresses to connect within the network to the API Management endpoints in the primary and secondary regions.
180180

181181
### Routing
182182

183-
* **External VNet mode** - Routing of public HTTP traffic to the regional gateways is handled automatically, in the same way it is for a non-networked API Management instance.
183+
* **External VNet mode:** Routing of public HTTP traffic to the regional gateways is handled automatically, in the same way it is for a non-networked API Management instance.
184184

185-
* **Internal VNet mode** - Private HTTP traffic isn't routed or load-balanced to the regional gateways by default. Users own the routing and are responsible for bringing their own solution to manage routing and private load balancing across multiple regions.
185+
* **Internal VNet mode:** Private HTTP traffic isn't routed or load-balanced to the regional gateways by default. Users own the routing and are responsible for bringing their own solution to manage routing and private load balancing across multiple regions.
186186

187187
## Related content
188188

@@ -192,9 +192,9 @@ This section provides considerations for multi-region deployments when the API M
192192

193193
* For more information about virtual networks and API Management, see:
194194

195-
* [Connect to a virtual network using Azure API Management](api-management-using-with-vnet.md)
195+
* [Connect to a virtual network by using API Management](api-management-using-with-vnet.md)
196196

197-
* [Connect to a virtual network in internal mode using Azure API Management](api-management-using-with-internal-vnet.md)
197+
* [Connect to a virtual network in internal mode by using API Management](api-management-using-with-internal-vnet.md)
198198

199199
* [IP addresses of API Management](api-management-howto-ip-addresses.md)
200200

@@ -209,6 +209,4 @@ This section provides considerations for multi-region deployments when the API M
209209

210210
[unit]: https://azure.microsoft.com/pricing/details/api-management/
211211

212-
[premium]: https://azure.microsoft.com/pricing/details/api-management/
213-
214-
212+
[premium]: https://azure.microsoft.com/pricing/details/api-management/

0 commit comments

Comments
 (0)