BECE 355L AWS Cloud Module 2

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 73

Course Material

for

BECE355L-AWS for Cloud Computing


Course Contents Module 6: AWS Operational
Experiences
Module 7: AWS networking and content
delivery

Module 5:
AWS
Architectural
Best Module 4: AWS Security and compliance
practices

Module 3: AWS
Database
services

Module 2: AWS core services

Module 1: AWS cloud concepts


Topics in Module-2-AWS Core Services
• Amazon EC2 (Elastic
Compute Cloud)
• Amazon S3 (Simple
Storage Service)
• Amazon RDS
(Relational Database
Service)
• Amazon VPC (Virtual
Private Cloud)
• Amazon SQS (Simple
Queue Service)
• Amazon SNS (Simple
Notification Service) Amazon
VPC
Module-2; Topic-1: Amazon EC2 (Elastic Compute Cloud)
Amazon EC2 (Elastic Compute Cloud)
• Amazon EC2 (Elastic Compute
Cloud):
• Amazon EC2 is a powerful and
flexible cloud computing
service that enables users to
rent virtual servers and run
applications in the cloud.
• Amazon EC2, which is a virtual •
Amazon EC2 is a web service that provides resizable
machine in the cloud reduces
the time required to obtain and compute capacity up and down as per the computing
boot new user instances to requirement changes by building virtual machines in the
minutes. Cloud.
• The operating system in the • Its scalability, variety of instance types, integration with other
virtual machine can be any AWS services, and pay-as-you-go pricing model make it a
popular OS such as Windows, popular choice for a wide range of use cases from small
Linux, macOS, and so on. startups to large enterprises.
• Amazon EC2 revolutionizes computing by enabling users to
pay only for resources used, enabling developers to create
resilient applications and offering versatile instances.
How Amazon EC2 (Elastic Compute Module-2; Topic-1: Amazon EC2 (Elastic Compute Cloud)
Cloud) - works: • In the Amazon EC2 console navigation
• To begin using Amazon EC2, users sign up for a root account on AWS. pane, choose Instances.
They can then use AWS Management Console to manage Amazon EC2. • Select the EC2 instance -- where the
• Next, they identify the instance type that's most suitable for their connection is required -- and choose
workload. Connect.
• Select EC2 Instance Connect.
• create a virtual machine (VM) by selecting Launch Instance in the Amazon
EC2 dashboard. • Verify the username, and choose Connect.
• If a new terminal window opens, it means
• Once the instance is launched, it's easy to connect to it. The easiest way to the user is connected to that instance. It's
connect to the instance, if it has a public IPv4 address, is with EC2
also possible to connect to an Amazon
Instance Connect, a browser-based client, via this simple four-step process:
EC2 instance via the following:
• Use a Secure Socket Shell key and then
connect to the instance from a preferred
SSH client while using the EC2 Instance
Connect application programming
interface.
• Configure AWS Command Line Interface,
and use the instance ID and an SSH client
to connect to the instance via Amazon
EC2 Instance Connect.
Module-2; Topic-1: Amazon EC2 (Elastic Compute Cloud)
How Amazon EC2 (Elastic Compute Cloud) works
Module-2; Topic-1: Amazon EC2 (Elastic Compute Cloud)

How Amazon EC2 (Elastic Compute Cloud) works

