Skip to content

Commit f4ab553

Browse files
committed
Merging changes synced from https://github.com/MicrosoftDocs/azure-docs-pr (branch live)
2 parents f7598b8 + ea441d1 commit f4ab553

File tree

124 files changed

+1685
-671
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

124 files changed

+1685
-671
lines changed

articles/api-management/api-management-gateways-overview.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,22 +38,22 @@ API Management offers both managed and self-hosted gateways:
3838
>
3939
4040

41-
* **Self-hosted** - The [self-hosted gateway](self-hosted-gateway-overview.md) is an optional, containerized version of the default managed gateway. It's useful for hybrid and multi-cloud scenarios where there is a requirement to run the gateways off Azure in the same environments where API backends are hosted. The self-hosted gateway enables customers with hybrid IT infrastructure to manage APIs hosted on-premises and across clouds from a single API Management service in Azure.
41+
* **Self-hosted** - The [self-hosted gateway](self-hosted-gateway-overview.md) is an optional, containerized version of the default managed gateway. It's useful for hybrid and multicloud scenarios where there's a requirement to run the gateways off of Azure in the same environments where API backends are hosted. The self-hosted gateway enables customers with hybrid IT infrastructure to manage APIs hosted on-premises and across clouds from a single API Management service in Azure.
4242

