Need help in resolving a specific issue connect AG listener with ApplicationIntent=ReadOnly
. We have 3-node cluster with AlwaysOn AG and synchronous replica. All 3-nodes are in same data center (Rackspace Dallas). I have verified that:
- We are connecting to Listener Name.
- The Read-Only routing list (
READ_ONLY_ROUTING_LIST
) is defined. - The Routing URL (
READ_ONLY_ROUTING_URL
) of each instance has a proper FQDN and port combination. ApplicationIntent
is specified in the connection string.- The
Sync_State
isSYNCHRONIZED
orSYNCHORNIZING
for the secondary replica. - The secondary replicas are set to allow connections.
- The initial catalogue is provided in connection string.
The AG listener with read-only intent connections works fine if I RDP into the servers and connect from any one node to the AG listener via SSMS. We host our servers in Rackspace. However, if I use the outside network (from my office location) to connect to AG listener (using public facing IP), the regular connection works fine but not the readonly intent ones.
Ruled out drivers and SSMS version issues as I checked this on SQL server 2008 R2, 2012 and 2016 with respective SSMS versions. .NET run time on all machine is 4.0.3+ so that is not an issue.
All 3-nodes are connected via a private switch for replication (192.168.5.x subnet), and all 3-nodes are accessible via public facing IP (192.168.99.x subnet through firewall) as well. Can access all of the nodes via respective IPs from our office location (outside Rackspace). The AG listener is configured to respond on (192.168.5.x and (192.168.99.x) for redundancy. Can ping one node to another via HostName, IP and FQDN as well.
The only thing that is missing is a DNS entry for the AG listener, which I am going to create to rule out the issue. However, I am connecting using IP address from our office location to the data center.