• EC2 uses the AWS Management Console, the AWS Command Line Interface (CLI), or AWS Software Developer
Kits (SDKs) for managing the scaling according to changing needs and makes it simple to deploy virtual servers
and maintain storage.
• During the setup, AMI(Amazon Machine Image) has to be created, which includes an operating system, apps, and
configurations. After launching an instance, in the console, the user can either select an AMI template or create one.
That AMI is loaded to the Amazon S3(Simple Storage Service), and it is registered with AWS EC2, creating an
AMI identifier, at which point users can launch instances as per the requirement.
Amazon EC2 (Elastic Compute Module-2; Topic-1: Amazon EC2 (Elastic Compute Cloud)
Cloud)-Key Features
• Elasticity and Scalability: EC2 allows users to scale computing capacity up or down easily based on
demand. This elasticity means you can quickly scale resources to handle traffic spikes or varying
workloads.
• Variety of Instance Types: EC2 offers a wide selection of instance types optimized for different use cases,
such as compute-optimized, memory-optimized, storage-optimized, etc. This allows you to choose
instances that best fit your application's requirements.
• Configurability: Users have full control over the configuration of their instances. You can choose the
CPU, memory, storage, and networking capacity that meets your needs.
• Pay-As-You-Go Pricing: EC2 follows a pay-as-you-go model where you pay only for the compute
capacity you actually use. This makes it cost-effective since you can stop, start, and terminate instances as
needed.
• Integration with Other AWS Services: EC2 integrates seamlessly with other AWS services like Amazon
S3 (storage), RDS (Relational Database Service), VPC (Virtual Private Cloud), and more. This allows you
to build complex and scalable applications.
• Security: EC2 provides various security features, including security groups and network access control
lists (ACLs) to control inbound and outbound traffic to instances. AWS Identity and Access Management
(IAM) is used to manage user access.
• Monitoring and Management: AWS provides monitoring tools like Amazon CloudWatch, which allows
you to monitor the performance of your instances and set alarms for certain thresholds.
Module-2; Topic-1: Amazon EC2 (Elastic Compute Cloud)
Amazon EC2 (Elastic Compute Cloud)-Key Features
• Instances- Virtual computing environments.
• Each instance type provides different amounts of
CPU, memory, storage, and networking capacity.
• Various configurations of CPU, memory, storage,
and networking capacity is provided in instance
type.
• Amazon Machine Images (preconfigured
templates for instances)- That defines the need for
our server (including the operating system and
additional software).
• An AMI is a template that contains the software
configuration (operating system, application
server, applications, etc.) required to launch an
instance. • EC2 is used to launch virtual servers based on
• Key Pairs- Key pair is used to secure login your requirement, configure security and
information for our instances. networking, and manage storage.
• AWS stores the public key, and the private key is • EC2 enables us to scale up or down to handle
downloaded by the user changes in requirements or spikes in popularity,
reducing the need to forecast traffic.
Module-2; Topic-1: Amazon EC2 (Elastic Compute Cloud)
Amazon EC2 (Elastic Compute Cloud)-Key Features
• Security Groups: These act as virtual firewalls for your
instances to control inbound and outbound traffic.
• You can specify rules that allow traffic to your
instances based on protocols, ports, and IP
addresses.
• EBS (Elastic Block Store)-Storage volume: EBS
provides persistent block storage volumes for use with
EC2 instances.
• It allows you to create volumes that can be attached
to instances and detached as needed.
• This volume stores the data temporarily, that's
deleted when you stop, hibernate, or terminate any
instance.
• Placement Groups: These allow you to influence the
placement of instances within the AWS infrastructure to
meet the needs of your workload (e.g., ensuring low-
latency networking between instances).
Module-2; Topic-1: Amazon EC2 (Elastic Compute Cloud)
Amazon EC2 (Elastic Compute Cloud)-Usage
• Launching Instances: To use EC2, you start by
launching instances from an AMI. You can choose the
instance type, specify the number of instances, and
configure other details such as networking and storage.
• Managing Instances: Once launched, you can manage
your instances through the AWS Management Console,
AWS CLI, or SDKs. This includes starting, stopping,
terminating, and monitoring instances.
• Scaling: EC2 allows horizontal scaling by launching
multiple instances to distribute the workload. Auto
Scaling can be configured to automatically adjust the
number of instances based on criteria you define (e.g.,
CPU utilization, network traffic).
• Data Storage: EC2 instances can use various types of • Networking: EC2 instances can be deployed within
storage including EBS volumes for persistent storage a Virtual Private Cloud (VPC), allowing you to
and instance store volumes for temporary storage. define a virtual network environment including
Amazon S3 is often used for durable and scalable object subnets, route tables, and IP ranges. This provides
storage. control over network security and connectivity.
Module-2; Topic-1: Amazon EC2 (Elastic Compute Cloud)
Amazon EC2 (Elastic Compute Cloud)-Benefit from usage
• AWS Regions and Availability Zones (AZs) to
improve availability and reduce latency.
• Access to Amazon Time Sync Service, a highly
accurate, reliable and available time source.
• Amazon EC2 Fleet to optimize scale,
performance and cost.
• Elastic Fabric Adapter to run applications
requiring high levels of interinstance
communications at scale on AWS.
• AWS Private Link to access Amazon services
in a highly performing, highly available
manner.
• Regular maintenance performed by AWS with
minimal disruptions across instances.
Module-2; Topic-1: Amazon EC2 (Elastic Compute Cloud)
Amazon EC2 (Elastic Compute Cloud)
• In general, the instances provided are software-based,
each unique instance is scalable and users can create a
virtual data centre over the cloud whenever they want,
with the help of on-premise computing infrastructure.
• This kind of liberty is possible because of the SOAP
(Simple Object Access Protocol) API support.
• The instance, commonly known as Virtual Machine is
created using Amazon Virtual Image and is hosted on
Xen Hypervisor, a software for server virtualization.
• Instances Type
• General purpose: These instances can be used for
• Compute-optimized: These instances
many different workloads, especially workloads
that depend upon a balance of compute, memory are meant for compute-bound or
and networking resources. compute-intensive applications, such as
• This instance type is used a variety of workloads, batch processing, media transcoding
such as application servers, gaming servers, and High performance Computing
backend servers for enterprise applications, and (HPC). Optimized instances for
small and medium databases. workloads such as web, application, and
gaming servers.
Module-2; Topic-1: Amazon EC2 (Elastic Compute Cloud)
Amazon EC2 (Elastic Compute Cloud)
• Memory-optimized: This set of instances delivers fast
performance for workloads that process large memory
data sets.
• Accelerated computing: These instances use hardware
accelerators to perform certain functions more efficiently
compared to CPU software. Examples of these functions
include floating-point number calculations, graphics
processing, and data pattern matching.
• Storage-optimized: These instances deliver a high
amount of low-latency, random I/O operations per
second (IOPS) for workloads that require high sequential
read/write access to large local data sets.
• High performance Computing (HPC)-optimized:
These instances offer the best price performance for
running HPC workloads at scale on AWS, such as
complex simulations and deep learning workloads.
Module-2; Topic-1: Amazon EC2 (Elastic Compute Cloud)
EC2- Pricing Options
Module-2; Topic-1: Amazon EC2 (Elastic Compute Cloud)
EC2- Pricing Options
On Demand
• It allows you to pay a fixed rate by the hour or even by the second with no
commitment.
• Linux instance is by the second and windows instance is by the hour.
• On Demand is perfect for the users who want low cost and flexibility of
Amazon EC2 without any up-front investment or long-term commitment.
• It is suitable for the applications with short term, spiky or unpredictable
workloads that cannot be interrupted.
• It is useful for the applications that have been developed or tested on Amazon
EC2 for the first time.
• On Demand instance is recommended when you are not sure which instance
type is required for your performance needs.
Module-2; Topic-1: Amazon EC2 (Elastic Compute Cloud)
EC2- Pricing Options
Reserved
• It is a way of making a reservation with Amazon or we can say that we
make a contract with Amazon. The contract can be for 1 or 3 years in
length.
• In a Reserved instance, you are making a contract means you are paying
some upfront, so it gives you a significant discount on the hourly charge for
an instance.
• It is useful for applications with steady state or predictable usage.
• It is used for those applications that require reserved capacity.
• Users can make up-front payments to reduce their total computing costs.
For example, if you pay all your upfronts and you do 3 years contract, then
only you can get a maximum discount, and if you do not pay all upfronts
and do one year contract then you will not be able to get as much discount
as you can get If you do 3 year contract and pay all the upfronts.
Module-2; Topic-1: Amazon EC2 (Elastic Compute Cloud)
EC2- Pricing Options
• Types of Reserved Instances:
• Standard Reserved Instances
• Convertible Reserved Instances
• Scheduled Reserved Instances
• Standard Reserved Instances: It provides a discount of up to 75% off on
demand. For example, you are paying all up-fronts for 3 year contract. It is useful
when your Application is at the steady-state.
• Convertible Reserved Instances: It provides a discount of up to 54% off on
demand.
• It provides the feature that has the capability to change the attributes of RI as
long as the exchange results in the creation of Reserved Instances of equal or
greater value.
• Like Standard Reserved Instances, it is also useful for the steady state
applications.
• Scheduled Reserved Instances: Scheduled Reserved Instances are available to
launch within the specified time window you reserve.
• It allows you to match your capacity reservation to a predictable recurring
schedule that only requires a fraction of a day, a week, or a month.
Module-2; Topic-1: Amazon EC2 (Elastic Compute Cloud)
EC2- Pricing Options
Spot Instances
• It allows you to bid for a price whatever price that you want for instance
capacity, and providing better savings if your applications have flexible start
and end times.
• Spot Instances are useful for those applications that have flexible start and end
times.
• It is useful for those applications that are feasible at very low compute prices.
• It is useful for those users who have an urgent need for large amounts of
additional computing capacity.
• EC2 Spot Instances provide less discounts as compared to On Demand prices.
• Spot Instances are used to optimize your costs on the AWS cloud and scale
your application's throughput up to 10X.
• EC2 Spot Instances will continue to exist until you terminate these instances.
Module-2; Topic-1: Amazon EC2 (Elastic Compute Cloud)
EC2- Pricing Options
Dedicated Hosts
• A dedicated host is a physical server with EC2 instance capacity
which is fully dedicated to your use.
• The physical EC2 server is the dedicated host that can help you to
reduce costs by allowing you to use your existing server-bound
software licenses.
• For example, Vmware, Oracle, SQL Server depending on the licenses
that you can bring over to AWS and then they can use the Dedicated
host.
• Dedicated hosts are used to address compliance requirements and
reduces host by allowing to use your existing server-bound server
licenses.
• It can be purchased as a Reservation for up to 70% off On-Demand
price.
Module-2; Topic-1: Amazon EC2 (Elastic Compute Cloud)
Amazon EC2 benefits
• Amazon EC2 offers multiple instance types and offers a wide range of computing, memory and
networking resources, making it a suitable solution for many kinds of enterprise workloads.
• The instances are secured using numerous controls to support all applications. One such
control is a security group -- a virtual firewall that controls incoming and outgoing traffic.
• In addition, both private and public keys are used to authorize users and prevent unauthorized
access.
• Amazon EC2 supports dynamic cloud computing with elastic IP addresses. These addresses are
static IPv4 addresses, with each address associated with the user's account rather than a particular
instance. Also, users can control the address until they explicitly release it or choose not to do so.
• Users can create Virtual Private Clouds to launch Amazon EC2 resources in a virtual
network.
• This network is user-defined and logically isolated from the rest of the AWS cloud. It uses
AWS' scalable infrastructure and can be connected to the user's own network.
• Amazon EC2 offers a free tier.
• With this tier, users can familiarize themselves with some of its features and pay only when
they are ready for the full offering. The free version includes 750 hours of Linux and
Windows t2.micro instances per month for a year.
Module-2; Topic-1: Amazon EC2 (Elastic Compute Cloud)
Challenges with Amazon EC2
• Resource utilization. Developers must manage the number
of instances to avoid costly large, long-running instances.
• Security. Developers must ensure that public-facing
instances are running securely.
• Deploying at scale. Running a multitude of instances can
result in cluttered environments that are difficult to manage.
• Management of Amazon Machine Image (AMI)
lifecycle. Developers often begin by using default AMIs.
• As computing needs change,
custom configurations will likely be required.
• Ongoing maintenance. Amazon EC2 instances are VMs
that run in Amazon's cloud. However, they ultimately run
on physical hardware, which can fail.
• AWS alerts developers when an instance must be
moved due to hardware maintenance. This requires
ongoing monitoring.
Module-2; Topic-2: Amazon S3 (Simple Storage Service)
Amazon S3 (Simple Storage Service)
• Amazon Simple Storage
Service (Amazon S3) is an
object storage service that
offers industry-leading
scalability, data availability,
security, and performance.
• It offers developers and IT
teams secure, durable, and
highly scalable object storage.
• Amazon S3 is used for • It helps people with all kinds of use cases from fields such as
various purposes in the Cloud Mobile/Web applications, Big data, Machine Learning, etc.
because of its robust features • Amazon S3 is a Simple Storage Service in AWS that stores files of
with scaling and Securing of different types like Photos, Audio, and Videos as Objects providing more
data. scalability and security to.
• It allows the users to store and retrieve any amount of data at any point
in time from anywhere on the web. It facilitates features such as
extremely high availability, security, and simple connection to other
AWS Services.
Module-2; Topic-2: Amazon S3 (Simple Storage Service)
Amazon S3 (Simple Storage Service)-An example
Best Security Practices Host a Static Website

