Chapter 9. Configuring JBoss EAP for Microsoft Azure
This chapter describes the configurations required for JBoss EAP to run in Microsoft Azure.
9.1. Starting JBoss EAP as a service at boot on Red Hat Enterprise Linux Copy linkLink copied to clipboard!
If you are starting JBoss EAP as a service on Red Hat Enterprise Linux in Microsoft Azure, you must change the configuration of the JBoss EAP service to ensure that it starts after the Azure virtual machine host name has been initialized.
Procedure
Update the
/etc/systemd/system/multi-user.target.wants/eap8-standalone.servicefile to add a dependency onwaagent.service.Replace the following line:
After=syslog.target network.target
After=syslog.target network.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow with this line:
After=syslog.target network.target waagent.service Requires=waagent.service
After=syslog.target network.target waagent.service Requires=waagent.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.2. Configuration for load balancing with mod_cluster in Microsoft Azure Copy linkLink copied to clipboard!
As a result of mod_cluster advertising not being supported in Azure, if you are configuring a JBoss EAP load balancing environment, you must ensure that all balancers and workers are bound to IP addresses that are accessible on your internal Microsoft Azure virtual network.
Balancers and workers must be bound to the actual internal Azure virtual IP address, for example 172.28.0.2, and not 0.0.0.0.
Additionally, because of the unavailability of mod_cluster advertising, if you are using JBoss EAP as an Undertow mod_cluster proxy load balancer, you must configure each worker node to use a proxy list containing each balancer’s IP address and port, as shown below:
/socket-binding-group=standard-sockets/remote-destination-outbound-socket-binding=proxy-one:add(host="BALANCER_IP_ADDRESS", port="BALANCER_PORT") /subsystem=modcluster/mod-cluster-config=configuration:list-add(name=proxies,value=proxy-one)
/socket-binding-group=standard-sockets/remote-destination-outbound-socket-binding=proxy-one:add(host="BALANCER_IP_ADDRESS", port="BALANCER_PORT")
/subsystem=modcluster/mod-cluster-config=configuration:list-add(name=proxies,value=proxy-one)
9.3. Configuration for ActiveMQ Artemis high availability in Microsoft Azure Copy linkLink copied to clipboard!
JBoss EAP messaging high availability using Artemis shared stores is not supported in Microsoft Azure. To configure JBoss EAP messaging high availability in Azure, you must use a replicated journal with the AZURE_PING JGroups discovery protocol
using a TCP JGroups stack. For more information on using a replicated journal, see Data Replication in Configuring Messaging for JBoss EAP.
After configuring the TCP JGroups stack with AZURE_PING, you must add the JGroups stack to the discovery-group and broadcast-group jgroups-cluster configurations in the messaging-activemq subsystem. For details, see Server Discovery in Configuring Messaging for JBoss EAP.
9.4. Setting up a clustering instance for JBoss EAP in Microsoft Azure Copy linkLink copied to clipboard!
Clustering for JBoss EAP is supported in Microsoft Azure. Your Microsoft Azure web application must be integrated with a virtual network to enable clustering. When you restart the web application after the integration is complete, your JBoss EAP instance will start up with a clustered configuration.
You can create an app setting called WEBSITE_DISABLE_CLUSTERING to disable clustering. You can assign any value to the app setting.
For more information about migrating JBoss EAP applications to JBoss EAP on Microsoft Azure, see Migrate JBoss EAP applications to JBoss EAP on Azure App Service in the JBoss EAP on Microsoft Azure article.
For more information about clustering, see Clustering in the JBoss EAP on Microsoft Azure article.