0
votes

I have a local service fabric cluster which has 6-7 custom http endpoints exposed. I use fiddler to redirect these to my service like so:

127.0.0.1:44300 identity.mycompany.com

127.0.0.1:44310 docs.mycompany.com

127.0.0.1:44320 comms.mycompany.com

etc..

I've never deployed a cluster in azure before, so there's some intricacies that i'm not familiar with and I can't find any documentation on. I've tried a multiple times to deploy and tinker with the load balancers/public ips with no luck.

I know DNS CNAMES can't specify ports, so I guess that I have to have separate public IP for each hostname I want to use and then somehow internally map that to the port. So i end up with something like this:

identity.mycompany.com => azure public ip => internal redirect / map => myservicefabrichostname.azure.whatever:44300

my questions are:

1) is this the right way to go about it? or is there some fundamental method that i'm missing

2) do I have to specify all these endpoints (44300, 44310, 44320...) when creating the cluster (it appears to set up a load of load balancer rules/probes) or will this be unnecessary if I have multiple public IPs), i'm unsure if this is for internal or external access.

thanks

EDIT:

looks like the azure portal is broken :( been on phone with microsoft support and it looks like it's not displaying the backendpools in the load balancer correctly, so you can't set up any new nat rules.

Might be able to write a powershell script to get round this though

EDIT 2:

looks like Microsoft have fixed the bug in the portal, happy times

1
Pretty sure you can replace the Load Balancer with an Application Gateway which supports url based routing, azure.microsoft.com/en-gb/documentation/articles/… - jimpaine
thanks jimpaine, I had seen this but wasn't sure if I could set it up to work with all the autoscaling etc. I'll wait to see what the ms support team come up with before exploring any alternatives. - Peter Lea

1 Answers

1
votes

Instead of using multiple ip addresses you can use a reverse proxy. Like HAProxy, IIS (with rewriting), the built-in reverse proxy, or something you build yourself or reuse. The upside of that is that is allows for flexibility in adding and removing underlying services.

All traffic would come in on one endpoint, and then routed in the right direction (your services running on various ports inside the cluster). Do make sure your reverse proxy is high available.