cancel
Showing results for 
Search instead for 
Did you mean: 

SRV record response to contain different priority response everytime

Anuj
Nimbostratus
Nimbostratus

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

 

1 ACCEPTED SOLUTION

cjunior
Nacreous
Nacreous

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.

View solution in original post

3 REPLIES 3

cjunior
Nacreous
Nacreous

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.

Anuj
Nimbostratus
Nimbostratus

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

 

 

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.