Skip to Content
Technical Articles

Cloud Integration – How to Connect to an On-Premise AMQP server via Cloud Connector

You may use the SAP Cloud Connector to securely connect to on-premise systems. SAP Cloud Platform Integration supports this configuration via the connection proxy type ‘On-Premise’ currently in several adapters. With version 1.1 of  the AMQP adapter which will be available in January  2020 also the AMQP adapter supports this option.

Connect to an On-Premise AMQP server via Cloud Connector

With the January 2020 update of SAP Cloud Platform Integration we’ve released a new version of the AMQP sender and receiver adapter that supports the connection to On-Premise AMQP servers by using the SAP Cloud Connector. This configuration utilizes the SOCKS5 proxy supported in SAP Cloud Connector version 2.10 and higher.

You may use it in your AMQP sender and receiver adapters to connect to your on-premise messaging system via AMQP.

I assume you’ve already installed the SAP Cloud Connector and connected it to your SAP Cloud Platform account. If not, download the SAP Cloud Connector from our tools page and follow its installation documentation.

All you need to do now is to

  1. configure a new Cloud to On-Premise System Mapping in your Cloud Connector and
  2. configure your AMQP sender or receiver adapter accordingly.

Let’s go step by step.

Configure a Cloud to On-Premise System Mapping in the Cloud Connector

Logon to your Cloud Connector and add a Cloud to On-Premise System Mapping. Maintain the parameter in the wizard as follows:

Set the Backend Type to ‘Non-SAP System’.

Select the ‘TCP’ Protocol. The configuration options for TCP are not as specific as for, e.g. HTTP, that is why the SAP Cloud Connector may not restrict potential misuse from your SAP Cloud Platform account. Therefore, this configuration is classified as a security risk

Note that even for the AMQP connection via WebSocket protocol, which is http based, you need to select TCP as protocol in the Cloud Connector.

Maintain the On-Premise AMQP server Host & Port you want to connect to.

Define the virtual AMQP server & port you want to expose to your SAP Cloud Platform Account (it will be re-used later in the AMQP adapter configuration).

Maintain an optional description, tick the ‘Check Internal Host’ checkbox (to have enable the ping test from SAP Cloud Connector to your On-Premise AMQP server) and Finish.

You can check and maintain your system mapping in the Cloud To On-Premise overview.

Logon to your Cloud Platform account and check the status of the connected Cloud Connector.

If all configurations seem fine, you can start to consume your newly established TCP connection in the AMQP sender or receiver adapter.

Configure the AMQP Sender or Receiver Adapter

Log on to the Cloud Integration WebUI and add the connection parameters in the AMQP adapter properties as follows.

Maintain the virtual AMQP server name & port in Host and Port and for the Proxy Type select ‘On-Premise’. Maintain the Location ID of the Cloud Connector, if configured in the Cloud Connector. Define the Authentication configuration as required by your On-Premise AMQP server.

Once you’re done, save and deploy the integration flow. Start sending messages from SAP Cloud Platform Integration to your own on-premise AMQP messaging server or start consuming messages from your On-Premise AMQP server.

Troubleshooting

If you run into errors when executing your scenario, you may find information for error analysis at the following places:

  • Integration Content Monitor in Cloud Integration
  • Message Processing Monitor in Cloud Integration
  • Cloud Connector Connectivity Test
  • AMQP connectivity test (will be available with the February 2020 update)
  • Log File in Cloud Connector

Let’s have a quick look at the different tools.

Integration Content Monitor

After deploying the integration flow you should make sure that the integration flow has started successfully n the Integration Content monitor in SAP Cloud Platform Integration. As integration flows with AMQP sender adapters start to consume messages immediately after the integration flow was started, errors during the consumption are shown here. No message processing log is created in this case.

In the sample error below, you see that an error is coming back from the socks5 proxy of the Cloud Connector. In this case, you would have to check the monitor and the log files in the Cloud Connector to get more details. Make sure that the request reaches your Cloud Connector instance at all. If not, maybe the Location ID in Cloud Connector configuration does not fit to the Location ID used in AMQP channel or the host and port do not fit to the virtual host configured in Cloud Connector?

 

 

Message Processing Monitor

The second important monitor to be checked if your scenario does not work is the Message Processing monitor in the Cloud Integration Monitoring. If there is an error in sending messages to a specific AMQP receiver the error would be shown here.

In the sample below, the error shows that there is an exception in the connection to the socks5 proxy of the Cloud Connector. You need to check if the Location ID and virtual host and port are configured correctly.

AMQP Connection Test (available with the 16-Feb-2020 update)

The Connectivity Test is available in Operations View in Web UI, in section Manage Security Material. Selecting the Connectivity Test tile from Overview Page opens the test tool offering tests for different protocols. To test the communication to the messaging system, the AMQP option is to be selected. Using Proxy Type with value On-Premise you can test the connection to the on-premise messaging system. Enter the Location ID of your Cloud Connector.

In the sample below, the error shows that there is an exception in the connection to the socks5 proxy of the Cloud Connector. You need to check if the Location ID and virtual host and port are configured correctly.

 

Cloud Connector Connectivity Test

The Cloud Connector Connectivity Test can be used to test if the Cloud Connector connected to the Cloud Integration tenant can be reached via the Cloud Integration’s runtime via the defined Location ID.

Like the SSH Connection Test, the Cloud Connector Test can be found in the Connectivity Tests tile in the Operations View in Web UI under the section Manage Security Material. In the test tool select Cloud Connector. The only input field for the Cloud Connector test is the Location ID. Enter the Location ID you have configured in the Cloud Connector and used in the adapter channel in the integration flow.

The test pings the Cloud Connector with this Location ID. If no Cloud Connector is connected with this Location ID the test will fail:

If the Cloud Connector can be reached with the given Location ID the test executes successfully:

Cloud Connector Log

If you receive errors from the socks5 proxy, you have to check the Cloud Connector log file for more information. Maybe the mapping for the used virtual host does not exist?

Related Blogs

Connecting to Messaging Systems using the AMQP Adapter

Be the first to leave a comment
You must be Logged on to comment or reply to a post.