/AWS-Cloudformation

This project deploys the cloud infrastructure and a basic website using AWS Cloudformation

Primary LanguageShell

AWS Cloud Formation

This project deploys the cloud infrastructure and a basic website on AWS

Link showing it successfully works:
http://serve-WebAp-11D6GNCP7035O-557630779.us-west-2.elb.amazonaws.com

How to

AWS Console:

  1. Go to services
  2. Search for CloudFormation click on it
  3. Now you can view the stacks you will be creating from the terminal

Login to your AWS CLI

Link on How to Set AWS CLI: https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html

On your Terminal

Open your Terminal
Download Repository with Code
In terminal run:
git clone git@github.com:wendysegura/AWS-Cloudformation.git
cd AWS-Cloudformation

Now we can create the stacks:
./create.sh infrastructure infrastructure.yml infra_parameters.json
Once that stack has completed you can run:
./create.sh servers servers.yml server_parameters.json

You can go to your aws console you should have something like screenshot below:


To view your website click on Exports and then click on link next to DNSName-Link like screenshot below:


Project Specifications for the Project (Ruberic)

The Basics

Parameters: More than 1
Resources: LoadBalancer, Launch Configuration, AutoScaling group a health check, security groups and Listner and Target Group
Outputs: URL with Load Balancer DNS Name and "http" in front of it.
Working Test: Url to verify it works with page that reads "it works! Udagram, Udacity"

Load Balancer

Target Group: The auto-scaling group needs to have a property that associates it with a target group. The Load Balancer will have a Listener rule associated with the same target group.
Health Check and Listener: Port 80 should be used in Security groups, health checks and listeners associated with the load balancer

Auto-Scaling

Subnets: Students should be using PRIV-NET ( private subnets ) for their auto-scaling instances.
Machine Specs: The machine should have 10 GB or more of disk and should be a t3.small or better.
SSH Key: There shouldn’t be a ‘keyname’ property in the launch config.

Bonus

Output: Any values in the output section are a bonus
Bastion Host: Any resource of type AWS::EC2::Instance, optional, but nice to have.