Forum Discussion

Anuj's avatar
Anuj
Icon for Nimbostratus rankNimbostratus
Jan 21, 2020

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.

3 Replies

  • 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's avatar
    Anuj
    Icon for Nimbostratus rankNimbostratus

    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

     

     

    • cjunior's avatar
      cjunior
      Icon for Nacreous rankNacreous

      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.