Why S3 is preferred?
•S3 offers 99.99% data durability. That means, if you stored 10,000,000 objects in Amazon S3, you
would only lose a single object every 10,000 years. That is durable!
•S3 will automatically create and store copies of every uploaded object across many systems.
• This protects your data against errors, failures, and threats while guaranteeing you complete data
availability when you need it.
Module-2; Topic-2: Amazon S3 (Simple Storage Service)
Amazon S3 (Simple Storage Service)-Concepts
1. Regions- A geographic region is chosen in such a way that it
optimizes the latency, minimize costs or address regulatory
requirements.
Objects will not leave the region unless you explicitly transfer
the objects to another region.
2. Data Consistency Model
Amazon S3 replicates the data to multiple servers to achieve
high availability.
Two types of Data consistency model:
• Read-after-write consistency for PUTS of new
objects.
• For a PUT request, S3 stores the data across
multiple servers to achieve high availability. A
process stores an object to S3 and will be 3. Key
immediately available to read. •A key is an unique identifier for an object. Every
• Eventual consistency for overwrite PUTS and object in a bucket is associated with one key.
DELETES •An object can be uniquely identified by using a
• For PUTS and DELETES to objects, the changes combination of bucket name, the key, and optionally
are reflected eventually, and not immediately. version ID.
Module-2; Topic-2: Amazon S3 (Simple Storage Service)
Amazon S3 (Simple Storage Service)-Concepts
4.Buckets
•A bucket is a container used for storing objects. Every
object is incorporated in a bucket.
•A bucket has no limit to the number of objects. No
bucket can exist inside of other buckets.
•The AWS user that creates a bucket owns it, and no
other AWS user can own it. Therefore, we can say that
the ownership of a bucket is not transferrable. Only the
owner can delete a bucket.
5. Objects
•Objects are the entities that are stored in an S3 bucket.
An object consists of object data and metadata where
metadata is a set of name-value pairs that describes the
data.
•An object consists of some default metadata such as
date last modified, and standard HTTP metadata, such
as Content-type. Custom metadata can also be specified
at the time of storing an object.
•It is uniquely identified within a bucket by key and
version ID.
Module-2; Topic-2: Amazon S3 (Simple Storage Service)
Amazon S3 (Simple Storage Service)-Core Features
• Amazon Simple Storage Service
(Amazon S3) is a scalable, high-speed,
web-based cloud storage service -online
backup and archiving of data and
applications on Amazon Web Services
(AWS).
• It has a simple web services interface
that you can use to store and retrieve
any amount of data, at any time, from
anywhere on the web.
• Object Storage: Amazon S3 is designed
to store and retrieve any amount of data • The files which are stored in S3 can be from 0 Bytes to 5
from anywhere on the web. It stores data TB.
as objects within buckets (similar to • Files are stored in Bucket. A bucket is like a folder
folders). available in S3 that stores the files.
• Amazon S3 is Object-based storage, i.e., • S3 is a universal namespace, which means the names
you can store the images, word files, pdf must be unique globally. Bucket contains a DNS
files, etc. address. Therefore, the bucket must contain a unique
name to generate an unique DNS address.
Module-2; Topic-2: Amazon S3 (Simple Storage Service)
Amazon S3 (Simple Storage Service)-Core Features
1. Durability and Availability: S3 boasts high durability, with data stored redundantly across multiple
facilities within a region.
2. Scalability: S3 scales elastically to handle growing amounts of data. It can support virtually unlimited
data storage.
3. Data Lifecycle Management: S3 allows you to define lifecycle policies to automatically migrate objects
to lower-cost storage classes or delete them as they age.
4. Access management and Security: It offers several security features such as bucket ** policies, Access
Control Lists (ACLs), and integration with AWS Identity and Access Management (IAM) for fine-
grained access control.
5. Encryption: Data uploaded to S3 can be encrypted at rest using server-side encryption (SSE) with
Amazon S3-managed keys, AWS Key Management Service (KMS) keys, or customer-provided keys.
6. Access Logs: S3 can log all requests made to the bucket, providing visibility into access patterns and
allowing for auditing and compliance.
7. Versioning: Versioning can be enabled on S3 buckets to keep multiple variants of an object. This helps in
recovering from unintended user actions and application failures.
8. Cross-Region Replication (CRR): Allows automatic replication of objects across different AWS regions
for compliance, disaster recovery, or low-latency access.
**A bucket is a container for objects stored in Amazon S3. You can store any number of objects in a bucket and
can have up to 100 buckets in your account
Module-2; Topic-2: Amazon S3 (Simple Storage Service)
Amazon S3 (Simple Storage Service)-Storage Classes
Amazon S3 offers several storage classes to optimize costs and performance based on access
frequency and durability requirements.
Module-2; Topic-2: Amazon S3 (Simple Storage Service)
Amazon S3 (Simple Storage Service)-Use Cases
• Data Lakes: It serves as a
foundation for building data lakes by
ingesting, storing, and analyzing
large amounts of data. A data lake is
a centralized repository that allows
you to store all your structured and
unstructured data at any scale. You
can store your data as-is, without
having to structure it first, and run
different types of analytics—from
dashboards and visualizations to big
data processing, real-time analytics,
and machine learning to guide better
decisions
• Eg: Centralized Data Repository, Big
Data Analytics, ML & AI, Data
Warehousing, Real Time Analytics,
Data Archiving etc…
Module-2; Topic-2: Amazon S3 (Simple Storage Service)
Amazon S3 (Simple Storage Service)-Use Cases
• Backup and Restore: S3 is
widely used for backing up
application data and enabling
disaster recovery.
• Static Website Hosting: S3 can
host static websites and deliver
content with low latency and
high transfer speeds using AWS
CloudFront.
• Big Data Analytics: S3
integrates seamlessly with AWS
analytics services like Amazon
Athena, Amazon Redshift, and
Amazon EMR for big data
processing.
Module-2; Topic-2: Amazon S3 (Simple Storage Service)
Amazon S3 (Simple Storage Service)-Advantages
Module-2; Topic-3: Amazon RDS (Relational Database Service)
Amazon RDS (Relational Database Service)
• Amazon RDS (Relational
Database Service) is a
managed relational **
database service provided
by Amazon Web Services
(AWS).
• Amazon RDS is a
managed SQL database
supports an array of
database engines to store
and organize data.
• It also helps in relational
database management **A relational database (RDB) is a way of structuring information in
tables, rows, and columns. An RDB has the ability to establish links—or
tasks like data migration,
relationships–between information by joining tables, which makes it
backup, recovery and easy to understand and gain insights about the relationship between
patching. various data points.
• It offers a scalable, cost-efficient, and easy-to-manage solution for deploying, operating, and scaling
relational databases in the cloud.
Module-2; Topic-3: Amazon RDS (Relational Database Service)
How Amazon RDS Works?
• Traditionally, database management used to be a scattered service, from the webserver to the
application server and then finally to the database.
• For the maintenance of such a vast system a team was required, to shrink this workforce,
AWS came across an amazing all-in-one service, RDS.
• The whole architecture of RDS includes every aspect of the traditional management system, all
in place. Amazon Elastic Block Store (Amazon EBS)-low-cost cold HDD storage in the cloud

