Udacity Cloud DevOps Engineer Nanodegree
This is the submission for the Deploy a high-availability web app using CloudFormation project.
You can view the already-deployed solution here: http://udagr-webap-17a8ii4d1hy51-1800257005.us-west-2.elb.amazonaws.com/ (link will be taken down after project is reviewed)
Architecture
The architecture diagram for this problem is as shown below
Running Instructions
- To set up the server, you have to first create the network infrastrcture using the command:
./create.sh udagram-famisa-infra infra.yml infra-params.json
Note: udagram-famisa-infra
could be substituted with any name of your choice.
- After a
CREATE_COMPLETE
status update on your AWS CloudFormation console, you then need to create the servers using the command:
./create.sh udagram-famisa-server server.yml server-params.json
Note: udagram-famisa-server
could be substituted with any name of your choice.
- After another
CREATE_COMPLETE
on the server stack, click on theOutputs
tab of the server stack, and there you will find DNS name to test this app as value to thekey
:LoadBalancerDNSName
Important files:
- create.sh, update.sh & delete.sh
- infra.yml - AWS CloudFormation script for setting up network infrastructure - subnets, internet gateway, VPC, private subnets, etc. Corresponding parameters file is
infra-params.json
- server.yml - AWS CloudFormation script for setting up server infrastructure and IAM roles. Corresponding parameters file is
server-params.json
Remember to call ./delete.sh <stack-name>
to delete resources to avoid incurring charges