Amazon Web Services - KeynesYouDigIt/Knowledge GitHub Wiki
Intro
- Virtual Private Cloud (VPC): Virtual network that allows fast communication between resources, while limiting communication from the outside
- Can have public and private subnets
- Security Group:
- Manages communication between your VPC and the internet
- Manages communication between AWS resources
- Amazon Machine Image (AMI): Template for creating environments
- S3: Storage and backup
- EBS Volume: Hard drive for a compute resource
Elasticity vs. Scalability
- Elasticity implies that something stretches to accomodate increased demand, and then returns back to its previous level
- Scalability that the pieces are stackable by design
- Horizontal scaling: Adding more lightweight nodes
- Vertical scaling: Adding more computing power to your existing resources
Shared Responsibility Model
- Customer is responsible for their data, application and data encryption, OS and Network access control
- AWS is responsible for the computing, storage, database, networking, regions, availability zones, and edge locations
Total Cost of Onwership Calculator
Generates estimated monthly cost, and a schematic of the architecture at a URL you can send someone. It also helps you compare those costs to on-premises expenses.
Resource Tags
Key-value pairs for identifying your resources as your infrastructure grows.
Name
will show up in your dashboard- Helps with tagging newly created resources
- Use information systems / hierarchy best practices when coming up with naming schemes for your app
- Search for tagged resources under
Resource Groups -> Tag Editor
- Resource groups combine sets of tags, and can give you custom dashboards for that group
- You can track costs by resource group
Budgets
- General admin accounts can't set budgets
Your name -> Billing Dashboard -> Budgets
- Setup alerts for when different usage or cost thresholds are reached
CLI
Setup
From scratch:
sudo apt update && sudo apt install python unzip
curl https://s3.amazonaws.com/aws-cli/awscli-bundle.zip -o awscli-bundle.zip
unzip awscli-bundle.zip
sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
aws configure
From apt:
sudo apt install awscli
aws configure
Config:
- Get access keys from the AWS console with
Your Name -> Security Credentials -> Access Keys -> Create New Access Key
- Default region for Oregon is
us-west-2
- Output options are
none
,json
,table
, andtext
- You can setup multiple profiles with
aws configure --profile profile-name
General Use
- Man pages:
aws help
,aws s3 help
,aws iam add-user-to-group help
High Availability
High availability: System is up for ~100% of the time
- Achieved through redundancy, replication, failover protocols, monitoring, and load balancing