• Every part of the


RDS architecture
has its own separate
set of features
completely different
from each other.

A Domain Name System (DNS) turns


EC2(Elastic Compute Cloud) :A virtual domain names into IP addresses, which
server machine in the cloud allow browsers to get to websites and
other internet resources.
Module-2; Topic-3: Amazon RDS (Relational Database Service)
Amazon RDS (Relational Database Service)-Components
• DB Instances: These are database
environments running in the cloud managed
by RDS.
• Each instance runs a single database
engine and can contain multiple user-
created databases.
• DB Engines: The database engine determines
the specific features, SQL dialect,
performance characteristics, and compatibility
with existing applications.
• RDS supports multiple engines as
mentioned earlier.
• Parameter Groups: Parameter groups are used
to configure engine settings and parameters
for database instances.
• Users can create custom parameter groups
to override default settings.
Module-2; Topic-3: Amazon RDS (Relational Database Service)
Amazon RDS (Relational Database Service)-Components
• Option Groups: Option groups are used to
enable and configure additional features or
add-ons for database instances, such as
enabling encryption, enabling Oracle
Enterprise Manager, etc.
• Snapshots: Snapshots are backups of DB
instances stored in Amazon S3.
• They can be used to restore databases or
create new DB instances.
• Read Replicas: Read replicas are copies of
the primary database instance.
• They can be used to offload read-only
workloads from the primary instance,
improving read scalability and
performance.
Module-2; Topic-3: Amazon RDS (Relational Database Service)
Amazon RDS (Relational Database Service)-Features
🔒 Security: Security is a top priority with Amazon RDS, offering:
•Encryption: Data encryption both at rest and in transit to safeguard sensitive information.
•Network Isolation: Utilize Amazon VPC to isolate your database within your own virtual network.
•IAM Integration: Manage access and permissions effortlessly with AWS Identity and Access Management
(IAM).
📊 Metrics and Monitoring: Monitor and optimize your database performance with:
•Amazon CloudWatch: Comprehensive monitoring that includes metrics such as CPU utilization, memory,
disk I/O, and query performance.
•Alarms and Automated Actions: Set up alarms for critical metrics and automate responses to performance
issues.
•Enhanced Monitoring: Gain deeper insights into your RDS instance’s health and performance with
additional metrics and fine-grained monitoring.
⚙ High Availability: Ensure your applications remain available and resilient with:
•Multi-AZ Deployments: Automatic replication of your database across multiple Availability Zones for high
availability and failover support.
•Automatic Failover: Seamless failover to a standby instance in the event of hardware failure or database
instance outage.
•Automated Backups: Daily automated backups and the ability to perform point-in-time recovery within
your retention period.
Module-2; Topic-3: Amazon RDS (Relational Database Service)
Amazon RDS (Relational Database Service)-Features
📈 Scaling: Adapt to changing workloads seamlessly with:
•Compute Scaling: Effortlessly scale the compute resources of your RDS instances up or down as needed.
•Storage Scaling: Increase your storage dynamically without downtime as your database grows.
•Read Replicas: Enhance read performance and scale out read-heavy applications by creating read
replicas.
🔄 Backups and Snapshots: Protect and manage your data effectively with:
•Automated Backups: Automated daily backups that allow for point-in-time recovery.
•Manual Snapshots: Create manual snapshots for longer-term retention and recovery purposes.
•Point-in-Time Recovery: Restore your database to any specific point in time within your backup
retention period.
🔀 Migrating: Simplify database migration with powerful tools:
•AWS Database Migration Service (DMS): Securely and efficiently migrate your databases to Amazon
RDS with minimal downtime.
•Schema Conversion Tool: Convert your existing database schema to a format compatible with RDS.
•Cross-Region Replication: Facilitate disaster recovery and high availability by replicating databases
across different AWS regions.
•Easy Deployment and Management: RDS makes it easy to launch and manage database instances
through the AWS Management Console, CLI (Command Line Interface), or SDKs (Software Development
Kits). It simplifies complex administrative tasks like database patching and upgrades.
Module-2; Topic-3: Amazon RDS (Relational Database Service)
Amazon RDS (Relational Database Service)-An illustration
Amazon RDS (Relational Database Service) provides solution to

Based on Amazon RDS (Relational Database Service) features, an illustration on the connectivity is shown as
Module-2; Topic-3: Amazon RDS (Relational Database Service)
Amazon RDS (Relational Database Service)-An example
RDS Security Compliance

RDS Custom architecture


Why RDS is preferred?
• Amazon RDS's combination of managed services, ease of use, scalability, reliability, security
features, and cost-effectiveness makes it a preferred choice for organizations looking to leverage
the benefits of cloud-based relational databases without the operational overhead associated with
traditional database management.
Module-2; Topic-3: Amazon RDS (Relational Database Service)
Amazon RDS (Relational Database Service)-Preference over other DS

