Assignment 2
Assignment 2
1] Compare GCP, AWS & Azure w.r.t. Features, Components & Services.
Subnetting in AWS
Subnetting in AWS involves dividing a VPC’s IP address range into smaller, more manageable sub-
networks. This helps in organizing resources and improving security and performance.
When you create a VPC, you assign it a CIDR block (e.g., 10.0.0.0/16).
Subnets are then created using smaller CIDR blocks within that range (e.g., 10.0.1.0/24, 10.0.2.0/24).
AWS recommends placing resources in different Availability Zones by creating subnets in multiple
AZs for high availability and fault tolerance.
Subnets can be assigned as public or private, depending on whether they route traffic through an
Internet Gateway.
Example: If you have a VPC with 10.0.0.0/16, you can create:
10.0.1.0/24 for a public subnet
10.0.2.0/24 for a private subnet
Features:
1. Virtual Servers (Instances): EC2 provides a variety of instance types optimized for different use
cases, such as general-purpose computing, memory-intensive applications, compute-intensive tasks,
and storage-intensive workloads.
2. Scalability: Users can easily scale the number of instances up or down based on demand, ensuring
that they only pay for the capacity they actually use.
3. Flexibility: EC2 supports a wide range of operating systems, including various versions of Linux
and Windows, and allows users to choose the instance type, storage, and networking configuration
that best suits their needs.
4. Elastic IP Addresses: Users can allocate static IP addresses that can be associated with their
instances, making it easier to manage network configurations.
5. Security: EC2 provides robust security features, including Virtual Private Cloud (VPC) for network
isolation, security groups for controlling inbound and outbound traffic, and key pairs for secure SSH
access to instances.
6. Load Balancing: Elastic Load Balancing (ELB) automatically distributes incoming application
traffic across multiple instances to ensure high availability and fault tolerance.
7. Auto Scaling: Auto Scaling automatically adjusts the number of instances in response to changing
demand, helping to maintain performance and reduce costs.
8. Storage Options: EC2 offers various storage options, including Amazon Elastic Block Store (EBS)
for persistent block storage and instance store for temporary storage.
9. Integration with AWS Services: EC2 integrates seamlessly with other AWS services, such as
Amazon S3, Amazon RDS, Amazon DynamoDB, and more, enabling users to build comprehensive
and scalable applications.
7] Explain IAM? (Identity Access Management) and What are Roles and Functions of IAM
AWS Identity and Access Management (IAM) is a web service that helps you securely control access to
AWS resources. With IAM, you can manage permissions that control which AWS resources users can
access. You use IAM to control who is authenticated (signed in) and authorized (has permissions) to use
resources. IAM provides the infrastructure necessary to control authentication and authorization for your
AWS accounts.
Roles of IAM :
1. Access Management: Controls who (users, applications, or services) can access AWS resources and
what actions they can perform.
2. Security Enforcement: Ensures secure access to AWS services by enforcing policies like least
privilege, MFA, and password policies.
3. Resource Protection: Safeguards AWS resources (e.g., EC2 instances, S3 buckets) by restricting
unauthorized access.
4. Compliance and Auditing: Helps meet regulatory requirements by providing detailed access logs
and audit trails through integration with AWS CloudTrail.
5. Federation and Identity Management: Enables integration with external identity providers (e.g.,
Microsoft Active Directory, Google, Facebook) for federated access.
6. Temporary Access Management: Provides temporary security credentials for roles, allowing short-
term access to resources.
7. Cross-Account Access: Manages access between multiple AWS accounts, enabling secure resource
sharing.
Functions of IAM :
1. User Management: Create and manage IAM users (individuals or applications) and assign unique
credentials (passwords or access keys).
2. Group Management: Organize users into groups and assign permissions to the group, simplifying
permission management.
3. Role Management: Define roles with specific permissions that can be assumed by users,
applications, or AWS services (e.g., EC2 instances, Lambda functions).
4. Policy Management: Create and manage JSON-based policies that define permissions (allow or
deny actions on specific resources).
5. Multi-Factor Authentication (MFA): Add an extra layer of security by requiring a second form of
authentication (e.g., a code from a mobile device).
6. Access Key Management: Generate and manage access keys for programmatic access to AWS
services (e.g., using AWS CLI, SDKs, or APIs).
7. Password Policies: Enforce strong password requirements (e.g., minimum length, complexity, and
rotation).
8. Federation: Enable users to log in to AWS using external identity providers (e.g., SAML 2.0, OIDC,
or corporate directories).
9. Permissions Boundaries: Set the maximum permissions a user or role can have, ensuring they
cannot exceed specified limits.
10. Auditing and Monitoring: Track and log access to AWS resources using AWS CloudTrail for
auditing and compliance purposes.
11. Temporary Security Credentials: Issue temporary credentials for roles, which expire after a set
period, enhancing security.
12. Cross-Account Access: Allow users or services from one AWS account to access resources in
another account securely.
13. Service-Linked Roles: Create roles that are linked to specific AWS services, allowing them to
perform actions on your behalf.
14. Identity Providers: Integrate with external identity providers (e.g., Google, Facebook, or corporate
systems) for federated access.
15. Resource-Based Policies: Attach policies directly to AWS resources (e.g., S3 buckets) to control
access.
8] What is amazon RDS. Explain dynamo DB. Compare RDS and DynamoDB
Amazon RDS is a fully managed database service by AWS that takes care of a lot of the heavy lifting when
it comes to managing databases. It works with popular engines like MySQL, PostgreSQL, MariaDB, Oracle,
and SQL Server. The great thing about RDS is that it automates time-consuming tasks like backups,
software updates, scaling, and replication. This means you don’t have to worry about the finer details of
maintaining a database and can instead focus on building your app, knowing that your data is secure,
available, and ready to scale as needed.
DynamoDB allows users to create databases capable of storing and retrieving any amount of data and comes
in handy while serving any amount of traffic. It dynamically manages each customer’s requests and provides
high performance by automatically distributing data and traffic over servers. It is a fully managed NoSQL
database service that is fast, predictable in terms of performance, and seamlessly scalable. It relieves the user
from the administrative burdens of operating and scaling a distributed database as the user doesn’t have to
worry about hardware provisioning, patching Softwares, or cluster scaling. It also eliminates the operational
burden and complexity involved in protecting sensitive data by providing encryption at REST.
Ideal for CRM systems, financial Best for real-time apps like gaming
applications, and complex queries leaderboards, IoT, session management, and
Use Cases requiring relationships between data. high-traffic workloads.
Costly at scale, less flexibility for Limited support for complex queries and
unstructured data, limited automatic transactions, eventual consistency in some
Weaknesses scaling. cases.
The following are the some of the main features explaining on how Amazon Route 53 functions well:
Domain Registration And Management: Amazon Route 53 allows users to register and maintain
domain names through its user-friendly interface. Users can transfer their existing domain to the Route
53 service or can go for register a new one. Users may freely configure the DNS settings, including
mail server setups (MX records), domain name aliases , and more, once they have registered.
Global DNS Resolution: Route 53 uses a worldwidet network cast made up of many DNS servers that
have been placed strategically all over the world. The IP address which matches to a domain name
entered by a user in their web browser is sent back by Route 53’s DNS servers. Users can immediately
access the websites and services from anywhere in the globe because of Route 53’s low latency and
high-performance DNS resolution by using global network.
Traffic Routing And Load Balancing: Users can set up load balancing and fallback setups for their
applications with Route 53’s wide traffic routing capabilities. Users may distribute incoming traffic
among several endpoints, such as Amazon EC2 instances, Elastic Load Balancers, or by other external
resources, by utilizing capabilities like DNS-based latency routing and weighted round-robin routing.
11] List different components and services with brief use cases available in AWS.
1] Compute Services
Service Use Case
Run virtual machines (servers) on the cloud. Great for hosting apps,
EC2 (Elastic Compute Cloud)
websites, backend systems.
Run code without managing servers. Used for automation, APIs, event-
Lambda
driven functions.
Deploy web apps quickly. It auto-manages infrastructure like load
Elastic Beanstalk
balancing and scaling.
Run containers (Docker). ECS is managed, Fargate is serverless. Great for
ECS / Fargate
microservices.
Simple servers with preconfigured environments. Great for small apps,
Lightsail
websites, and beginners.
2] Storage Services
Service Use Case
Store and retrieve unlimited files (images, videos, backups). Used for static
S3 (Simple Storage Service)
websites, data lakes.
EBS (Elastic Block Store) Block storage for EC2. Used for OS and application data.
EFS (Elastic File System) Shared file system for multiple EC2 instances. Ideal for scalable apps.
Long-term cold storage for archival and backup. Very cheap, but slower to
Glacier
access.
3] Database Services
Service Use Case
Managed SQL databases like MySQL, PostgreSQL, etc. Ideal for
(Relational Database Service)
transactional systems.
DynamoDB NoSQL database. Highly scalable and fast. Great for real-time apps.
Aurora High-performance SQL database compatible with MySQL/PostgreSQL.
In-memory caching (Redis/Memcached). Speeds up applications by
ElastiCache
reducing database load.