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.
- Host: GitHub
- URL: https://github.com/waelson/web-app-high-availability-cloudformation
- Owner: Waelson
- Created: 2020-02-29T12:19:15.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-03-01T23:37:45.000Z (over 6 years ago)
- Last Synced: 2025-01-07T02:04:45.323Z (over 1 year ago)
- Language: Shell
- Homepage:
- Size: 213 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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.ymlresponsable for creation all network configurations and lastservers.ymlto create EC2 instances and other resources associated to them. - Note #2: If you need to change IP range, check
network-params.jsonfile to update configurations. - Note #3: You will need to create a Key Pair through web console, to edit
servers.ymlfile 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: