Deploy Infrastructure as Code Project: Deploy a High-Availability Web App using CloudFormation
In this project, you’ll deploy web servers for a highly available web app using CloudFormation. You will write the code that creates and deploys the infrastructure and application for an Instagram-like app from the ground up. You will begin with deploying the networking components, followed by servers, security roles and software. The procedure you follow here will become part of your portfolio of cloud projects. You’ll do it exactly as it’s done on the job - following best practices and scripting as much as possible.
- Access the high availability web app using the DNS name address of the application load balancer.
-
An AWS Account
-
The AWS Command Line Interface for running the Cloudformation script
- config.json
- create.sh
- delete.sh
- deploy.py
- infrastructure.yml
- parameters.json
- project-infrastructure-diagram.jpeg
- project-infrastructure-diagram.pdf
- README.md
- update.sh
- Run the CloudFormation script from the terminal(bash) using one of the following methods:
- If you have Python 3 (Python 3.6+) installed, use the supplied deployment script:
$ ./deploy.py -c create config.json
- Using the supplied shell script:
$ ./create.sh Udacity-IaC-Project infrastructure.yml parameters.json
- Directly from the terminal:
$ aws cloudformation create-stack --stack-name Udacity-IaC-Project --template-body file://infrastructure.yml --parameters file://parameters.json --capabilities "CAPABILITY_IAM" "CAPABILITY_NAMED_IAM" --region=us-west-2
- If you have Python 3 (Python 3.6+) installed, use the supplied deployment script:
- To update the CloudFormation stack (after it has been created and only after the template/parameters have been modified) use one of the following methods:
- If you have Python 3 (Python 3.6+) installed, use the supplied deployment script:
$ ./deploy.py -c update config.json
- Using the supplied shell script:
$ ./update.sh Udacity-IaC-Project infrastructure.yml parameters.json
- Directly from the terminal:
$ aws cloudformation update-stack --stack-name Udacity-IaC-Project --template-body file://infrastructure.yml --parameters file://parameters.json --capabilities "CAPABILITY_IAM" "CAPABILITY_NAMED_IAM" --region=us-west-2
- If you have Python 3 (Python 3.6+) installed, use the supplied deployment script:
- To delete the CloudFormation stack use one of the following methods:
- If you have Python 3 (Python 3.6+) installed, use the supplied deployment script:
$ ./deploy.py -c delete config.json
- Using the supplied shell script:
$ ./delete.sh Udacity-IaC-Project
- Directly from the terminal:
$ aws cloudformation delete-stack --stack-name Udacity-IaC-Project
- If you have Python 3 (Python 3.6+) installed, use the supplied deployment script: