Aws Cpe
Aws Cpe
On-Demand A fixed price in which you You can reserve capacity using On-demand
are billed down to the second 1. Low cost without upfront payment or Capacity Reservations.
based on the instance type. long-term commitment The EC2 capacity is held for you whether or not
No contract and pay only for 2. Applications have unpredictable you run the instance.
what you use workloads that can't be interrupted
3. Applications are under development
4. Workloads will. not run longer than a
year
Storage Gateway
Storage Gateway is a hybrid storage service
● Connect on-premises and cloud data
● Supports a hybrid model
EC2 Instance Store
● Recommended for: (POPs). If your content is not already cached in an edge location, CloudFront
○ Moving backups to the cloud retrieves it from an origin that you’ve identified as the source for the definitive
○ Reducing costs for hybrid cloud storage version of the content.
○ Low latency access to data
AWS Backup Global Accelerator
AWS Backup helps you manage data backups across multiple AWS Global Accelerator sends your users through the AWS global network
services when accessing your content, speeding up delivery
● Integrates with resources like EC2, EBS, EFS, and more ● Improves latency and availability of single-Region applications
● Create a backup plan that includes frequency and retention ● Sends traffic through AWS Global Network Infrastructure
● 60% performance boost
Instance metadata is the data about your instance that you can use to configure ● Automatically reroutes traffic to healthy available regional endpoints
or manage the running instance. You can get the instance ID, public keys,
public IP address and many other information from the instance metadata by S3 Transfer Acceleration
entering the following URL in your instance. S3 Transfer Acceleration improves content uploads and downloads to and
from S3 buckets
Content Delivery Network (CDN) ● Fast transfer of files over long distances
● Uses CloudFront's globally distributed edge locations
CloudFront ● Customers around the world can upload to a central bucket
CloudFront is a CDN that delivers data and applications globally with low
latency Networking
● Makes content available globally or restricts it based on location
● Speeds up delivery of static and dynamic web content Networking connects computers together and allows for the sharing of data
● Uses edge locations to cache content and applications, around the globe, in a secure manner using virtual routers,
firewalls, and network management services.
CloudFront in the Real World
1. S3 static websites Route 53
a. CloudFront is often used with S3 to deploy content globally Route 53 is a DNS service that routes users to applications
2. Prevent attacks ● Domain name registration
a. CloudFront can stop certain web attacks, like DDoS ● Performs health checks on AWS resources
3. IP address blocking ● Supports hybrid cloud architectures
a. Geo-restriction prevents users in certain countries from accessing ○ Route Table
content ○ Hosted Zone
Amazon CloudFront is a global service that delivers your content through a Virtual Private Cloud (VPC)
worldwide network of data centers called edge locations or points of presence
VPC is a foundational service that allows you to create a secure private
network in the AWS Cloud where you launch your resources
● Private virtual network
● Launch resources like EC2 instances inside the VPC
● Isolate and protect resources
● A VPC spans Availability Zones in a Region
○ Internet Gateway
○ Peering Connection
Amazon VPC lets you provision a logically isolated section of the Amazon Web VPC Peering
Services (AWS) cloud where you can launch AWS resources in a virtual ● VPC Peering allows you to connect 2 VPCs together
network that you define. You have complete control over your virtual ● Peering facilitates the transfer data in a secure manner
networking environment, including selection of your own IP address ranges,
creation of subnets, and configuration of route tables and network gateways.
Subnet
A subnet allows you to split the network inside the VPC. This is where you
launch resources like EC2 Instances
● Private Subnet
○ not accessible from the internet – put resources here that you want
private (e.g. database) Direct Connect
● Public Subnet Direct Connect is a dedicated physical network connection from your
○ accessible from the internet – put resources here that you want to be on-premises data center to AWS
public ● Dedicated physical network connection
○ Components in a Public Subnet ● Connects your on-premises data center to AWS
■ NACL (Network Access Control List) ● Data travels over a private network
● Ensure the proper traffic is allowed into the subnet ● Supports a hybrid environment
● Can be used to block traffic to a particular instance1
■ Router and Route Table Direct Connect in the Real World
● Defines where network traffic is routed/directed 1. Large datasets
■ Internet Gateway a. Transfer large datasets to AWS
● Allows public traffic to the internet from a VPC 2. Business-critical data
a. Transfer internal data directly to AWS, bypassing your internet service
provider
3. Hybrid model
a. Build hybrid environments
AWS Virtual Private Network (VPN) ● Launch read replicas across Regions in order to provide enhanced
Site-to-Site VPN creates a secure connection between your internal performance and durability
networks and your AWS VPCs ○ Amazon Aurora
● Similar to Direct Connect but the data travels over the public internet ○ PostgreSQL
● Data is automatically encrypted ○ MySQL
● Connects your on-premises data center to AWS ○ MariaDB
● Supports a hybrid environment ○ Oracle
○ Microsoft SQL Server
Site-to-Site VPN in the Real World ● Amazon RDS Read Replicas
● Moving Applications ○ Provide enhanced performance and durability for database (DB)
○ A Site-to-Site VPN makes moving applications to the cloud easier instances. This feature makes it easy to elastically scale out beyond the
capacity constraints of a single DB instance for read-heavy database
API Gateway workloads.
API Gateway allows you to build and manage APIs ● Simplifies the management of time-consuming database administration
● Share data between systems tasks
Integrate with services like Lambda ● Makes it easy to set up, operate, and scale a relational database
API Gateway is a fully managed service that makes it easy for developers to publish,
maintain, monitor, and secure application programming interfaces at any scale. It acts
as a “front door” for applications to access data, business logic, or functionality from Amazon Aurora
your back-end services. Aurora is a relational database compatible with MySQL and PostgreSQL
that was created by AWS
Databases ● Supports MySQL and PostgreSQL database engines
● 5x faster than normal MySQL and 3x faster than normal PostgreSQL
Database allow us to collect, store, retrieve, sort, graph, and manipulate data ● Scales automatically while providing durability and high availability
In the AWS ecosystem, there are many different types of databases that support ● Managed by RDS
different use cases ○ PostgreSQL
○ MySQL
Relational Database Service (RDS)
RDS is a service that makes it easy to launch and manage relational Amazon DocumentDB
databases DocumentDB is a fully managed document database that supports
● Support popular database engines MongoDB
● Offers high availability and fault tolerance using Multi-Availability Zone ● Document database
deployment option ● MongoDB compatible
● AWS manages the database with automatic software patching, automated ● Fully managed and serverless
backups, operating system maintenance, and more ● Non-relational
b. Amazon Aurora
Amazon DynamoDB 3. Alleviate database load for data that is accessed often
DynamoDB is a fully managed NoSQL key-value and document database a. ElastiCache
● NoSQL key-value databases 4. Process large sets of user profiles and social interaction
● Fully managed and serverless a. Amazon Neptune
● Non-relational 5. NoSQL database fast enough to handle millions of request per second
● Scales automatically to massive workloads with fast performance a. Amazon DynamoDB
○ Table 6. Operate MongoDB workloads at scale
○ Item a. Amazon DocumentDB
○ Global Secondary Index
Migration and Transfer
Amazon ElastiCache
ElastiCache is a fully managed in-memory datastore compatible with A lot of companies are migrating to the cloud, and they need inexpensive, fast,
Redis or Memcached and secure ways to move their on-premise data to AWS
● In-memory datastore
● Compatible with Redis or Memcached engines Database Migration Service (DMS)
● Data can be lost DMS helps you migrate databases to or within AWS
● Offers high performance and low latency ● Migrate on-premises databases to AWS
○ ElastiCache for Memcached ● Continuous data replication
○ ElastiCache for Redis ● Supports homogeneous and heterogeneous migrations
Amazon Neptune ● Virtually no downtime
Neptune is a fully managed graph database that supports highly connected
datasets DMS in the Real World
● Graph database service 1. Oracle to Aurora MySQL
● Supports highly connected datasets like social media networks a. Migrate an on-premises Oracle database to Aurora MySQL
● Fully managed and serverless 2. Oracle to Oracle
● Fast and reliable a. Migrate an on-premises Oracle database to Oracle on EC2
3. RDS Oracle to Aurora MySQL
A closer look of Databases in the Real World a. Migrate an RDS Oracle database to Aurora MySQL
Although the databases on AWS support multiple use cases, let's look at
the BEST option for each use case Server Migration Service (SMS)
1. Migrate an on-premises Oracle database to the cloud SMS allows you to migrate on-premises servers to AWS
a. RDS ● Migrates on-premises servers to AWS
2. Migrate on-premises PostgreSQL database to the cloud ● Server saved as a new Amazon Machine Image (AMI)
a. RDS ● Use AMI to launch servers as EC2 instances
GPU for use cases such as advanced machine learning and full-motion
video analysis in disconnected environments.
DataSync
DataSync allows for online data transfer from on-premises to AWS storage Snowmobile
services like S3 or EFS ● Multi-petabyte or exabyte scale
● Migrates data from on-premises to AWS ● Data loaded to S3
● Copy data over Direct Connect or the internet ● Securely transported
● Copy data between AWS storage services
● Replicate data cross-Region or cross-account Machine Learning
CodeStar
● CodeStar helps developers collaboratively work on development
projects
○ Developers connect their development environment
○ Integrates with CodeCommit, CodeBuild, and CodeDeploy
○ Contains issue tracking dashboard
CloudFormation
● CloudFormation allows you to provision AWS resources using Elastic Beanstalk in the Real World
Infrastructure as Code (IaC) ● Quickly deploy a scalable Java-based application to AWS
● Template and Stack ○ After you upload your Java code, Elastic Beanstalk deploys it and
○ Provides a repeatable process for provisioning resources handles capacity provisioning, load balancing, and Auto Scaling
○ Works with most AWS services ○ Elastic Beanstalk monitors the health of your application
○ Create templates for the resources you want to provision
OpsWorks
CloudFormation in the Real World ● OpsWorks allows you to use Chef or Puppet to automate the
● Automate the infrastructure-provisioning process for EC2 servers configuration of your servers and deploy code.
○ You can use CloudFormation to automate the creation of EC2 instances ○ Deploy code and manage applications
in your AWS account ○ Manage on-premises servers or EC2 instances in AWS Cloud
○ Works with Chef and Puppet automation platforms
Elastic Beanstalk
● Elastic Beanstalk allows you to deploy your web applications and web
services to AWS
○ Orchestration service that provisions resources
○ Automatically handles the deployment
○ Monitors application health via a health dashboard
Simple Queue Service (SQS)
● SQS is a message queuing service that allows you to build loosely Auditing, Monitoring, and Logging
coupled systems
○ Allows component-to-component communication using messages CloudWatch
○ Multiple components (or producers) can add messages to the queue ● CloudWatch is a collection of services that help you monitor and
○ Messages are processed in asynchronous manner observe your cloud resources
○ Collects metrics, logs, and events
Simple Queue Service (SQS) in the Real World ○ Detect anomalies in your environment
● Build a money transfer app that performs well under heavy load ○ Set alarms
○ SQS lets you build an app that is loosely coupled, allowing components ○ Visualize logs
to send, store, and receive massages. The use of a messaging queue ● CloudWatch Alarms
helps to improve performance and scalability ○ Set high resolution alarms
● CloudWatch Logs
Simple Notification Service (SNS) ○ Monitor application logs
● SNS allows you to send emails and text messages from your ● CloudWatch Metrics
applications ○ Visualize time-series data
○ Send email and test ● CloudWatch Events
○ Publish messages to a topic ○ Trigger an event based on a condition
○ Subscribers receive messages
Simple Notification Service (SNS) in the Real World CloudWatch in the Real World
● Send an email when CPU utilization of an EC2 instance goes above ● Provide real-time monitoring on EC2 instances
80% ○ CloudWatch Alarms can notify you if an EC2 instance goes into the
○ SNS works with CloudWatch when an alarm’s metric threshold is stopped state or usage goes above a certain utilization
Amazon CloudWatch monitors your Amazon Web Services (AWS) resources and the
breached to send an email
applications you run on AWS in real time. You can use CloudWatch to collect and
track metrics, which are variables you can measure for your resources and
Simple Email Service (SES) applications.
● SES is an email service that allows you to send richly formatted
HTML emails from your applications CloudTrail
○ Ideal choice for marketing campaigns or professional emails ● CloudTrail tracks user activity and API calls within your account.
○ Unlike SNS, SES sends HTML emails ○ Log and retain account activity
○ Track activity through the console, SDKs, and CLI
Simple Email Service (SES) in the Real World ○ Identify which user made changes
● Send marketing email and track open or click-through rates ○ Detect unusual activity in your account
○ SES allows you to send richly formatted HTML emails in bulk and gain
valuable insights about the effectiveness of your campaign CloudTrail in the Real World
● Track the time a particular event occurred in your account
○ You can troubleshoot events over the past 90 days using the CloudTrail ● Building Security
event history log to find the specific time an event occurred on a ○ AWS controls access to its data centers where your data resides
per-Region basis. You can create a custom trail to extend past 90 days ● Networking Components
● Things you can track with CloudTrail ○ AWS maintains networking components:
○ Username ■ Generators
○ Event time and nam ■ Uninterruptible power supply (UPS) systems
○ Access key ■ Computer room air conditioning (CRAC) units
○ Region ■ Fire Suppressions Systems, and more
○ IP Address ● Software
○ Error Code ○ AWS is responsible for any managed service:
AWS CloudTrail is a service that enables governance, compliance, operational ■ RDS, S3, ECS, or Lambda
auditing, and risk auditing of your AWS account. With CloudTrail, you can log, ■ Patching of host operating systems
continuously monitor, and retain account activity related to actions across your ■ Data access endpoints
AWS infrastructure. CloudTrail provides event history of your AWS account
activity, including actions taken through the AWS Management Console, AWS Your Responsibility -- responsible for how the services are implemented
SDKs, command line tools, and other AWS services. Creating a multi-region and managing your application
trail will allow you to keep your activity records in an S3 bucket and prevent
● Security IN the cloud
them from getting rewritten automatically. ● Application Data
○ Responsible for managing your application data, which includes
Security and Compliance encryption options
● Patching
Shared Responsibility Model ○ responsible for the guest operating system (OS), which includes updates
● The shared responsibility model outlines your responsibilities vs AWS' and security patches
when it comes to security and compliance ● Network Traffic
● In public cloud, there is a shared security responsibility between you ○ responsible for network traffic protection, which includes security group
and AWS firewall configuration
● Security Configuration
AWS' Responsibility -- responsible for protecting and securing ○ responsible for securing your account and API calls, rotating credentials,
infrastructure restricting internet access from your VPCs, and more
● Security OF the cloud ● Identity and Access Management (IAM)
● AWS Global Infrastructure ○ responsible for application security and identity access management
○ AWS is responsible for its global infrastructure elements: ● Install software
■ Regions ○ responsible for application code, install software, and more
■ Edge Locations ○ You should frequently scan for patch vulnerabilities in your code
■ Availability Zones
Who is responsible for what?
You (the customer) AWS Patch Configuration Awareness and
Management Management Training
Firewall configuration Data center security for the physical
building AWS Patching Configuring AWS employees
infrastructure infrastructure
Encryption of EBS volume Language versions of Lambda devices
Taking database backups in RDs Updating firmware on the underlying You Patching guest Configuring Your employees
EC2 hosts OS and databases and
application applications
Ensuring data is encrypted at rest Managing network infrastructure
EC2 Shared Responsibility Model The well-architected framework describes design principles and best practices
You AWS for running workloads in the cloud
Reliability
This pillar focuses on designing systems that work consistently and
recover quickly
Recover from failure
Scale horizontally for resilience
Reduce idle resources
Manage change through automation
Test recovery procedures
You can use Multi-AZ deployments for enhanced availability and
reliability of RDS databases.
Performance Efficiency
This pillar focuses on the effective use of computing resources to meet
system and business. requirements while removing bottlenecks
Use serverless architectures first
Use multi-region deployments
Delegate tasks to a cloud vendor
Experiment with virtual resources
You can use AWS Lambda to run code with zero administration.
Cost Optimization
This pillar focuses on delivering optimum and resilient solutions at the
least cost to the user
Utilize consumption-based pricing
Implement cloud Financial Management
Measure overall efficiency
Pay only for resources your application requires
You can use S3 Intelligent-Tiering to automatically move your data between
access tiers based on your usage patterns.