Forum Discussion
SRV record response to contain different priority response everytime
Hello Experts,
I have following setup for SRV record
This is hosted as WideIP: _collab-edge.tls_.xyz.com
Based on topology records this is taking me to a nearest possible region. I have around 6-7 data centers where the A record in response takes me to.
Currently it is taking me to a pool lets say in amsterdam Data center if my LDNS is from Amsterdam or some parts of EMEA
I have this requirement now wherein I have to provide response of SRV query with two regions / Data Center's A record but with different priority. Currently these two regions were having their respective pools (example one pool for amsterdam and one for France). Now, I have created one pool combining these two regions.
Lets say now my pool has six entries as follows:
domain =xyz.com service= _collab-edge protocol = _tls Priority = 10 weight = 10 port = 1234 fqdn = abc1amsterdam.xyz.com
domain =xyz.com service= _collab-edge protocol = _tls Priority = 10 weight = 10 port = 1234 fqdn = abc2amsterdam.xyz.com
domain =xyz.com service= _collab-edge protocol = _tls Priority = 10 weight = 10 port = 1234 fqdn = abc3amsterdam.xyz.com
domain =xyz.com service= _collab-edge protocol = _tls Priority = 20 weight = 10 port = 1234 fqdn = abd1france.xyz.com
domain =xyz.com service= _collab-edge protocol = _tls Priority = 20 weight = 10 port = 1234 fqdn = abd2france.xyz.com
domain =xyz.com service= _collab-edge protocol = _tls Priority = 20 weight = 10 port = 1234 fqdn = abd3france.xyz.com
Now the requirement is that when my topology based record takes me to this pool then response should see two entries like this:
domain =xyz.com service= _collab-edge protocol = _tls Priority = 10 weight = 10 port = 1234 fqdn = abc1amsterdam.xyz.com
domain =xyz.com service= _collab-edge protocol = _tls Priority = 20 weight = 10 port = 1234 fqdn = abd1france.xyz.com
We have to provide response from two different DC FQDNs with different priority in every SRV query. like second query may give response:
domain =xyz.com service= _collab-edge protocol = _tls Priority = 10 weight = 10 port = 1234 fqdn = abc2amsterdam.xyz.com
domain =xyz.com service= _collab-edge protocol = _tls Priority = 20 weight = 10 port = 1234 fqdn = abd3france.xyz.com
Is this possible any how or is there any other way to configure this?
Thanks in advance
Hi,
I think you can work with weight values in topology records to achieve your expectations.
Is it possible to summarize the records for each data center and balance the load? Otherwise, it may be necessary to create an SRV pool to assign a high priority member to each member in the datacenter.
In a given scenario:
DC/Server:
DC_AMS
vs_srv_ams1 10.10.0.1
vs_srv_ams2 10.10.0.2
vs_srv_ams3 10.10.0.3
DC_FRA
vs_srv_fra1 10.20.0.1
vs_srv_fra2 10.20.0.2
vs_srv_fra3 10.20.0.3
DC_USA
vs_srv_usa1 10.30.0.1
vs_srv_usa2 10.30.0.2
vs_srv_usa3 10.30.0.3
Pool:
A pool_abcamsterdam.xyz.com
vs_srv_ams1
vs_srv_ams2
vs_srv_ams3
A pool_abcfrance.xyz.com
vs_srv_fra1
vs_srv_fra2
vs_srv_fra3
A pool_abcusa.xyz.com
vs_srv_usa1
vs_srv_usa2
vs_srv_usa3
SRV pool_AMS_collab-edge.tls_.xyz.com
(LB: Topology | Maximum Answers Returned: 2)
abcamsterdam.xyz.com Priority 10
abcfrance.xyz.com Priority 20
abcusa.xyz.com Priority 20
SRV pool_FRA_collab-edge.tls_.xyz.com
(LB: Topology | Maximum Answers Returned: 2)
abcfrance.xyz.com Priority 10
abcamsterdam.xyz.com Priority 20
abcusa.xyz.com Priority 20
SRV pool_USA_collab-edge.tls_.xyz.com
(LB: Topology | Maximum Answers Returned: 2)
abcusa.xyz.com Priority 10
abcamsterdam.xyz.com Priority 20
abcfrance.xyz.com Priority 20
WideIP:
A abcamsterdam.xyz.com
pool_abcamsterdam.xyz.com
A abcfrance.xyz.com
pool_abcfrance.xyz.com
A abcusa.xyz.com
pool_abcusa.xyz.com
SRV _collab-edge.tls_.xyz.com
(LB: Topology)
pool_AMS_collab-edge.tls_.xyz.com
pool_FRA_collab-edge.tls_.xyz.com
pool_USA_collab-edge.tls_.xyz.com
Topology record:
Region is AMS: pool pool_AMS_collab-edge.tls_.xyz.com
Region is AMS: subnet 10.10.0/24 - Weight 10
Region is AMS: subnet 10.20.0/24 - Weight 5
Region is AMS: subnet 10.30.0/24 - Weight 5
Region is FRA: pool pool_FRA_collab-edge.tls_.xyz.com
Region is FRA: subnet 10.20.0/24 - Weight 10
Region is FRA: subnet 10.10.0/24 - Weight 5
Region is FRA: subnet 10.30.0/24 - Weight 5
Region is USA: pool pool_USA_collab-edge.tls_.xyz.com
Region is USA: subnet 10.30.0/24 - Weight 10
Region is USA: subnet 10.10.0/24 - Weight 5
Region is USA: subnet 10.20.0/24 - Weight 5
It's just a possibility to deploy.
You can play with weight and maximum answers to reach other as well.
Let me know if it solves to you.
Regards.
- cjuniorNacreous
Hi,
I think you can work with weight values in topology records to achieve your expectations.
Is it possible to summarize the records for each data center and balance the load? Otherwise, it may be necessary to create an SRV pool to assign a high priority member to each member in the datacenter.
In a given scenario:
DC/Server:
DC_AMS
vs_srv_ams1 10.10.0.1
vs_srv_ams2 10.10.0.2
vs_srv_ams3 10.10.0.3
DC_FRA
vs_srv_fra1 10.20.0.1
vs_srv_fra2 10.20.0.2
vs_srv_fra3 10.20.0.3
DC_USA
vs_srv_usa1 10.30.0.1
vs_srv_usa2 10.30.0.2
vs_srv_usa3 10.30.0.3
Pool:
A pool_abcamsterdam.xyz.com
vs_srv_ams1
vs_srv_ams2
vs_srv_ams3
A pool_abcfrance.xyz.com
vs_srv_fra1
vs_srv_fra2
vs_srv_fra3
A pool_abcusa.xyz.com
vs_srv_usa1
vs_srv_usa2
vs_srv_usa3
SRV pool_AMS_collab-edge.tls_.xyz.com
(LB: Topology | Maximum Answers Returned: 2)
abcamsterdam.xyz.com Priority 10
abcfrance.xyz.com Priority 20
abcusa.xyz.com Priority 20
SRV pool_FRA_collab-edge.tls_.xyz.com
(LB: Topology | Maximum Answers Returned: 2)
abcfrance.xyz.com Priority 10
abcamsterdam.xyz.com Priority 20
abcusa.xyz.com Priority 20
SRV pool_USA_collab-edge.tls_.xyz.com
(LB: Topology | Maximum Answers Returned: 2)
abcusa.xyz.com Priority 10
abcamsterdam.xyz.com Priority 20
abcfrance.xyz.com Priority 20
WideIP:
A abcamsterdam.xyz.com
pool_abcamsterdam.xyz.com
A abcfrance.xyz.com
pool_abcfrance.xyz.com
A abcusa.xyz.com
pool_abcusa.xyz.com
SRV _collab-edge.tls_.xyz.com
(LB: Topology)
pool_AMS_collab-edge.tls_.xyz.com
pool_FRA_collab-edge.tls_.xyz.com
pool_USA_collab-edge.tls_.xyz.com
Topology record:
Region is AMS: pool pool_AMS_collab-edge.tls_.xyz.com
Region is AMS: subnet 10.10.0/24 - Weight 10
Region is AMS: subnet 10.20.0/24 - Weight 5
Region is AMS: subnet 10.30.0/24 - Weight 5
Region is FRA: pool pool_FRA_collab-edge.tls_.xyz.com
Region is FRA: subnet 10.20.0/24 - Weight 10
Region is FRA: subnet 10.10.0/24 - Weight 5
Region is FRA: subnet 10.30.0/24 - Weight 5
Region is USA: pool pool_USA_collab-edge.tls_.xyz.com
Region is USA: subnet 10.30.0/24 - Weight 10
Region is USA: subnet 10.10.0/24 - Weight 5
Region is USA: subnet 10.20.0/24 - Weight 5
It's just a possibility to deploy.
You can play with weight and maximum answers to reach other as well.
Let me know if it solves to you.
Regards.
- AnujNimbostratus
Thank you sharing the suggestion.
All Data centers are remote and for them I just have respective FQDN and IP for which we are authoritative in GTM. Apart from that, there is no more visibility. Record summarization is a little challenging but I will explore this.
My concern is that I have at-least 3-4 IPs/clusters in every region. In every region when queried there should be only entry from that region in response and in every subsequent DNS SRV responses they should also change like if I go via this logic that you have mentioned
SRV pool_AMS_collab-edge.tls_.xyz.com
(LB: Topology | Maximum Answers Returned: 2)
abcamsterdam.xyz.com Priority 10
abcfrance.xyz.com Priority 20
abcusa.xyz.com Priority 20
SRV pool_FRA_collab-edge.tls_.xyz.com
(LB: Topology | Maximum Answers Returned: 2)
abcfrance.xyz.com Priority 10
abcamsterdam.xyz.com Priority 20
abcusa.xyz.com Priority 20
SRV pool_USA_collab-edge.tls_.xyz.com
(LB: Topology | Maximum Answers Returned: 2)
abcusa.xyz.com Priority 10
abcamsterdam.xyz.com Priority 20
abcfrance.xyz.com Priority 20
In every pool I need to provide at-least one more entry from each region like:
SRV pool_AMS_collab-edge.tls_.xyz.com
(LB: Topology | Maximum Answers Returned: 2)
abcamsterdam.xyz.com Priority 10
abcfrance.xyz.com Priority 20
abcusa.xyz.com Priority 20
abcamsterdam1.xyz.com Priority 10
abcfrance1.xyz.com Priority 20
abcusa1.xyz.com Priority 20
SRV pool_FRA_collab-edge.tls_.xyz.com
(LB: Topology | Maximum Answers Returned: 2)
abcfrance.xyz.com Priority 10
abcamsterdam.xyz.com Priority 20
abcusa.xyz.com Priority 20
abcfrance1.xyz.com Priority 10
abcamsterdam1.xyz.com Priority 20
abcusa1.xyz.com Priority 20
SRV pool_USA_collab-edge.tls_.xyz.com
(LB: Topology | Maximum Answers Returned: 2)
abcusa.xyz.com Priority 10
abcamsterdam.xyz.com Priority 20
abcfrance.xyz.com Priority 20
abcusa1.xyz.com Priority 10
abcamsterdam1.xyz.com Priority 20
abcfrance1.xyz.com Priority 20
Now, when any user queries for Amsterdam then logic will take it to Amsterdam pool. Now from that pool I need only ONE amsterdam FQDN response in the SRV response out of 2 responses. Plus, in next query it should also utilize the other amsterdam FQDN in response.
Let me know if this clarifies my request a little more OR feel free to revert if I haven't understood your solution properly.
Thanks again for all the help.
Regards
- cjuniorNacreous
Yep, think I got it before.
The cost is to replicate objects. For each number, one pool member as high priority.
Like this:
Pool:
SRV pool_AMS1_collab-edge.tls_.xyz.com
(LB: Topology | Maximum Answers Returned: 2)
abcamsterdam1.xyz.com Priority 10
abcfrance1.xyz.com Priority 20
abcusa1.xyz.com Priority 20
abcfrance2.xyz.com Priority 20
abcusa2.xyz.com Priority 20
SRV pool_AMS2_collab-edge.tls_.xyz.com
(LB: Topology | Maximum Answers Returned: 2)
abcamsterdam2.xyz.com Priority 10
abcfrance1.xyz.com Priority 20
abcusa1.xyz.com Priority 20
abcfrance2.xyz.com Priority 20
abcusa2.xyz.com Priority 20
SRV pool_FRA1_collab-edge.tls_.xyz.com
(LB: Topology | Maximum Answers Returned: 2)
abcfrance1.xyz.com Priority 10
abcamsterdam1.xyz.com Priority 20
abcusa1.xyz.com Priority 20
abcamsterdam2.xyz.com Priority 20
abcusa2.xyz.com Priority 20
SRV pool_FRA2_collab-edge.tls_.xyz.com
(LB: Topology | Maximum Answers Returned: 2)
abcfrance2.xyz.com Priority 10
abcamsterdam1.xyz.com Priority 20
abcusa1.xyz.com Priority 20
abcamsterdam2.xyz.com Priority 20
abcusa2.xyz.com Priority 20
SRV pool_USA1_collab-edge.tls_.xyz.com
(LB: Topology | Maximum Answers Returned: 2)
abcusa1.xyz.com Priority 10
abcamsterdam1.xyz.com Priority 20
abcfrance1.xyz.com Priority 20
abcamsterdam2.xyz.com Priority 20
abcfrance2.xyz.com Priority 20
SRV pool_USA2_collab-edge.tls_.xyz.com
(LB: Topology | Maximum Answers Returned: 2)
abcusa2.xyz.com Priority 10
abcamsterdam1.xyz.com Priority 20
abcfrance1.xyz.com Priority 20
abcamsterdam2.xyz.com Priority 20
abcfrance2.xyz.com Priority 20
Topology record:
Region is AMS: pool pool_AMS1_collab-edge.tls_.xyz.com - Weight 1
Region is AMS: pool pool_AMS2_collab-edge.tls_.xyz.com - Weight 1
Region is AMS: subnet 10.10.0/24 - Weight 10
Region is AMS: subnet 10.20.0/24 - Weight 5
Region is AMS: subnet 10.30.0/24 - Weight 5
Region is FRA: pool pool_FRA1_collab-edge.tls_.xyz.com - Weight 1
Region is FRA: pool pool_FRA2_collab-edge.tls_.xyz.com - Weight 1
Region is FRA: subnet 10.20.0/24 - Weight 10
Region is FRA: subnet 10.10.0/24 - Weight 5
Region is FRA: subnet 10.30.0/24 - Weight 5
Region is USA: pool pool_USA1_collab-edge.tls_.xyz.com - Weight 1
Region is USA: pool pool_USA2_collab-edge.tls_.xyz.com - Weight 1
Region is USA: subnet 10.30.0/24 - Weight 10
Region is USA: subnet 10.10.0/24 - Weight 5
Region is USA: subnet 10.20.0/24 - Weight 5
WideIP:
SRV _collab-edge.tls_.xyz.com
(LB: Topology)
pool_AMS1_collab-edge.tls_.xyz.com
pool_AMS2_collab-edge.tls_.xyz.com
pool_FRA1_collab-edge.tls_.xyz.com
pool_FRA2_collab-edge.tls_.xyz.com
pool_USA1_collab-edge.tls_.xyz.com
pool_USA2_collab-edge.tls_.xyz.com
I particularly don't like this approach :/
I can't see other best option then my first post.
Do It works for you?
Best regards.
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com