You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/api-management/self-hosted-gateway-overview.md
+26-15Lines changed: 26 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ author: dlepow
7
7
8
8
ms.service: api-management
9
9
ms.topic: article
10
-
ms.date: 11/23/2021
10
+
ms.date: 12/09/2021
11
11
ms.author: danlep
12
12
---
13
13
@@ -24,29 +24,29 @@ With the self-hosted gateway, customers have the flexibility to deploy a contain
24
24
Each API Management service is composed of the following key components:
25
25
26
26
- Management plane, exposed as an API, used to configure the service via the Azure portal, PowerShell, and other supported mechanisms.
27
-
- Gateway (or data plane) is responsible for proxying API requests, applying policies, and collecting telemetry
27
+
- Gateway (or data plane), which is responsible for proxying API requests, applying policies, and collecting telemetry
28
28
- Developer portal used by developers to discover, learn, and onboard to use the APIs
29
29
30
-
By default, all these components are deployed in Azure, causing all API traffic (shown as solid black arrows on the following picture) to flow through Azure regardless of where backends implementing the APIs are hosted. The operational simplicity of this model comes at the cost of increased latency, compliance issues, and in some cases, additional data transfer fees.
30
+
By default, all these components are deployed in Azure, causing all API traffic (shown as solid black arrows on the following picture) to flow through Azure regardless of where backends implementing the APIs are hosted. The operational simplicity of this model comes at the cost of increased latency, compliance issues, and in some cases, extra data transfer fees.
31
31
32
-

32
+
:::image type="content" source="media/self-hosted-gateway-overview/without-gateways.png" alt-text="API traffic flow without self-hosted gateways":::
33
33
34
34
Deploying self-hosted gateways into the same environments where the backend API implementations are hosted allows API traffic to flow directly to the backend APIs, which reduces latency, optimizes data transfer costs, and enables compliance while retaining the benefits of having a single point of management, observability, and discovery of all APIs within the organization regardless of where their implementations are hosted.
35
35
36
-

36
+
:::image type="content" source="media/self-hosted-gateway-overview/with-gateways.png" alt-text="API traffic flow with self-hosted gateways":::
37
37
38
38
## Packaging and features
39
39
40
-
The self-hosted gateway is a containerized, functionally equivalent version of the managed gateway deployed to Azure as part of every API Management service. The self-hosted gateway is available as a Linux-based Docker [container](https://aka.ms/apim/sputnik/dhub) from the Microsoft Container 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).
40
+
The self-hosted gateway is a containerized, functionally equivalent version of the managed gateway deployed to Azure as part of every API Management service. The self-hosted gateway is available as a Linux-based Docker [container image](https://aka.ms/apim/sputnik/dhub) from the Microsoft Container 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).
41
41
42
42
The following functionality found in the managed gateways is **not available** in the self-hosted gateways:
43
43
44
44
- Azure Monitor logs
45
45
- Upstream (backend side) TLS version and cipher management
46
46
- Validation of server and client certificates using [CA root certificates](api-management-howto-ca-certificates.md) uploaded to API Management service. You can configure [custom certificate authorities](api-management-howto-ca-certificates.md#create-custom-ca-for-self-hosted-gateway) for your self-hosted gateways and [client certificate validation](api-management-access-restriction-policies.md#validate-client-certificate) policies to enforce them.
47
-
- Integration with the [Service Fabric](../service-fabric/service-fabric-api-management-overview.md)
47
+
- Integration with [Service Fabric](../service-fabric/service-fabric-api-management-overview.md)
48
48
- TLS session resumption
49
-
- Client certificate renegotiation. This means that for [client certificate authentication](api-management-howto-mutual-certificates-for-clients.md) to work, API consumers must present their certificates as part of the initial TLS handshake. To ensure that, enable the negotiate client certificate setting when configuring a self-hosted gateway custom hostname.
49
+
- Client certificate renegotiation. This means that for [client certificate authentication](api-management-howto-mutual-certificates-for-clients.md) to work, API consumers must present their certificates as part of the initial TLS handshake. To ensure this behavior, enable the Negotiate Client Certificate setting when configuring a self-hosted gateway custom hostname.
50
50
- Built-in cache. Learn about using an [external Redis-compatible cache](api-management-howto-cache-external.md) in self-hosted gateways.
51
51
52
52
## Connectivity to Azure
@@ -60,18 +60,29 @@ Self-hosted gateways require outbound TCP/IP connectivity to Azure on port 443.
60
60
61
61
### FQDN dependencies
62
62
63
-
To operate properly, each self-hosted gateway needs connectivity to the following endpoints for the associated API Management service:
64
-
* The service's management endpoint: `<apim-service-name>.management.azure-api.net`
To operate properly, each self-hosted gateway needs outbound connectivity on port 443 to the following endpoints associated with the API Management instance it's associated with:
67
64
68
-
The associated storage FQDNs are in the service's **Network connectivity status** in the Azure portal.
65
+
* The public IP address of the API Management instance in its primary location
66
+
* The instance's management endpoint: `<apim-service-name>.management.azure-api.net`
67
+
* The instance's associated blob storage account: `<blob-storage-account-name>.blob.core.windows.net`
68
+
* The instance's associated table storage account: `<table-storage-account-name>.table.core.windows.net`
69
+
* Public IP addresses from the Storage [service tag](../virtual-network/service-tags-overview.md) corresponding to the primary location of the API Management instance
70
+
71
+
> [!IMPORTANT]
72
+
> * The associated storage account FQDNs are listed in the service's **Network connectivity status** page in the Azure portal.
73
+
> * Public IP addresses underlying the associated storage accounts are dynamic and can change without notice.
74
+
75
+
If integrated with your API Management instance, also enable outbound connectivity to public IP addresses, ports, and hostnames for:
When connectivity to Azure is lost, the self-hosted gateway is unable to receive configuration updates, report its status, or upload telemetry.
73
84
74
-
The self-hosted gateway is designed to "fail static" and can survive temporary loss of connectivity to Azure. It can be deployed with or without local configuration backup. In the former case, self-hosted gateways will regularly save a backup copy of the latest downloaded configuration on a persistent volume attached to its container or pod.
85
+
The self-hosted gateway is designed to "fail static" and can survive temporary loss of connectivity to Azure. It can be deployed with or without local configuration backup. With configuration backup, self-hosted gateways regularly save a backup copy of the latest downloaded configuration on a persistent volume attached to their container or pod.
75
86
76
87
When configuration backup is turned off and connectivity to Azure is interrupted:
77
88
@@ -87,7 +98,7 @@ When connectivity is restored, each self-hosted gateway affected by the outage w
87
98
88
99
## Next steps
89
100
90
-
-[Read a whitepaper for additional background on this topic](https://aka.ms/hybrid-and-multi-cloud-api-management)
101
+
-Learn more about [API Management in a Hybrid and MultiCloud World](https://aka.ms/hybrid-and-multi-cloud-api-management)
91
102
-[Deploy self-hosted gateway to Docker](how-to-deploy-self-hosted-gateway-docker.md)
92
103
-[Deploy self-hosted gateway to Kubernetes](how-to-deploy-self-hosted-gateway-kubernetes.md)
93
104
-[Deploy self-hosted gateway to Azure Arc-enabled Kubernetes cluster](how-to-deploy-self-hosted-gateway-azure-arc.md)
0 commit comments