
Usually, an Azure service can be consumed from SAP Business Technology Platform (BTP) via a SAP Private Link endpoint, ensuring secure and private connectivity. However, this is not always possible.
In such case, the public endpoint of the Azure service must be used.
Unfortunately, Azure does not guarantee a static public IP for most of its native services.
One way to work around this limitation is by using Azure Application Gateway as a proxy.
Here follows a detailed description on how to configure Azure Application Gateway with a public static IP in front of an Azure service.
We need a public FQDN that will resolve to the public IP of Azure Application Gateway. This can be achieved by registering a subdomain in a DNS server that you have control of or by using one of the cheap subdomain hosting services. In our configuration we will use the subdomain pubazuresvc.example.com.
A TLS certificate for that same subdomain pubazuresvc.example.com is needed - use one of the CA authorities on the market. The certificate has to be in pfx format.
Lets take as an example Apache Kafka endpoint on Azure that has a public hostname publickafka.servicebus.windows.net and listens on TCP port 9093.
Lets assume that we face the problem described above and DNS name publickafka.servicebus.windows.net cannot be resolved from within BTP.
We are going to build a workaround by using Azure Application Gateway and its newly released layer 4 features.
Azure Applicate Gateway will be configured with a public static IP address and it will serve as a TLS proxy for the Apache Kafka endpoint.
Fig. 1 Architecture Overview
Lets create and configure the Application Gateway. We will follow similar steps as described in this tutorial, using the following configuration values:
Basic tab: no difference with the tutorial
Frontends tab: configure a public static IP, and take note of the IP as it must be assigned to the hostname pubazuresvc.example.com
Backends tab: add backend pool with Target Type: IP address or FQDN and target value set to the hostname of the Kafka endpoint publickafka.servicebus.windows.net
Configuration tab: add a routing rule
Configure listener with values:
Backend targets tab: select the backend pool created on step 3.
Add a new Backend settings with values:
Finish the rest of the creation wizard and deploy the Application Gateway
Configure your DNS server so that hostname pubazuresvc.example.com will be resolved with the public ip of the Application Gateway
After deploying the above configuration, you can connect to the Apache Kafka service using the hostname pubazuresvc.example.com and port 9093.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
16 | |
14 | |
13 | |
11 | |
11 | |
11 | |
10 | |
8 | |
7 | |
7 |