Not a fan of Amazon AWS service but I have someone who is. Although the cluster installation process it is almost the same, there are some notes to keep in mind. These notes are done thinking you are familiar with FusionPBX, FreeSWITCH, and AWS.
The Linux Distribution
I understand that Amazon prices vary depending on the Linux distribution you selected. Please do not use the Amazon Linux AMI for this. It is a shortened CentOS 6 based distribution. I have spent 3 hours trying to make it work. The problem is that its repo does not include all the dependencies, and you have to install manually all the RPM's.
Choose CentOS 7 from the Linux distribution list, installation is very straight forward with it.
Installation Process of FusionPBX and FreeSWITCH
The installation is done using my RPMś from my OKay repository. Focus on having the first two stand-alone nodes running. It is the key to everything. Once both systems are running, take one as the primary and dump the database (fusionpbx and freeswitch database only).
I know that Amazon RDS is just a hardened database server. I used the Aurora DB RDS type, which it seems it is cheaper than MySQL or MariaDB. You will get two instances with a hostname like something.cluster-c3jafm2mi1gg.us-east-1.rds.amazonaws.com. Make sure you replication between those two nodes is configured and that you can a SQL connection from CLI from both nodes. Once it is done, you can import both databases dumps.
Make sure you can connect and add/delete/select records on both.
HAProxy and Replication between RDS'es
Amazon RDS'es replication is not in real-time, at least not in the deployment I used. It took like 5 minutes to see one change in one database into the other. So this is not ideal for an HA deployment in VoIP. So when configuring the HAProxy to access both database servers, the round-robin approach won't work for you; you will need to use a failover policy (balance-first mode for HAProxy).
After the HAProxy is done, configure your ODBC Settings and make them point to the HAProxy.
As the requirement was, use Amazon as much as possible. Amazon has something that is called Route53. Route53 seems to be a DNS service that is geographically sensible, it will forward your clients to a specific instance based on the IP that is requesting the resolution. I understand Route53 is not cheap, especially because you need a traffic flow policy.
If this is out of the budget, you may be interested in my PowerDNS Add-On.
Good luck!blog comments powered by Disqus