Advantages of RDS Service:


• Simplicity: Easily deploy and manage databases with minimal administrative overhead.
• Scalability: Seamlessly scale database resources up or down as per application requirements.
• High Availability: Achieve high availability with Multi-AZ deployments and automatic failover.
• Security: Implement robust security controls with encryption and access management features.
• Cost-Effectiveness: Pay only for what you use with flexible pricing models based on instance types and
usage.
Module-2; Topic-3: Amazon RDS (Relational Database Service)
Amazon RDS (Relational Database Service)-Challenges
• Vendor Lock-In: Dependency on AWS's infrastructure and services can complicate migration away
from RDS.
• Limited Control: Users have less control over database configuration and performance tuning
compared to self-managed solutions.
• Performance Considerations: Certain demanding applications may require more customization than
RDS provides for optimal performance.
• Costs: Scaling operations and data transfers can incur additional costs that need careful monitoring.
• Network Dependencies: Applications accessing RDS instances require reliable network connectivity
to AWS, affecting latency and performance.
• Backup and Restore: While RDS offers automated backups, managing backup granularity and
compliance may require additional strategies.
• Database Engine Limitations: Each RDS-supported database engine has specific features and
behaviors that may impact migration and compatibility.
• Multi-Region Complexity: Deploying databases across multiple AWS regions for disaster recovery or
global availability adds complexity.
• AWS Service Availability: Reliability of RDS depends on AWS service uptime, with potential impacts
during maintenance or outages.
Module-2; Topic-3: Amazon RDS (Relational Database Service)
Amazon RDS (Relational Database Service)-Use case
1.Web Application: The Amazon RDS is mainly
used for the backend for web applications where it
can support maximum no.of in and output operation.
And also is easy to scale up and down.
2.Managed Database: Instead of you managing the
database AWS will provide Amazon RDS as a service
by just doing some configuration your database will
be available to perform the operations.
3.Isolation: You can integrate and configure multiple
applications with secure isolation by protecting the
data of each application’s customers while managing
the underlying infrastructure.
4.Highly Secured: You can use Amazon RDS for
domains like health care and banking because the
data used in this type of application is highly secure
which can be achieved with the help of AWS RDS.
Module-2; Topic-4: Amazon VPC (Virtual Private Cloud)
Amazon VPC (Virtual Private Cloud)
• Amazon Virtual Private Cloud (VPC) is a
foundational networking service provided
by Amazon Web Services (AWS) that
allows you to create a logically isolated
virtual network in the cloud - virtual
private cloud.
• Virtual Private Cloud (VPC) is a logically
isolated network from another virtual
network in the AWS cloud where you can
launch the AWS resources.
• It gives all the benefits of the traditional
network that you have for your own data
center.
• Resources and applications are accessed •
Amazon VPC enables you to launch AWS resources, such as
through IPv4 or IPv6 in your AWS VPC. Amazon EC2 instances, within a virtual network that you
• It gives the benefit of scalable
define. It closely resembles a traditional network that you
infrastructure in the AWS environment. might operate in your own data center, with the benefits of
• It gives you complete control over your
using AWS's scalable infrastructure.
virtual network.
Module-2; Topic-4: Amazon VPC (Virtual Private Cloud)
Amazon VPC (Virtual Private Cloud)
• Amazon Virtual Private Cloud
(VPC) is a foundational
networking service provided by
Amazon Web Services (AWS) that
allows you to create a logically
isolated virtual network in the
cloud - virtual private cloud.
• Amazon VPC enables you to
launch AWS resources, such as
Amazon EC2 instances, within a
virtual network that you define. It
closely resembles a traditional
network that you might operate in
your own data center, with the
benefits of using AWS's scalable
infrastructure.
Module-2; Topic-4: Amazon VPC (Virtual Private Cloud)
VPC vs Private Cloud
What can be done with Amazon Module-2; Topic-4: Amazon VPC (Virtual Private Cloud)
VPC (Virtual Private Cloud)
• Launch instances in a subnet of your choosing. We can choose our own
subnet addressing.
• We can assign custom IP address ranges in each subnet.
• We can configure route tables between subnets.
• We can create an internet gateway and attach it to our VPC.
• It provides much better security control over your AWS resources.
• We can assign security groups to individual instances.
• We also have subnet network access control lists (ACLS).
Amazon VPC (Virtual Private Cloud)-Fundamentals
• If the subnet has internet access then it is called Public Subnet.
• If the subnet doesn’t have internet access then it is called Private Subnet.
• A subnet must reside entirely within one Availability Zone.
• An entire subnet must be contained within a single Availability Zone.
• Access between instances is managed by VPC Security Groups for both inbound and outgoing traffic (EC2
Security Groups can only define inbound rules).
• We can specify Subnet IP Routing with the aid of the Route Table.
• If a server/instance which is in a private subnet wants to reach the internet then it must have NAT in a public
subnet.
Module-2; Topic-4: Amazon VPC (Virtual Private Cloud)
Amazon VPC (Virtual Private Cloud)-Architecture
• The outer line represents the region, and the region is
us-east-1.
• Inside the region has the VPC, and outside the VPC,
we have internet gateway and virtual private
gateway. Internet Gateway and Virtual Private
Gateway are the ways of connecting to the VPC.
• Both these connections go to the router in a VPC and
then router directs the traffic to the route table. Route
table will then direct the traffic to Network (Access
Control List) ACL.
• Network ACL is the firewall or much like security
groups. Network ACL are statelist which allows as
well as deny the roles. The IP address can be blocked
on your Network ACL.
• The security group that accesses another line against
the EC2 instance. It has two subnets, i.e., Public and
• To connect an instance, move over to the public subnet and
Private subnet. In public subnet, the internet is
then it SSH to the private subnet. This is known as jump
accessible by an EC2 instance, but in private subnet,
boxes. In this way, we can connect an instance in public
an EC2 instance cannot access the internet on their
subnet to an instance in private subnet.
own, where the instances can be connected.
Module-2; Topic-4: Amazon VPC (Virtual Private Cloud)
Amazon VPC (Virtual Private Cloud)-Key Concepts
• CIDR Block: When you create a VPC, you
specify a range of IPv4 addresses in the
form of a Classless Inter-Domain Routing
(CIDR) block (e.g., 10.0.0.0/16). This
determines the size of the VPC's private IP
address range.
• Classless Inter-Domain Routing
(CIDR) is a collection of IP standards
designed to optimize the process of
allocating IP addresses by forming
unique identifiers.
• Subnets: Within a VPC, you can create
multiple subnets, each associated with a
specific Availability Zone (AZ). Subnets are
segments of the VPC's IP address range
where you can place AWS resources. Public
subnets have a route to the internet via an
Internet Gateway, while private subnets do
not.
Module-2; Topic-4: Amazon VPC (Virtual Private Cloud)
Amazon VPC (Virtual Private Cloud)-Key Concepts
• Internet Gateway: An Internet Gateway (IGW) is a
horizontally scaled, redundant, and highly available
VPC component that allows communication between
instances in your VPC and the internet. It acts as a
gateway to provide access to and from the internet
for resources within the VPC.
• Route Tables: A route table contains a set of rules,
called routes, that are used to determine where
network traffic is directed. Each subnet in a VPC
must be associated with a route table, which controls
the routing for the subnet.
• Security Groups and Network Access Control
Lists (ACLs): Security Groups act as a virtual
firewall for your instances to control inbound and
outbound traffic. Network ACLs are an optional
additional layer of security that act as a firewall for
controlling traffic in and out of one or more subnets.
Module-2; Topic-4: Amazon VPC (Virtual Private Cloud)
Amazon VPC (Virtual Private Cloud)-Key Concepts
• Peering: VPC Peering allows you to connect one
VPC with another via a direct network route using
private IP addresses. It enables you to route traffic
between VPCs using private IPv4 addresses as if
they are in the same network.
• VPN Connections: You can establish encrypted
connections between your on-premises network
and your VPCs using Virtual Private Network
(VPN) connections. This extends your data center
to the cloud and allows you to access resources
securely.
• VPC Endpoints: VPC endpoints enable you to
privately connect your VPC to supported AWS
services and VPC endpoint services powered by
PrivateLink without requiring an internet gateway,
VPN connection, or AWS Direct Connect
connection.
Module-2; Topic-4: Amazon VPC (Virtual Private Cloud)
Amazon VPC (Virtual Private Cloud)-How it works?
• Amazon Virtual Private Cloud
(Amazon VPC) gives you full
control over your virtual
networking environment,
including resource placement,
connectivity, and security.
• Get started by setting up your
VPC in the AWS service
console.
• Next, add resources to it such as
Amazon Elastic Compute Cloud
(EC2) and Amazon Relational
Database Service (RDS)
instances. Finally, define how
your VPCs communicate with
each other across accounts,
Availability Zones, or AWS Example: A network traffic is being shared between two VPCs within each
Regions. Region.
Module-2; Topic-4: Amazon VPC (Virtual Private Cloud)
Amazon VPC (Virtual Private Cloud)-Core Features
• Isolation and Segmentation- Virtual Network: With Amazon VPC, you can
provision a logically isolated section of the AWS Cloud where you can launch
AWS resources such as EC2 instances, databases (RDS), and other services.
• IP Address Control: You have full control over the IP address ranges,
subnets, route tables, and network gateways within your VPC. This allows
you to create a private IP address space for your resources.
• Subnet-Subnet Creation: You can divide your VPC's IP address range into
one or more subnets, each representing a segment of the VPC where you can
place resources.
• Availability Zones: Subnets are associated with specific Availability
Zones (AZs) within a region, allowing you to deploy resources in multiple
AZs for fault tolerance and high availability.
• Internet Gateway- Internet Connectivity: An Internet Gateway (IGW)
enables communication between instances in your VPC and the internet. Public
subnets route outbound traffic to the IGW, allowing resources to communicate
with the internet.
• Route Tables-Routing Control: Each subnet in a VPC must be associated
with a route table that controls the routing for the subnet. The routes can be
defined to direct traffic within the VPC, to an IGW for internet access, or to
other network gateways.
Module-2; Topic-4: Amazon VPC (Virtual Private Cloud)
Amazon VPC (Virtual Private Cloud)-Core Features
• Security
• Security Groups: Act as virtual firewalls for your EC2 instances, controlling inbound and outbound traffic at the
instance level. Security Groups are stateful, meaning they automatically allow return traffic.
• Network ACLs: Provide an optional additional layer of security that acts as a firewall for controlling traffic at the
subnet level. They are stateless and allow you to set both allow and deny rules.
• VPC Peering Private Network Connectivity: VPC Peering allows you to connect one VPC with another VPC via
a direct network route using private IP addresses. This enables you to route traffic between VPCs as if they are part
of the same network.
• VPN Connections
• Hybrid Cloud Connectivity: AWS supports VPN connections to establish encrypted connections between your on-
premises network and your VPCs. This extends your data center into the cloud securely, leveraging AWS's global
infrastructure.
• Elastic IP Addresses-Static IP Addresses: It is a static IP address that never changes and is a reserved public IP
address that can be assigned to any Instance in a particular region. An elastic IP is reserved for your AWS account
and is yours until you release it.
• VPC Endpoints-Private Connectivity to AWS Services: VPC Endpoints enable you to privately connect your VPC
to supported AWS services and VPC endpoint services powered by AWS PrivateLink. This allows you to access
AWS services without requiring an internet gateway, NAT device, or VPN connection.
• Integration with AWS Services-Service Integration: Amazon VPC integrates with various AWS services, such as EC2,
RDS, Lambda, S3, and others. This integration allows these services to operate within your defined VPC environment,
ensuring secure and controlled access to resources.
Module-2; Topic-4: Amazon VPC (Virtual Private Cloud)
Amazon VPC (Virtual Private Cloud)-Benefits of Amazon VPC
• Isolation: VPC provides logical isolation of your AWS resources, allowing you to create distinct
networks with specific IP address ranges and subnets.
• EC2 Instance security group membership can be changed while it is running.
• Static IPv4 is assigned to Instances that persist across the start and stop.
• Create a layered network of resources.
• A single-tenant hardware option is available to run EC2 Instances.
• Multiple network interfaces can be attached to EC2 Instances.
• Control: You have full control over your VPC, including selection of IP address range, creation of
subnets, configuration of route tables, and network gateways.
• Access Control List (ACL) is an additional security layer to protect Instances.
• Multiple IPv4 can be assigned to your Instances.
• Control both inbound and outbound traffic of Instances.
• Security: VPC allows you to define security groups and network ACLs to control inbound and
outbound traffic to and from your instances.
• Scalability: VPC scales horizontally to accommodate your growing infrastructure needs, with support
for large-scale deployments across multiple Availability Zones.
• Integration: VPC integrates with other AWS services like Amazon EC2, RDS, Lambda, and more,
enabling seamless deployment and management of your cloud resources.
Module-2; Topic-4: Amazon VPC (Virtual Private Cloud)
Amazon VPC (Virtual Private Cloud)-Use cases
• Using VPC, you can host a public-facing
website, a single-tier basic web
application, or just a plain old website.
• The connectivity between our web
servers, application servers, and database
can be limited by VPC with the help
of VPC peering.
• By managing the inbound and outbound
connections, we can restrict the incoming
and outcoming security of our application.
• Hosting Web Applications
• Hosting a Web or E-commerce site
• Migrating workloads to the AWS cloud
• Extending a Data Center to the cloud
(Hybrid Cloud)
• Backup or Disaster Recovery
Module-2; Topic-4: Amazon VPC (Virtual Private Cloud)
Best Practices For Securing Your AWS VPC Implementation
Module-2; Topic-5: Amazon SQS (Simple Queue Service)
Amazon SQS (Simple Queue Service)
• Amazon Simple Queue Service
(SQS) is a fully managed
message queuing service
offered by Amazon Web
Services (AWS).
• It enables you to decouple and
scale microservices, distributed
systems, and serverless
applications by providing
reliable messaging between
components.
• Amazon SQS is a web service
that gives you access to a
message queue that can be
used to store messages while • Amazon SQS is a distributed queue system that enables web service
waiting for a computer to applications to quickly and reliably queue messages that one component in
process them. the application generates to be consumed by another component where a
queue is a temporary repository for messages that are awaiting processing.
Module-2; Topic-5: Amazon SQS (Simple Queue Service)
Amazon SQS (Simple Queue Service)
• With the help of SQS, you can send,
store and receive messages between
software components at any volume
without losing messages.
• Using Amazon sqs, you can separate the
components of an application so that
they can run independently, easing
message management between
components.
• Any component of a distributed
application can store the messages in the
queue.
• The queue acts as a buffer between the component
• Messages can contain up to 256 KB of
producing and saving data, and the component receives the
text in any format such as json, xml, etc.
data for processing.
• Any component of an application can
• This means that the queue resolves issues that arise if the
later retrieve the messages
producer is producing work faster than the consumer can
programmatically using the Amazon
process it, or if the producer or consumer is only
SQS API.
intermittently connected to the network.
Module-2; Topic-5: Amazon SQS (Simple Queue Service)
How Amazon SQS (Simple Queue Service) Works?
Amazon SQS is a web service that gives you access to a
message queue that can be used to store messages while waiting
for a computer to process them
Cloud watch helps you to
monitor AWS
environments like EC2,
EC2(Elastic Compute RDS instances, and CPU
Cloud) :A virtual utilization. It also triggers
server machine in the alarms depends on various
cloud metrics.
Module-2; Topic-5: Amazon SQS (Simple Queue Service)
Amazon SQS (Simple Queue Service)-Queue Types
There are two types of Queue:
•Standard Queues (default)
•FIFO Queues (First-In-First-Out)
•Standard Queue-SQS offers a standard queue as the default queue type.
•It allows you to have an unlimited number of transactions per second.
•It guarantees that a message is delivered at least once. However,
sometime, more than one copy of a message might be delivered out of
order. Standard Queue
•It provides best-effort ordering which ensures that messages are generally
delivered in the same order as they are sent but it does not provide a
guarantee.
•FIFO Queue-The FIFO Queue complements the standard Queue.
•It guarantees ordering, i.e., the order in which they are sent is also
received in the same order. FIFO Queue
•The most important features of a queue are FIFO Queue and exactly-
once processing, i.e., a message is delivered once and remains available
until consumer processes and deletes it.
•FIFO Queue does not allow duplicates to be introduced into the Queue.
•It also supports message groups that allow multiple ordered message
groups within a single Queue.
Module-2; Topic-5: Amazon SQS (Simple Queue Service)
Amazon SQS (Simple Queue Service)-SQS Visibility Timeout
• The visibility timeout is the amount of time that the message is invisible in the SQS Queue after a
reader picks up that message.
• If the provided job is processed before the visibility time out expires, the message will then be deleted
from the Queue. If the job is not processed within that time, the message will become visible again and
another reader will process it. This could result in the same message being delivered twice.
• The Default Visibility Timeout is 30 seconds.
• Visibility Timeout can be increased if your task takes more than 30 seconds.
• The maximum Visibility Timeout is 12 hours.
Amazon SQS (Simple Queue Module-2; Topic-5: Amazon SQS (Simple Queue Service)
Service)-Key Concepts
• Messages: Messages are the information that you send to and receive from SQS queues.
• They can contain up to 256 KB of text in any format, such as JSON, XML, or plain text.
• Long Polling: SQS supports long polling, which allows the consumer to wait for a message to arrive in the queue (up
to 20 seconds) rather than continuously polling the queue.
• Dead-Letter Queues: You can configure a dead-letter queue (DLQ) for your source queue to capture messages that
cannot be processed successfully after a certain number of retries.
• This helps in troubleshooting and handling failed messages.
• Access Control: SQS integrates with AWS Identity and Access Management (IAM) to provide fine-grained access
control over who can send messages to a queue, receive messages from a queue, or perform other actions.
• Message Lifecycle: Messages in SQS have a retention period (default is 4 days, maximum is 14 days). Once the
retention period expires, SQS automatically deletes the message.
• Fully Managed: AWS manages all aspects of infrastructure maintenance, including scaling, patching, and fault
tolerance.
• Scalability: SQS scales seamlessly with the number of messages in the queue, allowing you to handle any volume of
messages without provisioning additional infrastructure.
• Reliability: Messages in SQS are stored redundantly across multiple Availability Zones (AZs) within a region to ensure
high availability and durability.
• Decoupling: SQS helps decouple the components of an application, allowing them to operate independently and
asynchronously.
• Cost-Effective: You pay only for what you use (number of requests and data transfer), with no upfront costs or
minimum fees.
Module-2; Topic-5: Amazon SQS (Simple Queue Service)
Amazon SQS-A Use case
• Suppose the user wants to look for a package holiday and wants to look at the best possible flight. A User types a
query in a browser, it then hits the EC2 instance. An EC2 instance looks "What the user is looking for?", it then puts
the message in a queue to the SQS. An EC2 instance pulls queue. An EC2 instance continuously pulling the queue
and looking for the jobs to do.
• Once it gets the job, it then processes it. It interrogates the Airline service to get all the best possible flights. It sends
the result to the web server, and the web server sends back the result to the user. A User then selects the best flight
according to his or her budget.
If we didn't have SQS, then what happened?
A web server passes the information to an
application server and then application server
queried an Airline service. If an Application server
crashes, then a user loses its query. One of the
great thing about SQS is that data is queued in the
SQS even if the application server crashes, the
message in the queue is marked as an invisible in a
timeout interval window. When the timeout runs
out, message reappears in the queue; then a new
EC2 instance can use this message to perform its
job. Therefore, we can say that SQS removes the
application server dependency.
Amazon SNS (Simple Module-2; Topic-6: Amazon SNS (Simple Notification Service)
Notification Service)
• Amazon SNS (Simple Notification Service) enables
you to build distributed applications and
microservices by facilitating message delivery
(both push and fan-out) to a variety of endpoints or
clients.
• Amazon Simple Notification Service (Amazon
SNS) is a managed service that provides message
delivery from publishers to subscribers (also known
as producers and consumers).
• Publishers communicate asynchronously with
subscribers by sending messages to a topic,
which is a logical access point and
communication channel.
• Clients can subscribe to the SNS topic and
receive published messages using a supported
endpoint type, such as Amazon Data Firehose,
Amazon SQS, AWS Lambda, HTTP, email,
mobile push notifications, and mobile text
messages (SMS).
Module-2; Topic-6: Amazon SNS (Simple Notification Service)
Amazon SNS (Simple Notification Service)-Key concepts
•A central component in SNS.
•Logical access point for subscribers.
•Messages sent to a topic can be received by multiple
subscribers.
•Subscriptions:
•Endpoints or clients that receive messages from
topics.
•Types of subscriptions include HTTP/S, Email, SMS,
SQS (Simple Queue Service), Lambda, and more.
•Messages:
•Payload of information sent via SNS.
•Supports up to 256KB of text data.
•Messages can include optional attributes for fine-
grained control over message delivery.
•Publishers:
•Applications or services that send messages to SNS
topics. • AWS Lambda — Allows you to run functions in the
•Use AWS SDKs or API to publish messages. cloud. The tool is a big cost saver for you as you to pay
only when your functions execute.
Module-2; Topic-6: Amazon SNS (Simple Notification Service)
How does Amazon SNS (Simple Notification Service) work?
•The publisher first sends the required notifications to Publishers, also
the subscribers. known as
•SNS Topic – Used to filter out messages that need to be producers, create
distributed to different subscribers. Subscribers can and send messages
receive news alerts on a selected topic using a topic. to AWS SNS.
•The message is delivered to the subscriber via
subscriber queues or microservices. To receive a
message, subscribers must submit valuable information
such as a URL, email address, or phone number. Below
are some of the most common forms of SNS messages:
•Automatic user alerts triggered by predefined Subscribers receive messages published
thresholds and sent to specific users via SMS or email by the SNS using supported network
are known as application and system alerts. protocols such as Amazon SQS, AWS
•Push email or text messages are two ways to Lambda, or HTTP/HTTPS.
communicate with people or groups (for example, news • AWS Lambda — Allows you to run functions in the
article alerts sent to newspaper subscribers). cloud. The tool is a big cost saver for you as you to pay
•Mobile push notifications are messages sent directly to only when your functions execute.
mobile applications (for example, notification of any • SQS (Simple Queue Service) — Use this AWS service
application update available for installation). to decouple your applications. It is a pull-based service.
Module-2; Topic-6: Amazon SNS (Simple Notification Service)
Amazon SNS (Simple Notification Service)-Features and capabilities
•Flexible Message Delivery: Messages can be delivered via push notifications to mobile devices, HTTP
endpoints, or email, among others. This flexibility allows applications to reach users through their
preferred communication channels.
•Reliability: SNS ensures message delivery with retries, handling failures, and managing error queues for
undelivered messages. It also supports message deduplication to avoid sending the same message multiple
times.
•Scalability: SNS is designed to handle high-throughput and high-volume use cases, allowing you to scale
your messaging needs seamlessly.
•Filtering: Supports message filtering based on message attributes, enabling subscribers to receive only the
messages that are relevant to them. This feature reduces unnecessary processing and improves efficiency.
•Security and Access Control: Integrates with AWS Identity and Access Management (IAM) for fine-
grained access control to topics and subscriptions. Encryption ensures message confidentiality during
transit.
•Monitoring and Metrics: Provides detailed metrics and CloudWatch alarms for monitoring message
deliveries, throughput, and other important operational metrics.
•Mobile Push Notifications: Integrates with mobile push notification services like Apple APNS, Google
FCM, Baidu, and others, enabling you to send push notifications to mobile devices.
Module-2; Topic-6: Amazon SNS (Simple Notification Service)
Amazon SNS (Simple Notification Service)-Benefits
• Instant delivery: Works on a push-based
system. It is sent once a message is posted on a
topic and forwarded to many subscribers.
• It’s cheap because it’s built on a pay-as-you-go
basis, which means we only pay when we use
the resources and you don’t pay any upfront
fees.
• Multiple endpoints are supported, making it
versatile. Different endpoints can receive
messages via different transport protocols,
including email, SMS, Lambda, Amazon SQS,
HTTP, and more.
• Ease of use: The AWS web management
console offers the simplicity of a point-and-
click interface, making it a very straightforward
service.
Module-2; Topic-6: Amazon SNS (Simple Notification Service)
Amazon SNS (Simple Notification Service)-Use Cases
• Notification Services: SNS can be used to send push notifications, SMS, email, and other types of
messages to subscribers, such as for application alerts, software updates, or marketing campaigns.
• Event-Driven Architectures: SNS can be integrated with other AWS services like Lambda, S3, and
CloudWatch to trigger actions in response to events, enabling event-driven, serverless architectures.
• Decoupling Microservices: SNS allows microservices to communicate asynchronously by
publishing messages to topics, which can then be subscribed to by other services, promoting
scalability and reliability.
• IoT and Mobile Applications: SNS can be used to deliver notifications and alerts from IoT devices
or mobile apps to users, admin dashboards, or other downstream systems.
• Fanout Messaging: SNS enables the fanout of messages to multiple subscribers, making it useful for
content distribution, data stream processing, and event notification scenarios.
• Workflow Orchestration: SNS can be used to coordinate workflows across distributed components,
triggering the next step in a process based on the completion of the previous one.
• Geo-Redundant Notifications: By using SNS in combination with CloudFront and Route53,
organizations can deliver notifications in a geo-redundant manner, improving availability and
reliability.
• Replay of Historical Events: SNS message logs stored in S3 can be used to replay historical events,
which is useful for auditing, troubleshooting, and data analysis.
Module-2; Conclusion
Conclusion on AWS Core Services
• AWS Core services form the foundational pillars of AWS cloud infrastructure, providing businesses with
the tools necessary to build robust, scalable, and resilient applications and services.
• Each service is designed to integrate seamlessly with others, offering flexibility and efficiency in cloud
resource management.
• Amazon EC2 (Elastic Compute Cloud):
• It is used to build virtual machines in the Cloud.
• The operating system in the virtual machine can be any popular OS such as Windows, Linux, macOS,
and so on.
• Provides resizable compute capacity in the cloud, allowing businesses to quickly scale their computing
resources up or down as needed.
• EC2 instances are versatile and support a wide range of applications.
• Amazon S3 (Simple Storage Service):
• Simple Storage Service or Amazon S3 is a highly secure and redundant file storage service. It belongs
to the AWS storage services list.
• The data is saved in the 3 data centers of AWS with access from any data center.
• This is to maintain data flexibility without latency. When some failure happens to one of the data
centers, then the data can be accessed from the other data center.
Module-2; Conclusion
Conclusion on AWS Core Services
• Amazon RDS (Relational Database Service):
• Relational Database service RDS is a service that helps to develop dedicated databases, and
user-friendly software infrastructures. It also supports popular database engines such as SQL
Server, MySQL, PostgreSQL, and so on. UAWS Lambda.
• Simplifies the setup, operation, and scaling of relational databases in the cloud. RDS supports
popular database engines like MySQL, PostgreSQL, and SQL Server, offering automated
backups, scaling, and high availability.
• Amazon VPC (Virtual Private Cloud):
• Amazon VPC is the Amazon service that enables logical isolation between the public cloud and
the virtual network.
• It allows you to configure network gateways, create subnets, and select specific IP address
ranges.
• Enables businesses to launch AWS resources in a logically isolated virtual network.
• VPC provides control over network configuration, including IP address ranges, subnets, and
route tables, enhancing security and isolation.
Module-2; Conclusion
Conclusion on AWS Core Services
• Amazon SQS (Simple Queue Service):
• Amazon Simple Queue Service (Amazon SQS) provides a hosted queue that is secure, durable, and
obtainable.
• This service integrates and disconnects the distributed software systems and components. Amazon
SQS includes standard frameworks like dead-letter queues and cost allocation tags.
• It offers a standard web services API that can be accessed using any programming language supported
by the AWS SDK.
• Offers fully managed message queues for reliably storing messages as they travel between
applications or microservices. SQS decouples components of a distributed application, improving
fault tolerance and scalability.
• Amazon SNS (Simple Notification Service):
• Simple Notification Service SNS is an event-driven service to automate the sending of messages from
the Cloud.
• This service provides a low-cost infrastructure to carry out the mass delivery of messages to users of
any platform.
• Facilitates the sending of notifications to distributed systems and individuals via email, SMS, or other
endpoints. SNS supports both application-to-person (A2P) and application-to-application (A2A)
messaging scenarios.

You might also like