AWS Notes

AWS Developer: Building on AWS Course note


Last Updated: December 31, 2018 by Pepe Sandoval



Want to show support?

If you find the information in this page useful and want to show your support, you can make a donation

Use PayPal

This will help me to create more stuff and fix the existent content... or probably your money will be used to buy beer


AWS

Intro

  • AWS (Amazon Web Services): Provides a collection of cloud computing services accessed via Internet to run SW applications
  • Provides compute, storage, database, analytics and machine learning services
  • Everything you would want to do with a data center you can do with AWS so you rent these services
  • It's a programmable data center
  • AWS API:
    • Sits in top of the AWS infrastructure
    • Allows you to programmatically provision, configure and arrange the interaction between your resources
    • Its the only way external users interact with the AWS services and resources
    • for example: create a database

Amazon EC2

  • Elastic Compute Club (EC2) is a web service that provides secure resizable compute capacity in the cloud
  • An EC2 instance provide a virtual machine that has resources (VCPU, RAM, storage...) which runs on an actual AWS server (or host), a hypervisor manages/mediates these instances
  • Host are located in an availability zone (AZ). AZ IDs end in letters
    • AZ: A physically distinct, independent infrastructure, that is engineered to be highly reliable
  • AWS regions contain one or more AZs. Region IDs end in numbers

AWS Region

  • To launch an EC2 instance we need to setup:
    • the AMI (Amazon Machine Image): Ubuntu, Database server...
    • The instance type/ HW profile: How many CPUs and RAM...
    • Security groups: Services TCP/HTTP
    • Storage: non-volatile storage size
    • Key pairs
  • Creating and EC2 instance gets at least one VPC this connection gets assigned a private IP
  • EC2 instances are launched into subnets
  • port 80 should be open if the instance is a web server but not if it's an internal server or database server

Amazon VPC

  • Virtual Private Cloud, allows to run an isolated network connected to the internet or private networks
  • Allows us to define how network traffic flows between the subnets and out to the internet, we use internet gateways and rules to route the traffic from the webserver subnet to the internet gateway, rules are stored in route tables for this
  • Allows to securely connect Web servers for example connecting the main webserver where our application lives to a database server

VPC subnets VPC gateways and routes

  • We use CloudFormation and VPC to build networks.
  • A stack
    • it is a set of resources that CloudFormation with manage for us
    • it is an instance of a template
  • ssh -i ~/.ssh/pepekeypair.pem ec2-user@54.245.47.33
  • Public IP: 54.245.47.33 VPC ID : vpc-137a036a edx-subnet-public-a: subnet-6ff75416
Want to show support?

If you find the information in this page useful and want to show your support, you can make a donation

Use PayPal

This will help me to create more stuff and fix the existent content... or probably your money will be used to buy beer