Recently, we were tasked to setup the infrastructure for an online quiz system on Amazon AWS. The brief for the assignment were:
- High availability
- Good performance
- Easy to scale
We decided to implement a Virtual Private Cloud (VPC), spanning across two availability zones denoted as A (10.0.0.0/24) and B (10.0.1.0/24). The general outline of the infrastructure design is illustrated below:
Interacting with the outside world was done by Elastic Load Balancer (ELB) which helped to load balance the traffic not only between the availability zones but also between various instances within a zone. ELB will ensure high availability (HA) simply registering EC2 instances to the list of managed instances by ELB. Just like HA, scaling horizontally is easily achieved by creating a new instance and adding it to the list of managed instances by ELB. Also worth noting that control of traffics and access was done via a security group.