4343
* The self-hosted gateway is [packaged](self-hosted-gateway-overview.md#packaging) as a Linux-based Docker container and is commonly deployed to Kubernetes, including to [Azure Kubernetes Service](how-to-deploy-self-hosted-gateway-azure-kubernetes-service.md) and [Azure Arc-enabled Kubernetes](how-to-deploy-self-hosted-gateway-azure-arc.md).
4444

4545
* Each self-hosted gateway is associated with a **Gateway** resource in a cloud-based API Management instance from which it receives configuration updates and communicates status.
4646

47+
[!INCLUDE [preview](./includes/preview/preview-callout-self-hosted-gateway-deprecation.md)]
4748

4849
## Feature comparison: Managed versus self-hosted gateways
4950

50-
The following table compares features available in the managed gateway versus those in the self-hosted gateway. Differences are also shown between the managed gateway for dedicated service tiers (Developer, Basic, Standard, Premium) and for the Consumption tier.
51+
The following table compares features available in the managed gateway versus the features in the self-hosted gateway. Differences are also shown between the managed gateway for dedicated service tiers (Developer, Basic, Standard, Premium) and for the Consumption tier.
5152

5253
> [!NOTE]
5354
> * Some features of managed and self-hosted gateways are supported only in certain [service tiers](api-management-features.md) or with certain [deployment environments](self-hosted-gateway-overview.md#packaging) for self-hosted gateways.
5455
> * See also self-hosted gateway [limitations](self-hosted-gateway-overview.md#limitations).
5556
56-
5757
### Infrastructure
5858

5959
| Feature support | Managed (Dedicated) | Managed (Consumption) | Self-hosted |
@@ -154,6 +154,6 @@ For estimated maximum gateway throughput in the API Management service tiers, se
154154

155155
## Next steps
156156

157-
- Learn more about [API Management in a Hybrid and Multi-Cloud World](https://aka.ms/hybrid-and-multi-cloud-api-management)
157+
- Learn more about [API Management in a Hybrid and multicloud World](https://aka.ms/hybrid-and-multi-cloud-api-management)
158158
- Learn more about using the [capacity metric](api-management-capacity.md) for scaling decisions
159159
- Learn about [observability capabilities](observability.md) in API Management

articles/api-management/how-to-deploy-self-hosted-gateway-azure-kubernetes-service.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ ms.author: danlep
1313

1414
This article provides the steps for deploying self-hosted gateway component of Azure API Management to [Azure Kubernetes Service](https://azure.microsoft.com/services/kubernetes-service/). For deploying self-hosted gateway to a Kubernetes cluster, see the how-to article for deployment by using a [deployment YAML file](how-to-deploy-self-hosted-gateway-kubernetes.md) or [with Helm](how-to-deploy-self-hosted-gateway-kubernetes-helm.md).
1515

16+
[!INCLUDE [preview](./includes/preview/preview-callout-self-hosted-gateway-deprecation.md)]
17+
1618
> [!NOTE]
1719
> You can also deploy self-hosted gateway to an [Azure Arc-enabled Kubernetes cluster](how-to-deploy-self-hosted-gateway-azure-arc.md) as a [cluster extension](../azure-arc/kubernetes/extensions.md).
1820

articles/api-management/how-to-deploy-self-hosted-gateway-docker.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ ms.author: danlep
1313

1414
This article provides the steps for deploying self-hosted gateway component of Azure API Management to a Docker environment.
1515

16+
[!INCLUDE [preview](./includes/preview/preview-callout-self-hosted-gateway-deprecation.md)]
17+
1618
> [!NOTE]
1719
> Hosting self-hosted gateway in Docker is best suited for evaluation and development use cases. Kubernetes is recommended for production use. Learn how to [deploy with Helm](how-to-deploy-self-hosted-gateway-kubernetes-helm.md) or using [deployment YAML file](how-to-deploy-self-hosted-gateway-kubernetes.md) to learn how to deploy self-hosted gateway to Kubernetes.
1820

articles/api-management/how-to-deploy-self-hosted-gateway-kubernetes-helm.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ ms.author: tomkerkhove
1515

1616
This article provides the steps for deploying self-hosted gateway component of Azure API Management to a Kubernetes cluster by using Helm.
1717

18+
[!INCLUDE [preview](./includes/preview/preview-callout-self-hosted-gateway-deprecation.md)]
19+
1820
> [!NOTE]
1921
> You can also deploy self-hosted gateway to an [Azure Arc-enabled Kubernetes cluster](how-to-deploy-self-hosted-gateway-azure-arc.md) as a [cluster extension](../azure-arc/kubernetes/extensions.md).
2022

articles/api-management/how-to-deploy-self-hosted-gateway-kubernetes.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ ms.date: 05/25/2021
1313

1414
This article describes the steps for deploying the self-hosted gateway component of Azure API Management to a Kubernetes cluster.
1515

16+
[!INCLUDE [preview](./includes/preview/preview-callout-self-hosted-gateway-deprecation.md)]
17+
1618
> [!NOTE]
1719
> You can also deploy self-hosted gateway to an [Azure Arc-enabled Kubernetes cluster](how-to-deploy-self-hosted-gateway-azure-arc.md) as a [cluster extension](../azure-arc/kubernetes/extensions.md).
1820

articles/api-management/how-to-self-hosted-gateway-on-kubernetes-in-production.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,12 @@ ms.date: 12/17/2021
1212

1313
# Guidance for running self-hosted gateway on Kubernetes in production
1414

15-
In order to run the self-hosted gateway in production, there are various aspects to take in to mind. For example, it should be deployed in a highly-available manner, use configuration backups to handle temporary disconnects and many more.
15+
In order to run the self-hosted gateway in production, there are various aspects to take in to mind. For example, it should be deployed in a highly available manner, use configuration backups to handle temporary disconnects and many more.
1616

1717
This article provides guidance on how to run [self-hosted gateway](./self-hosted-gateway-overview.md) on Kubernetes for production workloads to ensure that it will run smoothly and reliably.
1818

19+
[!INCLUDE [preview](./includes/preview/preview-callout-self-hosted-gateway-deprecation.md)]
20+
1921
## Access token
2022
Without a valid access token, a self-hosted gateway can't access and download configuration data from the endpoint of the associated API Management service. The access token can be valid for a maximum of 30 days. It must be regenerated, and the cluster configured with a fresh token, either manually or via automation before it expires.
2123

@@ -57,11 +59,11 @@ An alternative is to use Kubernetes Event-driven Autoscaling (KEDA) allowing you
5759
5860
### Traffic-based autoscaling
5961

60-
Kubernetes does not provide an out-of-the-box mechanism for traffic-based autoscaling.
62+
Kubernetes doesn't provide an out-of-the-box mechanism for traffic-based autoscaling.
6163

6264
Kubernetes Event-driven Autoscaling (KEDA) provides a few ways that can help with traffic-based autoscaling:
6365

64-
- You can scale based on metrics from a Kubernetes ingress if they are available in [Prometheus](https://keda.sh/docs/latest/scalers/prometheus/) or [Azure Monitor](https://keda.sh/docs/latest/scalers/azure-monitor/) by using an out-of-the-box scaler
66+
- You can scale based on metrics from a Kubernetes ingress if they're available in [Prometheus](https://keda.sh/docs/latest/scalers/prometheus/) or [Azure Monitor](https://keda.sh/docs/latest/scalers/azure-monitor/) by using an out-of-the-box scaler
6567
- You can install [HTTP add-on](https://github.com/kedacore/http-add-on), which is available in beta, and scales based on the number of requests per second.
6668

6769
## Container resources
@@ -153,7 +155,7 @@ Consider using [Pod Disruption Budgets](https://kubernetes.io/docs/concepts/work
153155
## Security
154156
The self-hosted gateway is able to run as non-root in Kubernetes allowing customers to run the gateway securely.
155157

156-
Here is an example of the security context for the self-hosted gateway:
158+
Here's an example of the security context for the self-hosted gateway:
157159
```yml
158160
securityContext:
159161
allowPrivilegeEscalation: false

articles/api-management/import-container-app-with-oas.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Import Azure Container App to Azure API Management | Microsoft Docs
2+
title: Import Azure Container App to Azure API Management | Microsoft Docs
33
description: This article shows you how to use Azure API Management to import a web API hosted in Azure Container Apps.
44
services: api-management
55
documentationcenter: ''
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
ms.service: api-management
3+
ms.topic: include
4+
author: tomkerkhove
5+
ms.author: tomkerkhove
6+
ms.date: 09/26/2022
7+
---
8+
9+
> [!IMPORTANT]
10+
> Support for Azure API Management self-hosted gateway version 0 and version 1 container images is ending on 1 October 2023, along with its corresponding Configuration API v1. Use our [migration guide](./../../self-hosted-gateway-migration-guide.md) to use self-hosted gateway v2.0.0 or higher with Configuration API v2. [Learn more in our deprecation documentation](./../../breaking-changes/self-hosted-gateway-v0-v1-retirement-oct-2023.md)

articles/api-management/self-hosted-gateway-migration-guide.md

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ ms.author: tomkerkhove
1515

1616
This article explains how to migrate existing self-hosted gateway deployments to self-hosted gateway v2.
1717

18+
> [!IMPORTANT]
19+
> Support for Azure API Management self-hosted gateway version 0 and version 1 container images is ending on 1 October 2023, along with its corresponding Configuration API v1. [Learn more in our deprecation documentation](./breaking-changes/self-hosted-gateway-v0-v1-retirement-oct-2023.md)
20+
1821
## What's new?
1922

2023
As we strive to make it easier for customers to deploy our self-hosted gateway, we've **introduced a new configuration API** that removes the dependency on Azure Storage, unless you're using [API inspector](api-management-howto-api-inspector.md) or quotas.
@@ -68,7 +71,7 @@ Customer must use the new Configuration API v2 by changing their deployment scri
6871

6972
#### Available TLS cipher suites
7073

71-
At launch, self-hosted gateway v2.0 only used a subset of the cipher suites that v1.x was using. As of v2.0.4, we have brought back all the cipher suites that v1.x supported.
74+
At launch, self-hosted gateway v2.0 only used a subset of the cipher suites that v1.x was using. As of v2.0.4, we've brought back all the cipher suites that v1.x supported.
7275

7376
You can learn more about the used cipher suites in [this article](self-hosted-gateway-overview.md#available-cipher-suites) or use v2.1.1 to [control what cipher suites to use](self-hosted-gateway-overview.md#managing-cipher-suites).
7477

@@ -112,6 +115,47 @@ In order to make the migration easier, we have introduced new Azure Advisor reco
112115

113116
We highly recommend customers to use ["All Recommendations" overview in Azure Advisor](https://portal.azure.com/#view/Microsoft_Azure_Expert/AdvisorMenuBlade/~/All) to determine if a migration is required. Use the filtering options to see if one of the above recommendations is present.
114117

118+
### Use Azure Resource Graph to identify Azure API Management instances
119+
120+
This Azure Resource Graph query provides you with a list of impacted Azure API Management instances:
121+
122+
```kusto
123+
AdvisorResources
124+
| where type == 'microsoft.advisor/recommendations'
125+
| where properties.impactedField == 'Microsoft.ApiManagement/service' and properties.category == 'OperationalExcellence'
126+
| extend
127+
recommendationTitle = properties.shortDescription.solution
128+
| where recommendationTitle == 'Use self-hosted gateway v2' or recommendationTitle == 'Use Configuration API v2 for self-hosted gateways'
129+
| extend
130+
instanceName = properties.impactedValue,
131+
recommendationImpact = properties.impact,
132+
recommendationMetadata = properties.extendedProperties,
133+
lastUpdated = properties.lastUpdated
134+
| project tenantId, subscriptionId, resourceGroup, instanceName, recommendationTitle, recommendationImpact, recommendationMetadata, lastUpdated
135+
```
136+
137+
# [Azure CLI](#tab/azure-cli)
138+
139+
```azurecli-interactive
140+
az graph query -q "AdvisorResources | where type == 'microsoft.advisor/recommendations' | where properties.impactedField == 'Microsoft.ApiManagement/service' and properties.category == 'OperationalExcellence' | extend recommendationTitle = properties.shortDescription.solution | where recommendationTitle == 'Use self-hosted gateway v2' or recommendationTitle == 'Use Configuration API v2 for self-hosted gateways' | extend instanceName = properties.impactedValue, recommendationImpact = properties.impact, recommendationMetadata = properties.extendedProperties, lastUpdated = properties.lastUpdated | project tenantId, subscriptionId, resourceGroup, instanceName, recommendationTitle, recommendationImpact, lastUpdated"
141+
```
142+
143+
# [Azure PowerShell](#tab/azure-powershell)
144+
145+
```azurepowershell-interactive
146+
Search-AzGraph -Query "AdvisorResources | where type == 'microsoft.advisor/recommendations' | where properties.impactedField == 'Microsoft.ApiManagement/service' and properties.category == 'OperationalExcellence' | extend recommendationTitle = properties.shortDescription.solution | where recommendationTitle == 'Use self-hosted gateway v2' or recommendationTitle == 'Use Configuration API v2 for self-hosted gateways' | extend instanceName = properties.impactedValue, recommendationImpact = properties.impact, recommendationMetadata = properties.extendedProperties, lastUpdated = properties.lastUpdated | project tenantId, subscriptionId, resourceGroup, instanceName, recommendationTitle, recommendationImpact, lastUpdated"
147+
```
148+
149+
# [Portal](#tab/azure-portal)
150+
151+
:::image type="icon" source="./../governance/resource-graph/media/resource-graph-small.png"::: Try this query in Azure Resource Graph Explorer:
152+
153+
- Azure portal: <a href="https://portal.azure.com/?feature.customportal=false#blade/HubsExtension/ArgQueryBlade/query/AdvisorResources%0A%7C%20where%20type%20%3D%3D%20%27microsoft.advisor%2Frecommendations%27%0A%7C%20where%20properties.impactedField%20%3D%3D%20%27Microsoft.ApiManagement%2Fservice%27%20and%20properties.category%20%3D%3D%20%27OperationalExcellence%27%0A%7C%20extend%0A%20%20%20%20recommendationTitle%20%3D%20properties.shortDescription.solution%0A%7C%20where%20recommendationTitle%20%3D%3D%20%27Use%20self-hosted%20gateway%20v2%27%20or%20recommendationTitle%20%3D%3D%20%27Use%20Configuration%20API%20v2%20for%20self-hosted%20gateways%27%0A%7C%20extend%0A%20%20%20%20instanceName%20%3D%20properties.impactedValue%2C%0A%20%20%20%20recommendationImpact%20%3D%20properties.impact%2C%0A%20%20%20%20recommendationMetadata%20%3D%20properties.extendedProperties%2C%0A%20%20%20%20lastUpdated%20%3D%20properties.lastUpdated%0A%7C%20project%20tenantId%2C%20subscriptionId%2C%20resourceGroup%2C%20instanceName%2C%20recommendationTitle%2C%20recommendationImpact%2C%20recommendationMetadata%2C%20lastUpdated" target="_blank">portal.azure.com</a>
154+
- Azure Government portal: <a href="https://portal.azure.us/?feature.customportal=false#blade/HubsExtension/ArgQueryBlade/query/AdvisorResources%0A%7C%20where%20type%20%3D%3D%20%27microsoft.advisor%2Frecommendations%27%0A%7C%20where%20properties.impactedField%20%3D%3D%20%27Microsoft.ApiManagement%2Fservice%27%20and%20properties.category%20%3D%3D%20%27OperationalExcellence%27%0A%7C%20extend%0A%20%20%20%20recommendationTitle%20%3D%20properties.shortDescription.solution%0A%7C%20where%20recommendationTitle%20%3D%3D%20%27Use%20self-hosted%20gateway%20v2%27%20or%20recommendationTitle%20%3D%3D%20%27Use%20Configuration%20API%20v2%20for%20self-hosted%20gateways%27%0A%7C%20extend%0A%20%20%20%20instanceName%20%3D%20properties.impactedValue%2C%0A%20%20%20%20recommendationImpact%20%3D%20properties.impact%2C%0A%20%20%20%20recommendationMetadata%20%3D%20properties.extendedProperties%2C%0A%20%20%20%20lastUpdated%20%3D%20properties.lastUpdated%0A%7C%20project%20tenantId%2C%20subscriptionId%2C%20resourceGroup%2C%20instanceName%2C%20recommendationTitle%2C%20recommendationImpact%2C%20recommendationMetadata%2C%20lastUpdated" target="_blank">portal.azure.us</a>
155+
- Azure China 21Vianet portal: <a href="https://portal.azure.cn/?feature.customportal=false#blade/HubsExtension/ArgQueryBlade/query/AdvisorResources%0A%7C%20where%20type%20%3D%3D%20%27microsoft.advisor%2Frecommendations%27%0A%7C%20where%20properties.impactedField%20%3D%3D%20%27Microsoft.ApiManagement%2Fservice%27%20and%20properties.category%20%3D%3D%20%27OperationalExcellence%27%0A%7C%20extend%0A%20%20%20%20recommendationTitle%20%3D%20properties.shortDescription.solution%0A%7C%20where%20recommendationTitle%20%3D%3D%20%27Use%20self-hosted%20gateway%20v2%27%20or%20recommendationTitle%20%3D%3D%20%27Use%20Configuration%20API%20v2%20for%20self-hosted%20gateways%27%0A%7C%20extend%0A%20%20%20%20instanceName%20%3D%20properties.impactedValue%2C%0A%20%20%20%20recommendationImpact%20%3D%20properties.impact%2C%0A%20%20%20%20recommendationMetadata%20%3D%20properties.extendedProperties%2C%0A%20%20%20%20lastUpdated%20%3D%20properties.lastUpdated%0A%7C%20project%20tenantId%2C%20subscriptionId%2C%20resourceGroup%2C%20instanceName%2C%20recommendationTitle%2C%20recommendationImpact%2C%20recommendationMetadata%2C%20lastUpdated" target="_blank">portal.azure.cn</a>
156+
157+
---
158+
115159
## Known limitations
116160

117161
Here's a list of known limitations for the self-hosted gateway v2:
@@ -120,7 +164,7 @@ Here's a list of known limitations for the self-hosted gateway v2:
120164

121165
## Next steps
122166

123-
- Learn more about [API Management in a Hybrid and Multi-Cloud World](https://aka.ms/hybrid-and-multi-cloud-api-management)
167+
- Learn more about [API Management in a Hybrid and multicloud World](https://aka.ms/hybrid-and-multi-cloud-api-management)
124168
- Learn more about guidance for [running the self-hosted gateway on Kubernetes in production](how-to-self-hosted-gateway-on-kubernetes-in-production.md)
125169
- [Deploy self-hosted gateway to Docker](how-to-deploy-self-hosted-gateway-docker.md)
126170
- [Deploy self-hosted gateway to Kubernetes](how-to-deploy-self-hosted-gateway-kubernetes.md)

articles/api-management/self-hosted-gateway-overview.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ Deploying self-hosted gateways into the same environments where the backend API
3939

4040
:::image type="content" source="media/self-hosted-gateway-overview/with-gateways.png" alt-text="API traffic flow with self-hosted gateways":::
4141

42-
4342
## Packaging
4443

4544
The self-hosted gateway is available as a Linux-based Docker [container image](https://aka.ms/apim/shgw/registry-portal) from the Microsoft Artifact Registry. It can be deployed to Docker, Kubernetes, or any other container orchestration solution running on a server cluster on premises, cloud infrastructure, or for evaluation and development purposes, on a personal computer. You can also deploy the self-hosted gateway as a cluster extension to an [Azure Arc-enabled Kubernetes cluster](./how-to-deploy-self-hosted-gateway-azure-arc.md).
@@ -88,6 +87,8 @@ Self-hosted gateways require outbound TCP/IP connectivity to Azure on port 443.
8887
- Sending metrics to Azure Monitor, if configured to do so
8988
- Sending events to Application Insights, if set to do so
9089

90+
[!INCLUDE [preview](./includes/preview/preview-callout-self-hosted-gateway-deprecation.md)]
91+
9192
### FQDN dependencies
9293

9394
To operate properly, each self-hosted gateway needs outbound connectivity on port 443 to the following endpoints associated with its cloud-based API Management instance:

0 commit comments

Comments
 (0)