Right I am not going to re-write a perfectly good guide so please use the links at the bottom of this Post for Exact Step by Step which was written by The Exchange Team Blog.
I have implemented this solution and I am currently running this on 2 x Server 2012 R2. I am going to discuss more about my setup and experiences using this guide in a live environment.
Firstly I built 2 ARR servers using 2012 R2 and they are both hosted at my Datacentre. The guide in Part 1 explains how to configure IIS ARR as a reverse proxy and load balancing solution however as the guide states you can dramtically improve the solution and get true high availability for your clients by following part 2.
Problem with Part 1 Only:
With the Option1 implementation, we are only performing health checks against OWA and AutoDiscover Virtual Directories (vdir’s). There were no explicit checks to make sure that Outlook Anywhere (OA), Exchange Web Services (EWS), Offline Address Book (OAB) and others were actually up and running. As these explicit checks didn’t happen, the Reverse Proxy could continue to forward other protocol requests to the CAS server, even when those services/protocols are down.
To overcome the above mentioned scenarios, you would create individual Server Farms and URL Rewrite rules for each individual protocol. This way, there would be individual Health Checks being performed against each protocol, thus providing you with a true Reverse Proxy and Load Balancing configuration.
Below is how IIS ARR would be able to achieve per-protocol health check:
What we are achieving with Part/Option 2 is the ability to do a health check for each individual part of Exchange 2013 and confirm its OK. For example OWA might have failed on CAS1 but is OK on CAS2 while CAS2 could have problems with OAB. This allows the ARR to make informed routing decisions based on the health check reports.
If you want to see the health check results you can load this URL as an example: https://webmail.domain.com/OWA/HealthCheck.htm and you will see a Status 200 OK if all is fine.
I was a bit concerned when putting the solution in as to the performance but this setup is supporting 300 mailboxes and 100 of them are OWA users only and I have had ZERO performance issues.
THe IIS ARR servers are using Round Robin DNS to spread the load between them but taking a CAS Server down for maintenance is seemless and we can do this during the day with zero impact to daily running’s.
Would definitely be using the solution again.