An open API service indexing awesome lists of open source software.

https://github.com/waelson/web-app-high-availability-cloudformation

Template to create high availability infrastructure for web application on AWS Cloudformation.
https://github.com/waelson/web-app-high-availability-cloudformation

Last synced: 11 months ago
JSON representation

Template to create high availability infrastructure for web application on AWS Cloudformation.

Awesome Lists containing this project

README

          

# High Availability to Web Application on AWS
Template to create high availability infrastructure for web application on AWS Cloudformation.


How to use:


Before you begin to use this repository, check you have installed AWS CLI in your machine. If you haven't installed it, please consider to visit AWS CLI Site for more informations.




  • Into repository, you will find two shell scripts files to create and update stack on Cloudformation. Use them to manipulate your Cloudformation stack or as reference to learn about Cloudformation commands using AWS CLI.

  • Create stack: ./create.sh <your-stack-name> <cloudformation-script-yml-file> <parameter-file>

  • Update stack: ./update.sh <your-stack-name> <cloudformation-script-yml-file> <parameter-file>

  • Note #1: Scripts must to be executed according to the following order: First, networks.yml responsable for creation all network configurations and last servers.yml to create EC2 instances and other resources associated to them.

  • Note #2: If you need to change IP range, check network-params.json file to update configurations.

  • Note #3: You will need to create a Key Pair through web console, to edit servers.yml file and to update value of the KeyName attribute in the resource AWS::AutoScaling::LaunchConfiguration.

Main points architecture:


    .
  • All single points of failure were eliminated. Remember, resources like Internet Gateway and Load Balancer are managed by AWS team.

  • Redundancy was included by Auto Scaling Group and Database Replication.

  • All resources are distributed between two availability zones. So, we guarantee more availability to architecture.

  • All EC2 instances are accessible just via load balancer. Note that all instances belong to private subnet, isolating them of all external traffic.

  • Important Note: Script files don't create database. Therefore, I recommend you to create database through web console (RDS - Relational Database Service) and associate it to your private subnet.


Solution diagram: