7 Preparing the Load Balancer and Firewalls for an Enterprise Deployment
It is important to understand how to configure the external load balancer and ports that must be opened on the firewalls for an enterprise deployment.
- Configuring Virtual Hosts on the External Load Balancer
The external load balancer configuration facilitates to recognize and route requests to several virtual servers and associated ports for different types of network traffic and monitoring. - Configuring the Firewalls and Ports for an Enterprise Deployment
As an administrator, it is important that you become familiar with the port numbers that are used by various Oracle Fusion Middleware products and services. This ensures that the same port number is not used by two services on the same host, and that the proper ports are open on the firewalls in the enterprise topology.
Parent topic: Preparing for an Enterprise Deployment
Configuring Virtual Hosts on the External Load Balancer
The external load balancer configuration facilitates to recognize and route requests to several virtual servers and associated ports for different types of network traffic and monitoring.
The following topics explain how to configure the external load balancer, provide a summary of the virtual servers that are required, and provide additional instructions for these virtual servers:
Overview of the External Load Balancer Configuration
As shown in the topology diagrams, you must configure the external load balancer to recognize and route requests to several virtual servers and associated ports for different types of network traffic and monitoring.
In the context of a load-balancing device, a virtual server is a construct that allows multiple physical servers to appear as one for load-balancing purposes. It is typically represented by an IP address and a service, and it is used to distribute incoming client requests to the servers in the server pool.
The virtual servers should be configured to direct traffic to the appropriate host computers and ports for the various services that are available in the enterprise deployment.
In addition, you should configure the load balancer to monitor the host computers and ports for availability so that the traffic to a particular server is stopped as soon as possible when a service is down. This ensures that incoming traffic on a given virtual host is not directed to an unavailable service in the other tiers. At the same time, this monitoring should not overload the backend system with too frequent health requests. In the end, a trade off needs to be made between how fast the death detection occurs and how much overhead is introduced on the systems that are monitored.
Note that after you configure the load balancer, you can later configure the web server instances in the web tier to recognize a set of virtual hosts that use the same names as the virtual servers that you defined for the load balancer. For each request coming from the external load balancer, the web server can then route the request appropriately, based on the server name included in the header of the request. See Configuring Oracle HTTP Server for Administration and Oracle Web Services Manager.
Parent topic: Configuring Virtual Hosts on the External Load Balancer
Typical Procedure for Configuring the External Load Balancer
The following procedure outlines the typical steps for configuring a external load balancer for an enterprise deployment.
Note that the actual procedures for configuring a specific load balancer will differ, depending on the specific type of load balancer. There may also be some differences depending on the type of protocol that is being load balanced. For example, TCP virtual servers and HTTP virtual servers use different types of monitors for their pools. Refer to the vendor-supplied documentation for actual steps.
-
Create a pool of servers. This pool contains a list of servers and the ports that are included in the load-balancing definition.
For load balancing between the web hosts, create a pool of servers that would direct requests to hosts WEBHOST1 and WEBHOST2 to each port used in the OHS. For example, a pool to WEBHOST1 and WEBHOST2 to port 4443 for access to applications like OAM and OIG, a pool to WEBHOST1 and WEBHOST2 to port 4446 for internal accesses, a pool to WEBHOST1 and WEBHOST2 to port 4444 for access to OAM admin consoles, and a pool to WEBHOST1 and WEBHOST2 to port 4445 for access to OIG admin consoles.
If you are using SSL Termination, then create a pool of servers that would direct requests to hosts WEBHOST1 and WEBHOST2 on port 7777.
-
Create rules to determine whether a given host and service is available and assign it to the pool of servers that are described in Step 1.
-
Create the required virtual servers on the load balancer for the addresses and ports that receive requests for the applications.
For a complete list of the virtual servers required for the enterprise deployment, see Summary of the Virtual Servers Required for an Enterprise Deployment.
When you define each virtual server on the load balancer, consider the following:
-
If your load balancer supports it, specify whether the virtual server is available internally, externally, or both. Ensure that internal addresses are only resolvable from inside the network.
-
Configure SSL Termination, if applicable, for the virtual server.
-
Configure SSL for the virtual server for end-to-end SSL.
-
Configure SSL for the communication with the pool of servers for end-to-end SSL.
Some load balancers may need to be provided with the backend's certificate (the SSL certificate used by the OHS listeners in the backend pool) to establish the appropriate SSL communication. In that case you may need to add the OHS's CA certificate to the load balancer as a trusted certificate. Since this guide uses example certificates based on the WebLogic per-domain CA, you can add this after the domain is created.
-
Assign the pool of servers created in Step 1 to the virtual server.
-
Parent topic: Configuring Virtual Hosts on the External Load Balancer
Load Balancer Health Monitoring
The load balancer must be configured to check that the services in the Load Balancer Pool are available. Failure to do so will result in requests being sent to hosts where the service is not running.
The following table shows examples of how to determine whether a service is available:
Table 7-1 Examples Showing How to Determine Whether a Service is Available
Service | Monitor Type | Monitor Mechanism |
---|---|---|
OUD |
ldap |
ldapbind to cn=oudadmin |
OHS |
http |
check for GET /healtcheck.html\r\n |
Parent topic: Configuring Virtual Hosts on the External Load Balancer
Summary of the Virtual Servers Required for an Enterprise Deployment
This topic provides details of the virtual servers that are required for an enterprise deployment.
The following table provides a list of the virtual servers that you must define on the external load balancer for the Oracle Identity and Access Management enterprise topology:
Virtual Host | Server Pool (SSL Terminated) | External | Server Pool (end to end SSL) | Other Required Configuration/ Comments |
---|---|---|---|---|
|
|
Yes |
|
Identity Management requires that the following be added to the HTTP header:
|
|
|
Yes |
|
Identity Management requires that the following be added to the HTTP header:
|
|
|
No |
|
|
|
|
No |
|
|
|
|
No |
|
|
|
|
No |
||
|
|
No |
Additional Instructions for iadadmin.example.com and igdadmin.example.com
This section provides additional instructions that are required for the
virtual server iadadmin.example.com
and
igdadmin.example.com
.
Perform the following steps when you configure this virtual server on the load balancer:
-
Enable address and port translation.
-
Enable reset of connections when services or hosts are down.
Additional Instructions for login.example.com and oig.example.com
Perform the following steps when you configure this virtual server on the external load balancer:
-
Use port 80 and port 443. Any request that is directed to port 80 (non-SSL protocol) should be redirected to port 443 (SSL protocol).
-
Enable address and port translation.
-
Enable reset of connections when services and nodes are down.
-
Create rules to filter out access to /management and /em on this virtual server.
These context strings direct requests to the WebLogic Remote Console and to the Oracle Enterprise Manager Fusion Middleware Control and must be used only when you access the system from
iadadmin.example.com
andigdadmin.example.com
.
Note:
Oracle recommends that you configure LBR for cookie-based persistence because session persistence is required for some web applications of SOA, such as BPM Worklist (/integration/worklistapp), SOA Composer (/soa/composer), BPM Composer (/bpm/composer), BPM Workspace (/bpm/workspace), and so on.Additional Instructions for igdinternal.example.com
Perform the following steps when you configure this virtual server on the external load balancer:
-
Enable address and port translation.
-
Enable reset of connections when services or nodes are down.
As with the login.example.com
, create rules to filter out access to
/console and /em on this virtual server.
Parent topic: Configuring Virtual Hosts on the External Load Balancer
Configuring the Firewalls and Ports for an Enterprise Deployment
As an administrator, it is important that you become familiar with the port numbers that are used by various Oracle Fusion Middleware products and services. This ensures that the same port number is not used by two services on the same host, and that the proper ports are open on the firewalls in the enterprise topology.
The following tables lists the ports that you must open on the firewalls in the topology:
Firewall notation:
-
FW0 refers to the outermost firewall.
-
FW1 refers to the firewall between the web tier and the application tier.
-
FW2 refers to the firewall between the application tier and the data tier.
Table 7-2 Firewall Ports for SSL Terminated Enterprise Deployments
Type | Firewall | Port and Port Range | Protocol / Application | Inbound / Outbound | Other Considerations and Timeout Guidelines |
---|---|---|---|---|---|
Browser request |
FW0 |
80 Note: You need this option only if redirection from port 80 to port 443 is used. |
HTTP / Load Balancer |
Inbound |
Timeout depends on the size and type of HTML content. |
Browser request |
FW0 |
443 |
HTTPS / Load Balancer |
Inbound |
Timeout depends on the size and type of HTML content. |
Browser request |
FW1 |
443 |
HTTPS / Load Balancer |
Outbound (for intranet clients) |
Timeout depends on the size and type of HTML content. |
Callbacks and Outbound invocations |
FW1 |
443 |
HTTPS / Load Balancer |
Outbound |
Timeout depends on the size and type of HTML content. |
Load balancer to Oracle HTTP Server |
n/a |
7777 |
HTTP |
n/a |
n/a |
Session replication within a WebLogic Server cluster |
n/a |
n/a |
n/a |
n/a |
By default, this communication uses the same port as the server's listen address. |
WebLogic Remote Console and Enterprise Manager Console |
FW1 |
7001 |
HTTP/t3 |
Both |
You should tune this timeout based on the type of access to the Remote console (whether you plan to use the Oracle WebLogic Remote Console from the application tier clients or clients external to the application tier). |
OAM Server Access |
FW1 |
14100 |
HTTP |
Inbound |
Set the timeout to a short period (5-10 seconds). |
OAM Policy Manager |
FW1 |
14150 |
HTTP |
Inbound |
Set the timeout to a short period (5-10 seconds). |
OIG Administration Console Access |
FW1 |
7101 |
HTTP |
Inbound |
Set the timeout to a short period (5-10 seconds). |
OIM Server Access |
FW1 |
14000 |
HTTP |
Inbound |
Set the timeout to a short period (5-10 seconds). |
SOA Server Access | FW1 |
7003 |
HTTP |
Inbound |
Set the timeout to a short period (5-10 seconds). |
Database access |
FW2 |
1521 |
SQL*Net |
Both |
Timeout depends on database content and on the type of process model used for SOA. |
Oracle Notification Server (ONS) |
FW2 |
6200 |
ONS |
Both |
Required for Gridlink. An ONS server runs on each database server. |
Coherence for deployment |
n/a |
9991 Coherence requires the following connectivity
between members:
|
n/a |
n/a |
n/a |
Oracle Unified Directory access |
FW2 |
1389 |
LDAP |
Inbound |
You should tune the directory server's parameters based on load balancer, and not the other way around. |
Table 7-3 Firewall Ports for End to End SSL Enterprise Deployments
Type | Firewall | Port and Port Range | Protocol / Application | Inbound / Outbound | Other Considerations and Timeout Guidelines |
---|---|---|---|---|---|
Browser request |
FW0 |
443 |
HTTPS / Load Balancer |
Inbound |
Timeout depends on the size and type of HTML content. |
Browser request |
FW1 |
443 |
HTTPS / Load Balancer |
Outbound (for intranet clients) |
Timeout depends on the size and type of HTML content. |
Callbacks and Outbound invocations |
FW1 |
443 |
HTTPS / Load Balancer |
Outbound |
Timeout depends on the size and type of HTML content. |
Load balancer to Oracle HTTP Server |
n/a |
4445-4449 |
HTTPS |
n/a |
n/a |
OHS registration with Administration Server |
FW1 |
7002 |
HTTPS / t3s |
Inbound |
Set the timeout to a short period (5-10 seconds). |
OHS management by Administration Server |
FW1 |
OHS Admin Port (7779) |
TCP / HTTP |
Outbound |
Set the timeout to a short period (5-10 seconds). |
Session replication within a WebLogic Server cluster |
n/a |
n/a |
n/a |
n/a |
By default, this communication uses the same port as the server's listen address. |
OAM Administration Console access |
FW1 |
9001 |
HTTPS / Administration Server and Enterprise Manager https/t3s |
Both |
You should tune this timeout based on the type of access to the WebLogic Remote Console (whether you plan to use the WebLogic Remote Console from the application tier clients or clients external to the application tier). |
OAM Server Access |
FW1 |
14101 |
HTTPS |
Inbound |
Set the timeout to a short period (5-10 seconds). |
OAM Policy Manager |
FW1 |
14151 |
HTTPS |
Inbound |
Set the timeout to a short period (5-10 seconds). |
OIG Administration Console Access |
FW1 |
9102 |
HTTPS |
Inbound |
Set the timeout to a short period (5-10 seconds). |
OIM Server Access |
FW1 |
14001 |
HTTPS |
Inbound |
Set the timeout to a short period (5-10 seconds). |
SOA Server Access |
FW1 |
7004 |
HTTPS |
Inbound |
Set the timeout to a short period (5-10 seconds). |
Database access |
FW2 |
1521 |
SQL*Net |
Both |
Timeout depends on database content and on the type of process model used for SOA. |
Oracle Notification Server (ONS) |
FW2 |
6200 |
ONS |
Both |
Required for Gridlink. An ONS server runs on each database server. |
Coherence for deployment |
n/a |
9991 Coherence requires the following connectivity
between members:
|
n/a |
n/a |
n/a |
Oracle Unified Directory access |
FW2 |
1636 |
LDAPS |
Inbound |
You should tune the directory server's parameters based on load balancer, and not the other way around. |