Cloud Practitioner Training Flashcards
IAM:
Users
mapped to a physical user, has a password for AWS Console
IAM:
Groups
contain users only
IAM:
Policies
JSON document that outlines permissions for users or groups
IAM:
Roles
for EC2 instances or AWS services
IAM:
Security
MFA + Password Policy
IAM:
AWS CLI
manage your AWS services using the command-line
IAM:
AWS SDK
manage your AWS services using a programming language
IAM:
Access Keys
access AWS using the CLI or SDK
IAM:
Audit
IAM Credential Reports & IAM Access Advisor
EC2:
EC2 Instance
AMI (OS) + instance size (CPU + RAM) + Storage + security groups + EC2 User Data
EC2:
Security Groups
Firewall attached to the EC2 instance
EC2:
EC2 User Data
Script launched at the first start of an instance
EC2:
SSH
start a terminal into our EC2 instances (port 22)
EC2:
EC2 Instance Role
link to IAM roles
EC2:
Purchasing Options
On-demand, Spot, Reserved (Standard + Convertible + Scheduled), dedicated host, Dedicated Instance
EBS
Elastic Block Store
Block storage designed to be connected to a single Ec2 instance that can scale to support petabytes of data and supporst multiple volume types based on need.
Persistent storage that exists separately from the host the virtual server is running on
network drives attached to one EC2 instance at a time
Mapped to an AZ
Can use EBS Snapshots for backups/transferring EBS volumes across AZ
AMI
Amazon Machine Image (AMI)
Template for an EC2 instance including configuration, operating system, and data
Can be shared across AWS accounts
provides the information required to launch an instance. You must specify an AMI when you launch an instance.
- create ready to use EC2 instances with our customizations
EC2 Instance Storage:
EC2 Image Builder
Automatically build, test, and distribute AMIs
EC2 Instance Store
High-Performance hardware disk attached to our EC2 instance
Lost if our instance is stopped/terminated
Ephemeral storage that is physically attached to the host the virtual server is running one
EC2 Instance Storage:
EFS
Elastic File System
network file system can be attached to 100s of instances in a region
can be attached to EC2
pay per use
EC2 Instance Storage:
EFS-IA
cost-optimized storage class for infrequently accessed files
EC2 Instance Storage:
FSx for Windows
Network File System for Windows servers
EC2 Instance Storage:
FSx for Lustre
High Performace Computing Linux File System
ELB & ASG:
High Availability
usually goes hand in hand with horizontal scaling
means running your application/system in at least 2 AZs
goal is to survive a data center loss (disaster)
- multi AZ auto scaling group
- multi AZ load balancer
ELB & ASG:
Scalability
means that an application/system can handle greater loads by adapting.
ability to accommodate a larger load by making the hardware stronger (scale up) or by adding nodes (scale out)
ELB & ASG:
Elasticity
once a system is scalable, elasticity means that there will be some “auto-scaling” so that the systems can scale based on the load
ELB & ASG:
Agility
NOT related to scalability
- distractor
- new IT resources are only a click away, which means that you reduce the time to make those resources available to your developers from weeks to just minutes
ELB & ASG:
Vertical Scalability
means increasing the size of the instance (scale up/down)
common for non-distributed systems such as a database
- usually a limit to how much you can vertically scale (hardware limit)
ELB & ASG:
Horizontal Scalability
- means increasing the number of instances/systems for your application (scale out/in)
- implies distributed systems
- very common for web apps/modern apps
- easy to horizontally scale thanks to cloud offerings like EC2
- Auto Scaling Group
- load balancer
ELB & ASG:
Elastic Load Balancers
ELB
Distrbute traffic across backend EC2 instances, can be multi AZ
- supports health checks
ELB & ASG:
3 types of Load Balancers
Application LB (HTTP/HTTPS - l7) Network LB (TCP - Layer 4) - ultra-high performance Classic LB (old)
ELB & ASG:
Auto Scaling Groups
ASG
Implement elasticity for your application across multi AZ
scale EC2 instances based on the demand on your system, replace unhealthy
integrated with the ELB
S3:
S3
infinitely scaling storage backup & storage disaster recovery archive hyprid cloud storage app hosting media hosting software delivery static website
S3:
Buckets
S3 allows people to store objects (files) in buckets (directories)
buckets must have globally unique name across all regions
Defined/tied to a region
S3:
Bucket naming convention
no uppercase no underscore 3-63 characters long not an IP must start with a lowercase letter or a number
S3:
objects
files in buckets
objects have a key
key is the FULL path (prefix + obj name)
S3:
S3 Security
User-based: IAM policies
Resource-based: bucket policies, Object Access Control List, Bucket Access Control List
Encryption: encrypt using encryption keys
S3:
S3 Websites
host a static website on s3
S3:
S3 Versioning
multiple versions for files, prevent accidental deletes
S3:
S3 Access Logs
log requests made within your S3 bucket
S3:
3 Replication
same-region or cross-region, must enable versioning
S3:
S3 storage classes
Standard, IA, IZ-IA, Intelligent, Glacier, Glacier Deep Archive
Amazon S3 Standard
- 99% availability
- used for frequently accessed data
- low latency and high throughput
- sustain 2 concurrent facility failures
Amazon S3 Standard Use Cases
big data analytics, mobile & gaming applications, content distribution
Amazon S3 Standard-infrequent Access (IA)
- 9% availability
- suitable for data that is less frequently accessed but requires rapid access when needed
- lower cost compared to S3 standard but retrieval fee
- can sustain 2 concurrent facility failures
Amazon S3 Standard-infrequent Access (IA) Use Cases
data store for disaster recovery, backups
Amazon S3 One Zone-Infrequent Access (IZ-IA)
same as IA but data is stored in single AZ
99.5% availability
- low latency and high throughput performance
lower cost compared to S3-IA (20%)
Amazon S3 One Zone-Infrequent Access (IZ-IA) Use Cases
storing secondary backup copies of on-premise data, or storing data you can recreate
Amazon S3 Intelligent Tiering
99.9% availability
same low latency and high throughput performance of S3 standard
-cost-optimized by automatically moving objects between two access tiers based on changing access pattern: frequent/infrequent
Amazon S3 Intelligent Tiering Use Cases
resilient against events that impact an entire availability zone
Amazon Glacier
low cost storage meant for archiving/backup
data is retained for the longer term (years)
various retrieval options of time with fees for retrieval
Amazon Glacier retrieval times
expedited (1-5 minutes)
standard (3-5 hours)
bulk (5 to 12 hours)
Amazon Glacier Deep Archive retrieval times
cheapest
standard (12 hours)
bulk (48 hours)
S3:
S3 Lifecycle RUles
transition objects between classes - for infrequently accessed objects move them to standard IA
for archive objects you don’t need in real time use Glacier or Glacier Deep Archive
S3:
S3 Glacier Vault Lock
Adopt a WORM (write once read many) model
Lock the policy for future edits (can no longer be changed)
helpful for compliance and data retention
S3:
S3 Object Lock
adopt WORM (write once read many) model block an object version deletion for a specified amount of time
Snowcone
small portable computing, anywhere, rugged & secure, withstands harsh environments 8 TBS of usable storage must provide own battery/cables 2 CPUS 4GB of memory USB C
Snowball edge
for data transfers
up to 15 nodes
can run EC2 instances & AWS Lambda Functions
long term deployment options
Snowball edge Storage Optimized
80TB of HDD capacity
up to 40 vCPUS, 80 GB RAM
Snowball Edge Compute Optimized
42TB of HDD capacity
52 vCPUS 208 GB RAM
snowmobile
actual truck
transfer exabytes of data (a million TBs)
high security, temp controlled, GPS, 24/7 video surveillance
Edge Computing
when you process data while its being created on an edge location (Ship on the sea, mining station, truck on the road)
OpsHub
desktop application to manage Snow Family Devices
Storage Gateway
hybrid solution to extend on-premises storage to S3
bridge between on-premise data and cloud data in S3
allows on-premises to seamlessly use the AWS cloud
Relational Databases
online transactional processing
links between tables
can use the SQL language to perform queries
Relational Database Examples
RDS & Aurora in AWS
PostgreSQL, MySQL, Microsoft SQL, Oracle
AWS RDS
Relational Database Service
managed DB service that uses SQL as a query language
- automated provisioning/OS patching
- continuous backups and restore to a specific timestamp
- monitoring dashboards
-read replicas for improved read performance
- no SSH
Read Replica
copy of the primary instance that reflects changes to the primary in almost real-time
can use to offload read requests or analytics traffic from the primary instance
Aurora
a MySQL and PostgreSQL compatible relational database built for the cloud, that combines the performance and availability of traditional enterprise databases with the simplicity and cost-effectiveness of open source databases
RDS Read Replica
scale the read workload of your DB
can create up to 5 read replicas
data is only written to the main DB
RDS Multi AZ
failover in case of AZ outage
high availability
data is only read/written to the main database
Amazon ElastiCache
Fully managed in-memory data store (Database), compatible with Redis or Memcached. Power real-time applications with sub-ms latency
helps reduce load-off databases for read intensive workloads
caches are in-memory databases with high performance, low latency
ElastiCache Use Cases
Caching, Session Stores, Gaming, Geospatial Services, Real-Time analytics, and Queueing
DynamoDB
Key/value Databse
Fully managed, highly available with replication across 3 AZ
NoSQL - not a relational database
scales to massive workloads, distributed serverless database
integrated with IAM
can handle more than 10 trillion requests per day and can support peaks of more than 20 million requests per second.
DynamoDB Accelerator (DAX)
fully managed in-memory cache for DynamoDB
10x performance improvement
Redshift
Cloud Data Warehouse
Cloud Database based on PostgreSQL but not used for OLTP
OLAP - online analytical processing
loads data once every hour, not every second
10x better performance than other data warehouses
column bases storage (not row based)
Pay as you go
integrates with AWS QuickSight or Tableau
EMR (Elastic MapReduce)
Cloud big-data platofrm for processing vast amounts of data
Hadoop Clusters
clusters can be made of hundreds of EC2 instances
Also supports Apache Spark, Apache Hive, Apache HBase, Apache Flink, Apache Hudi, Presto
EMR takes care of all the provisioning and configuration
auto-scaling and integrated with spot instances
EMR Use Cases
data processing
machine learning
web indexing
big data
Athena
Interactive, serverless query service that makes it easy to anazlye data in S3 using standard SQL. pay per query output results back to S3 secured through IAM only S3
Athena Use Cases
one time SQL queries, serverless queries on S3
QuickSight
interactive dashboards on your data.
scalable, serverless, embeddable, machine-learning powered Business intelligence (BI) built for the cloud
fast, automatically scalable, embeddable, per-session pricing
can be accessed from browsers or mobile devices
QuickSight Use Cases
business analytics, building visualizations, ad-hoc analysis, integrated with RDS, Athena, etc
DocumentDB
similar. to Aurora but for mongoDB instead of PostgreSQL/SQL
used to store query & index JSON data
fully managed, highly available with replication across 3 AZ
NoSQL
Amazon QLDB
Quantum Ledger Database
Financial Transactions Ledger (immutable journal, cryptographically verifiable)
Fully managed, serverless, High Availability, Replication across 3 AZ
immutable system - no entry can be removed or modified
no decentralization component in accordance with financial regulation rules
Amazon Managed Blockchain
fully managed service that makes it easy to join public networks or create and manage scalable private networks using the popular open-source frameworks Hyperledger Fabric and Ehereum
makes it possible to build applications where multiple parties can execute transactions without the need for a trusted, central authority
join public blockchain networks
Neptune
fast, reliable, fully managed graph database service that makes it easy to build and run applications that work with highly connected datasets
(popular graph dataset = social network)
highly available with replications across multiple AZs
GRAPH DATABASES
Database Migration Service (DMS)
Database Migration Service
Enables you to move data into AWS from existing Databases
supports one time and continual migration of data
quick & secure migration of databases to AWS
source Database remains available during the migration
supports homogenous migrations (oracle to oracle) or heterogeneous (Microsoft SQL to Aurora)
MIGRATION TO A DATABASE
Amazon Glue
serverless data integration service that makes it easy to discover, prepare and combine data for analytics, machine learning and application development
Managed Extract, Transform and Load Service (ETL)
Amazon Glue Data Catalog
Catalog of datasets
can be used by Athena, Redshift, EMR
index to the location, schema and runtime metrics of your data
use info in Data Catalog to create and monitor your ETL jobs
Docker
container technology to run applications
platform to deploy apps - apps are packaged in containers that can be run on any OS
apps run the same regardless of where they are run
docker images are stored in docker repositories
ECS
Elastic Container Service
launch docker containers on AWS
must provision & maintain the infrastructure (EC2 instances)
AWS takes care of starting/stopping containers
integrates with Application Load Balancer
Fargate
launch docker containers without provisioning the infrastructure serverless offering (no EC2 instances) AWS just runs the containers you need
ECR
Elastic Container Registry
Private docker repo/registry on AWS
where you store docker images so they can be run y ECS or Fargate
AWS Batch
Fully managed batch processing at any scale
Efficiently run 100,000s of computing BATCH jobs on AWS
Batch jobs = start and an end (not continuous)
Will dynamically launch EC2 instances or Spot Instances
Batch jobs are defined as Docker Images and run on ECS
Lightsail
Virtual Servers, storage, databases and networking
Low & predictable pricing
Simpler alternative to EC2, RDS, ELB, EBS, Route 53, etc
Great for people with little cloud experience
High availability but no auto-scaling and limited AWS integrations
Lightsail Use Cases
simple web applications
websites (WordPress)
dev/test environment
Lambda
Serverless, function as a Service, seamless scaling, reactive
run on-demand
limited by time/short executions
Lets you run code without provisioning or managing servers. You pay only for the compute time you consume. You can run code for virtually any type of application or backend service - all with zero administration.
Lambda Billing
By the time run x by the RAM provisioned
By the number of invocations
Pay Per calls: - first 1 million request free $0.20 per million requests thereafter Pay Per Duration (in incremenet of 1ms) - 400,000 GB seconds of compute time per month is free - $1 for 600,000 GB seconds after that
Lambda Language Support
Node.js Python Java C# (.NET core) Golang C# (powershell) Ruby Custom Runtime API no Docker
Lambda Use Cases
Create thumbnails for images uploaded onto S3
Run a serverless Cron job