Skip to content

Commit c2c6956

Browse files
committed
docs(apim-shgw): SHGW is deprecated and provide Azure Advisor query for Azure Resource Graph
Signed-off-by: Tom Kerkhove <[email protected]>
1 parent f1fb65b commit c2c6956

10 files changed

+66
-3
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ API Management offers both managed and self-hosted gateways:
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.md)]
4748

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

@@ -53,7 +54,6 @@ The following table compares features available in the managed gateway versus th
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 |

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.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.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.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.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: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ In order to run the self-hosted gateway in production, there are various aspects
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.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

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: 42 additions & 0 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.
@@ -112,6 +115,45 @@ 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="./../articles/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+
115157
## Known limitations
116158

117159
Here's a list of known limitations for the self-hosted gateway v2:

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.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)