0% found this document useful (0 votes)
74 views

Cloud Computing Lab Manual

Uploaded by

khan2547abdul
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
74 views

Cloud Computing Lab Manual

Uploaded by

khan2547abdul
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.

SC(CS/IT)

BACHELOR
OF
COMPUTER APPLICATION

Cloud Computing Lab Manual


Semester: BCA/B.Sc(IT/CS)/BCA Data Science
Course Code: CSAB5031

Prepared By: Dr. Pradheep M

EFFECTIVE FROM SESSION: 2022-2023

Department of Computer Sciences


Faculty of Engineering
CHHATRAPATI SHIVAJI MAHARAJ UNIVERSITY
PANVEL, NAVI MUMBAI

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai, Maharashtra 410221
Page |1
Department of Computer Science & Information Technology BCA

List of Practical’s

S.No. Practical Name


Introduction to VMware - Understanding Virtualization Concepts
1.
Installing and Configuring VMware Workstation
2.
Introduction to AWS - Navigating the AWS Management Console
3.
Launching an EC2 Instance on AWS
4.
Configuring Security Groups in AWS
5.
Creating and Configuring an S3 Bucket
6.
Implementing AWS Lambda Functions
7.
Setting up an RDS Database Instance on AWS
8.
Configuring AWS IAM (Identity and Access Management)
9.
Implementing AWS CloudWatch for Monitoring
10.
Deploying a Static Website using AWS S3 and CloudFront
11.
Implementing AWS Elastic Load Balancing (ELB)
12.
Setting up Auto Scaling in AWS
13.
Implementing AWS CloudFormation for Infrastructure as Code
14.

Hardware & Software requirement:


AWS Management Console - Web-based platform for managing AWS services.
AWS CLI (Command Line Interface) - Command-line tool to manage AWS services.
AWS SDK - Software Development Kits for various programming languages.

VMware Workstation - Virtualization software for running multiple OS on a single physical machine.
VMware vSphere - Virtualization platform for building cloud infrastructures.
VMware Tools - Suite of utilities that enhance the performance of the virtual machine's guest
operating system and improve management.

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi
Mumbai, Maharashtra 410221P a g e | 2
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

Practical No. 01

Title: Introduction to VMware - Understanding Virtualization Concepts


Theory:
Virtualization technology has revolutionized the IT industry by allowing multiple virtual machines
(VMs) to run on a single physical host. VMware is one of the leading providers of virtualization
solutions, offering a range of products that enable organizations to optimize their IT infrastructure,
improve efficiency, and reduce costs.
What is Virtualization?
Virtualization is the process of creating a software-based representation of something rather than a
physical one. In the context of IT, virtualization refers to the creation of virtual instances of computer
resources, including servers, storage, and networks.
Key Benefits of Virtualization:
• Resource Optimization: Efficiently utilize hardware resources by running multiple VMs on a
single physical server.
• Cost Savings: Reduce hardware and operational costs by consolidating workloads and
optimizing resource usage.
• Flexibility and Scalability: Easily scale resources up or down based on demand, without the
need for additional physical infrastructure.
• Improved Disaster Recovery: Facilitate faster recovery times and minimize downtime through
VM snapshots and replication.
Introduction to VMware:
VMware is a global leader in virtualization and cloud infrastructure solutions. The company offers a
comprehensive suite of products designed to help organizations build, manage, and optimize their
virtualized environments.
VMware Products and Solutions:
• VMware vSphere: A leading server virtualization platform that enables organizations to run,
manage, and secure applications across multiple clouds and data centers.
• VMware vCenter Server: Provides centralized management for vSphere environments,
allowing administrators to efficiently monitor and manage VMs, hosts, and storage.
• VMware NSX: A network virtualization platform that enhances security, simplifies network

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 Page |3
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

management, and enables micro-segmentation in virtualized environments.


• VMware vSAN: A software-defined storage solution that simplifies storage management and
enhances storage efficiency and performance.
Understanding Virtual Machines (VMs):
• Definition: A VM is a software-based representation of a physical computer that runs its own
operating system and applications as if it were a physical machine.
• Features: VMs are isolated from each other and can be easily moved, copied, or deleted without
affecting other VMs or the underlying hardware.
• Use Cases: VMs are used for various purposes, including server consolidation, development and
testing, disaster recovery, and desktop virtualization.
Best Practices:
• Planning and Design: Carefully plan and design your virtualized environment to ensure optimal
performance, scalability, and resilience.
• Security: Implement robust security measures, including network segmentation, access controls,
and regular security audits, to protect your virtualized infrastructure.
• Monitoring and Management: Continuously monitor the health, performance, and capacity of
your virtualized environment using monitoring tools and management solutions.
Conclusion:
In this practical, we introduced the concept of virtualization and explored VMware, a leading provider
of virtualization solutions. Understanding virtualization and its benefits is crucial for modern IT
professionals, as virtualized environments continue to play a significant role in optimizing IT
infrastructure, improving efficiency, and driving innovation.

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 Page |4
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

Practical No. 02

Title: Installing and Configuring VMware Workstation


Theory:
VMware Workstation is a virtualization software that allows you to run multiple operating systems on
a single physical machine. It provides a platform for developers, IT professionals, and businesses to
create and manage virtual machines (VMs) efficiently.
What is VMware Workstation?
VMware Workstation enables users to set up and manage virtual machines on their desktop or laptop
computers. It supports a wide range of operating systems, including Windows, Linux, and macOS,
allowing for flexible testing, development, and deployment scenarios.
Key Features of VMware Workstation:
• Multiple OS Support: Run various operating systems simultaneously on a single physical
machine without rebooting.
• Snapshot and Clone: Take snapshots of virtual machines to capture their current state and clone
them for testing or backup purposes.
• Network Simulation: Simulate complex network configurations and scenarios using virtual
networking features.
• Integration with VMware vSphere: Seamlessly integrate with VMware vSphere environments
for advanced virtualization management capabilities.
• Resource Management: Allocate CPU, memory, and disk resources to virtual machines based
on workload requirements.
Installing VMware Workstation:
1. Download: Visit the official VMware website and download the latest version of VMware
Workstation for your operating system.
2. Installation: Run the installer and follow the on-screen instructions to install VMware
Workstation on your computer.
3. License Activation: Enter the license key or choose the trial option to activate VMware
Workstation.
Configuring VMware Workstation:
1. Virtual Machine Creation: Create a new virtual machine by selecting the operating system and

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 Page |5
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

configuring hardware settings like CPU, memory, and storage.


2. Virtual Network Configuration: Set up virtual networks, switches, and adapters to connect
virtual machines and simulate network environments.
3. Shared Folders: Configure shared folders between the host and guest operating systems for easy
file sharing and data transfer.
4. VM Settings: Customize virtual machine settings, including display resolution, sound, USB
device access, and more.
Getting Started with VMware Workstation:
1. Create Your First VM: Install an operating system on your new virtual machine and explore
the basic functionalities of VMware Workstation.
2. Snapshot Management: Take a snapshot of your virtual machine, make changes, and revert to
the snapshot to see the rollback in action.
3. Network Simulation: Create a virtual network topology, configure IP addresses, and test
network connectivity between virtual machines.
4. Resource Allocation: Monitor resource usage, adjust settings, and optimize performance for
your virtual machines.
Conclusion:
In this practical, we explored the process of installing and configuring VMware Workstation, a powerful
virtualization software that enables users to run multiple operating systems on a single physical machine.
By understanding the key features and capabilities of VMware Workstation, users can create, manage,
and optimize virtual environments for various testing, development, and deployment scenarios.

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 Page |6
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

Practical No. 03

Title: Introduction to AWS - Navigating the AWS Management Console

Theory:
Amazon Web Services (AWS) is a comprehensive, evolving cloud computing platform provided by
Amazon. It offers a suite of cloud computing services that includes computing power, storage options,
and networking capabilities. The AWS Management Console is a web-based interface for managing and
monitoring AWS cloud resources.

What is AWS?
AWS provides a variety of cloud services, including:
• Computing power with Amazon EC2
• Storage with Amazon S3
• Database services with Amazon RDS
• Networking with Amazon VPC
• And many more...
AWS Management Console:
The AWS Management Console provides a simple and intuitive user interface to access and manage
AWS services. Key features include:
• Dashboard: Overview of your AWS resources and services
• Services Menu: Access to all available AWS services
• Resource Groups: Organize and manage related AWS resources
• Billing Dashboard: Monitor your AWS usage and costs
Navigating the AWS Management Console:
1. Login: Access the AWS Management Console using your AWS account credentials.
2. Dashboard: Upon logging in, you will see the AWS Services Dashboard displaying an overview
of your AWS environment.
3. Services Menu: Navigate through the various services offered by AWS. Categories include
Compute, Storage, Databases, Networking, and more.
4. Search Bar: Use the search bar to quickly locate and access specific AWS services or resources.
Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 Page |7
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

5. Resource Groups: Create and manage resource groups to organize your AWS resources
efficiently.
6. Support & Documentation: Access AWS documentation, support, and resources for assistance
and learning.
Why AWS?
• Scalability: Scale resources up or down based on demand.
• Flexibility: Choose from a variety of services and configurations to meet your specific needs.
• Cost-Effective: Pay only for the resources you use with no long-term contracts.
• Global Infrastructure: Access AWS services from data centers located worldwide.
Conclusion:
In this practical, we have explored the basics of Amazon Web Services (AWS) and learned how to
navigate the AWS Management Console. AWS offers a vast array of services and features that empower
businesses to build, deploy, and manage applications and services in the cloud efficiently.

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 Page |8
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

Practical No. 04

Title: AWS EC2 - Launching and Managing Virtual Servers

Theory:
Amazon Elastic Compute Cloud (EC2) is a web service that provides resizable compute capacity in the
cloud. It allows users to create virtual machines, known as instances, and run applications on them. EC2
instances are highly customizable and can be tailored to meet specific computing requirements.
What is AWS EC2?
Amazon EC2 offers the following key features:
• Virtual Servers: Create virtual machines with varying CPU, memory, storage, and networking
capacities.
• Flexible Pricing: Pay only for the compute capacity you use with no upfront costs or long-term
commitments.
• Security: Secure your instances by leveraging AWS security groups, IAM roles, and encryption.
• Scalability: Easily scale your compute resources up or down based on demand.
• Integration: Integrate with other AWS services for a comprehensive cloud computing solution.
Launching an EC2 Instance:
1. Login to AWS Management Console: Access the AWS Management Console using your
credentials.
2. Navigate to EC2: From the Services menu, select EC2 under the Compute category.
3. Launch Instance: Click on the "Launch Instance" button to initiate the instance creation process.
4. Choose AMI: Select an Amazon Machine Image (AMI) - a template that contains the software
configuration for your instance.
5. Choose Instance Type: Choose an instance type based on your computing requirements.
6. Configure Instance: Configure instance details, storage, tags, security groups, and more.
7. Review and Launch: Review your instance configuration and launch the EC2 instance.
8. Connect to Instance: Once the instance is running, connect to it using SSH or RDP depending
on the OS.
Managing EC2 Instances:
• Start/Stop: Easily start, stop, or reboot instances as needed.

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 Page |9
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

• Terminate: Delete instances that are no longer required to avoid incurring additional charges.
• Monitoring: Monitor instance performance and status using Amazon CloudWatch.
• Scaling: Implement auto-scaling to automatically adjust the number of instances based on
demand.
Best Practices:
• Cost Management: Utilize reserved instances or spot instances for cost-effective computing.
• Security: Implement security best practices, including regular updates, patching, and IAM
policies.
• Backup: Regularly backup important data to Amazon S3 or EBS volumes.
Conclusion:
In this practical, we have learned the fundamentals of Amazon EC2, including how to launch and
manage virtual servers in the AWS cloud. EC2 provides a flexible and scalable computing environment
that enables businesses to deploy applications and services quickly and efficiently.

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 P a g e | 10
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

Practical No. 05

Title: Configuring Security Groups in AWS

Theory:
AWS Security Groups act as virtual firewalls for your EC2 instances to control inbound and outbound
traffic. They regulate the incoming and outgoing traffic by specifying rules that allow or deny traffic
based on source and destination IP addresses, ports, and protocols.
What are Security Groups in AWS?
Security Groups are sets of firewall rules that control the traffic to EC2 instances. Each security group
has a set of inbound and outbound rules, and each rule consists of a protocol, a port range, and a
source or destination.
Key Concepts:
• Stateful: Security Groups are stateful, meaning if you allow incoming traffic from an IP
address, the return traffic is automatically allowed, regardless of outbound rules.
• Instance Level: Security Groups are applied at the instance level, and each instance can be
associated with multiple security groups.
• Inbound and Outbound Rules: Define rules to allow or deny traffic based on
source/destination IPs, ports, and protocols.
Configuring Security Groups in AWS:
1. Access AWS Management Console: Log in to your AWS Management Console.
2. Navigate to EC2 Dashboard: Go to the EC2 Dashboard and select 'Security Groups' from the
left-hand navigation pane.
3. Create a New Security Group:
• Click on the 'Create Security Group' button.
• Provide a name and description for the security group.
• Select the VPC (Virtual Private Cloud) for the security group.
4. Configure Inbound Rules:
• Click on the 'Inbound rules' tab.
• Add rules to allow specific traffic based on source IP, port, and protocol (e.g., HTTP,

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 P a g e | 11
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

HTTPS, SSH).
5. Configure Outbound Rules:
• Click on the 'Outbound rules' tab.
• Add rules to allow specific outbound traffic based on destination IP, port, and protocol.
6. Apply Security Group to EC2 Instances:
• Navigate to the 'Instances' section.
• Select the instance you want to associate with the security group.
• Right-click and choose 'Change Security Groups'.
• Select the desired security group and click 'Assign Security Groups'.
Testing Security Groups:
1. SSH Access:
• Try to SSH into your EC2 instance using the public IP address.
• Ensure that the security group allows inbound SSH traffic on port 22.
2. Web Access:
• Access the web server hosted on your EC2 instance using its public IP or DNS.
• Ensure that the security group allows inbound HTTP/HTTPS traffic.
3. Ping Test:
• Try to ping your EC2 instance from another machine.
• Ensure that the security group allows ICMP traffic if you want to allow ping.
Conclusion:
In this practical, we learned how to configure Security Groups in AWS to control inbound and
outbound traffic to our EC2 instances effectively. By defining specific rules based on
source/destination IPs, ports, and protocols, we can enhance the security posture of our AWS
environment, ensuring that only authorized traffic is allowed while blocking potential threats.

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 P a g e | 12
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

Practical No. 06

Title: AWS S3 - Storing and Managing Data in the Cloud

Theory:
Amazon Simple Storage Service (S3) is a scalable object storage service offered by AWS. It allows
users to store and retrieve any amount of data at any time from anywhere on the web. S3 is designed
for 99.999999999% (11 9's) of durability, making it a highly reliable storage solution.
What is AWS S3?
Amazon S3 offers the following key features:
• Scalable Storage: Store virtually unlimited amounts of data with easy scalability.
• Durability and Availability: Designed for 99.999999999% durability across multiple devices
and locations.
• Data Security: Secure data using encryption, access control, and bucket policies.
• Data Lifecycle Management: Automate the transition of objects between different storage
classes.
• Versioning: Preserve, retrieve, and restore every version of every object stored in an S3
bucket.
Creating an S3 Bucket:
1. Login to AWS Management Console: Access the AWS Management Console using your
credentials.
2. Navigate to S3: From the Services menu, select S3 under the Storage category.
3. Create Bucket: Click on the "Create Bucket" button to initiate the bucket creation process.
4. Configure Bucket: Provide a unique name, select a region, and configure other bucket
settings.
5. Set Permissions: Define access permissions using bucket policies and access control lists
(ACLs).
6. Review and Create: Review your bucket configuration and create the S3 bucket.
Uploading and Managing Objects:
• Upload: Drag and drop files or use the AWS Management Console to upload objects to your
S3 bucket.

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 P a g e | 13
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

• Download: Retrieve objects from your S3 bucket using various methods including the AWS
CLI, SDKs, or Console.
• Delete: Remove objects that are no longer needed to free up storage space.
• Versioning: Enable versioning to preserve, retrieve, and restore every version of objects in
your bucket.
Implementing Data Security:
• Encryption: Secure data at rest using server-side encryption with Amazon S3 managed keys
(SSE-S3) or AWS Key Management Service (SSE-KMS).
• Access Control: Define granular permissions using IAM policies, bucket policies, and access
control lists (ACLs).
• Monitoring and Auditing: Monitor access patterns and set up logging to track requests made
to your S3 bucket.
Best Practices:
• Naming Conventions: Use meaningful and descriptive names for your buckets and objects.
• Lifecycle Policies: Implement lifecycle policies to transition objects between storage classes
and automate data archival.
• Cost Management: Monitor storage usage and implement cost-effective storage solutions like
S3 Intelligent-Tiering.

Conclusion:
In this practical, we explored Amazon S3, a versatile and highly durable object storage service
provided by AWS. S3 offers a scalable and secure platform for storing, retrieving, and managing data
in the cloud. Understanding its features and best practices is essential for efficient data management
and storage in AWS.

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 P a g e | 14
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

Practical No. 07

Title: Implementing AWS Lambda Functions

Theory:
AWS Lambda is a serverless computing service provided by Amazon Web Services (AWS) that lets
you run your code without provisioning or managing servers. It automatically scales your application
by running code in response to triggers.
What is AWS Lambda?
AWS Lambda lets you run code without provisioning or managing servers, creating workload-aware
cluster scaling logic, maintaining event integrations, or managing runtimes. With Lambda, you can
focus on your code, and AWS takes care of the infrastructure.
Key Concepts:
• Event-Driven: Lambda runs your code in response to events such as changes to data in an
Amazon S3 bucket or an Amazon DynamoDB table, HTTP requests via Amazon API
Gateway, or custom events from mobile applications.
• Auto-Scaling: Lambda automatically scales your application by running code in response to
each trigger. Your code runs in parallel and processes each trigger individually, scaling
precisely with the size of the workload.
• Serverless: No need to provision or manage servers. Pay only for the compute time you
consume.
Implementing AWS Lambda Functions:
1. Access AWS Management Console: Log in to your AWS Management Console.
2. Navigate to Lambda Dashboard: Go to the Lambda service from the services menu.
3. Create a New Lambda Function:
• Click on the 'Create function' button.
• Choose the 'Author from scratch' option.
• Provide a name, choose a runtime (e.g., Python, Node.js, Java), and configure
permissions.
4. Write Code:
• In the function code section, write your Lambda function code.
Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 P a g e | 15
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

• For example, a simple Python Lambda function might look like this:
pythonCopy code
def lambda_handler(event, context): return { 'statusCode': 200, 'body': 'Hello from
AWS Lambda!' }
5. Configure Trigger:
• Add a trigger for your Lambda function. This could be an S3 bucket change, an API
Gateway endpoint, etc.
6. Set Basic Settings:
• Configure memory, timeout, and other basic settings for your Lambda function.
7. Save and Test:
• Save your Lambda function.
• Test it using the built-in test functionality or manually trigger it to see the output.
Testing Lambda Functions:
1. Manual Invocation:
• Use the 'Test' button in the AWS Lambda console to manually invoke your function
and check its output.
2. Trigger-Based Testing:
• If you've set up a trigger, perform the action that triggers the Lambda function (e.g.,
upload a file to an S3 bucket) and observe the function's execution.
Conclusion:
In this practical, we delved into the world of AWS Lambda, understanding its significance in
serverless computing. We explored how to create, configure, and test Lambda functions, emphasizing
their event-driven nature and auto-scaling capabilities. With Lambda, developers can focus solely on
writing code, leaving infrastructure management to AWS, thereby simplifying the deployment and
scaling of applications.

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 P a g e | 16
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

Practical No. 08

Title: Setting up an RDS Database Instance on AWS

Theory:
Amazon Relational Database Service (Amazon RDS) makes it easier to set up, operate, and scale a
relational database in the cloud. It provides cost-efficient and resizable capacity while automating
time-consuming administration tasks such as hardware provisioning, database setup, patching, and
backups.
What is Amazon RDS?
Amazon RDS is a managed database service offered by AWS. It supports multiple database engines
like MySQL, PostgreSQL, SQL Server, MariaDB, and Oracle.
Key Features of Amazon RDS:
• Managed Service: AWS handles routine database tasks such as patching, backups, and
failover.
• Scalability: Easily scale your database instance based on your needs.
• Security: RDS provides features to enhance security, such as encryption at rest and in transit,
security groups, and Virtual Private Cloud (VPC) integration.
• High Availability: Multi-AZ deployments for failover support and automated backups for
point-in-time recovery.
• Monitoring: Amazon CloudWatch integration for monitoring database instances.
Setting up an RDS Database Instance:
1. Access AWS Management Console: Log in to your AWS Management Console.
2. Navigate to RDS Dashboard: Select the RDS service from the services menu.
3. Launch Database Instance:
• Click on the 'Create database' button.
• Choose the database engine you want to use (e.g., MySQL, PostgreSQL, SQL Server).
4. Specify Database Details:
• Provide instance specifications like DB instance class, storage type, allocated storage,
etc.
5. Configure Settings:
Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 P a g e | 17
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

• Set up the database instance identifier, master username, and password.


6. Configure Advanced Settings:
• Configure VPC, subnet group, security group, backup, maintenance, and monitoring
options as required.
7. Launch Database Instance:
• Review the configurations and click on the 'Launch database' button to create the RDS
instance.
8. Monitor and Manage:
• Once the database instance is created, monitor its performance using Amazon
CloudWatch.
• Manage and modify configurations, set up backups, and perform other administrative
tasks as needed.
Accessing the RDS Database:
1. Connecting from EC2 Instance:
• Ensure the EC2 instance's security group allows inbound traffic on the database port.
• Use the RDS endpoint and provided credentials to connect from the EC2 instance.
2. Connecting from Local Machine:
• Use a database client tool (e.g., MySQL Workbench, pgAdmin for PostgreSQL) to
connect to the RDS instance.
• Provide the RDS endpoint, port, master username, and password to establish the
connection.
Conclusion:
In this practical, we explored Amazon RDS, a managed relational database service from AWS. We
walked through the process of setting up an RDS database instance, from selecting the database engine
to configuring advanced settings. By leveraging RDS, users can deploy scalable, secure, and highly
available database solutions without the overhead of traditional database management tasks.

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 P a g e | 18
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

Practical No. 09

Title: Configuring AWS IAM (Identity and Access Management)

Theory:
AWS Identity and Access Management (IAM) enables you to securely control access to AWS services
and resources for your users. IAM allows you to create and manage AWS users and groups, and use
permissions to allow and deny their access to AWS resources.
Key Concepts of IAM:
• Users: An entity that you create in AWS IAM to represent the person or service that uses it.
• Groups: A collection of IAM users. You can use groups to specify permissions for multiple
users, making it easier to manage permissions.
• Roles: An identity with permissions to perform certain actions. Roles are not associated with a
specific user or group but can be assumed by users, AWS services, or federated users.
• Policies: A document that defines permissions. It can be attached to users, groups, or roles to
define what actions are allowed or denied.
• Permissions: These are rules that specify what actions are allowed or denied on resources.
Configuring AWS IAM:
1. Access AWS Management Console: Log in to your AWS Management Console.
2. Navigate to IAM Dashboard: Select the IAM service from the services menu.
3. Users:
• Click on 'Users' in the left sidebar.
• Click on 'Add user'.
• Provide a username and select the type of access (Programmatic access, AWS
Management Console access, or Both).
4. Set Permissions:
• Attach policies to the user. You can choose from existing policies or create custom
ones.
5. Groups:
• Click on 'Groups' in the left sidebar.
• Click on 'Create New Group'.

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 P a g e | 19
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

• Provide a group name and attach policies to the group.


6. Roles:
• Click on 'Roles' in the left sidebar.
• Click on 'Create role'.
• Choose the trusted entity type (AWS service, another AWS account, or an external
identity provider) and set permissions.
7. Policies:
• Click on 'Policies' in the left sidebar.
• Click on 'Create policy'.
• Use the visual editor or JSON to define permissions.
8. Security:
• Enable MFA (Multi-Factor Authentication) for added security.
• Review and rotate access keys periodically.
Best Practices:
• Principle of Least Privilege: Only grant permissions that are necessary for users to perform
their tasks.
• Regularly Review and Rotate Credentials: Ensure that unused credentials are removed, and
access keys are rotated regularly.
• Enable MFA: Multi-Factor Authentication provides an extra layer of security.
Conclusion:
In this practical, we delved into AWS Identity and Access Management (IAM), understanding its key
components and their roles. We navigated through the IAM console to create users, groups, roles, and
policies, and learned about best practices to ensure a secure and well-managed IAM environment in
AWS. Proper configuration and management of IAM are crucial for maintaining the security and
integrity of AWS resources and services.

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 P a g e | 20
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

Practical No. 10

Title: Implementing AWS CloudWatch for Monitoring


Theory:
AWS CloudWatch is a monitoring and observability service built for developers, system operators, site
reliability engineers (SRE), and IT managers. CloudWatch provides data and actionable insights to
monitor applications, respond to system-wide performance changes, optimize resource utilization, and
get a unified view of operational health.
Key Features of AWS CloudWatch:
• Metrics: Collect and track metrics from AWS services, resources, and applications.
• Logs: Collect, monitor, and analyze log data.
• Alarms: Set high-resolution alarms and get notified when metrics breach specified thresholds.
• Dashboards: Create custom dashboards to monitor your resources and applications.
• Events: Respond to state changes in your AWS resources.
• Anomaly Detection: Use machine learning algorithms to detect anomalies in metric data.
Implementing AWS CloudWatch:
1. Access AWS Management Console: Log in to your AWS Management Console.
2. Navigate to CloudWatch: Select the CloudWatch service from the services menu.
3. Monitoring EC2 Instances:
• Click on 'Metrics' in the left sidebar.
• Choose 'EC2' from the list of services.
• Select a metric like CPUUtilization.
• Create an alarm to notify when CPU utilization goes above a threshold.
4. Creating Dashboards:
• Click on 'Dashboards' in the left sidebar.
• Click on 'Create dashboard'.
• Add widgets to the dashboard to visualize metrics and logs.
5. Setting up Alarms:
• Click on 'Alarms' in the left sidebar.
• Click on 'Create alarm'.
• Define the metric, condition, and actions to trigger when the condition is met.

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 P a g e | 21
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

6. Logging with CloudWatch Logs:


• Click on 'Logs' in the left sidebar.
• Choose 'Log groups' and select a log group.
• View and analyze log data, create metric filters, and set up alarms based on log patterns.
7. Monitoring Other AWS Services:
• CloudWatch can monitor a wide range of AWS services. Navigate to 'Metrics' and select
the desired service to view available metrics.
Best Practices:
• Set Meaningful Alarms: Avoid setting too many alarms. Focus on actionable thresholds.
• Use CloudWatch Logs Insights: For advanced log analysis, use CloudWatch Logs Insights to
query, visualize, and analyze log data.
• Monitor Costs: Be mindful of the costs associated with CloudWatch metrics, logs, and alarms.
Utilize the AWS Free Tier offerings where applicable.
Conclusion:
In this practical, we explored AWS CloudWatch, a powerful monitoring and observability service
offered by AWS. We learned how to monitor EC2 instances, create custom dashboards, set up alarms,
and analyze logs using CloudWatch. By implementing CloudWatch, organizations can gain insights into
their AWS resources' performance, troubleshoot issues proactively, and ensure a robust and reliable
AWS environment.

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 P a g e | 22
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

Practical No. 11

Title: Deploying a Static Website using AWS S3 and CloudFront


Theory:
AWS S3 (Simple Storage Service) is an object storage service that offers scalability, data availability,
security, and performance. It is ideal for storing and retrieving any amount of data.
CloudFront is a content delivery network (CDN) service provided by AWS. It speeds up the distribution
of your static and dynamic web content, such as .html, .css, .js, and image files, to end-users.
Key Components:
• AWS S3: To store the static website files.
• AWS CloudFront: To distribute content globally with low latency.
Steps to Deploy a Static Website using AWS S3 and CloudFront:
1. Create an S3 Bucket:
• Log in to the AWS Management Console.
• Navigate to the S3 service.
• Click on 'Create bucket'.
• Name your bucket and select a region.
• Uncheck 'Block all public access' and acknowledge the warning.
• Create the bucket.
2. Upload Website Files:
• Open the created S3 bucket.
• Upload your static website files (e.g., index.html, styles.css, images).
• Make sure to set the files' permissions to public.
3. Enable Static Website Hosting:
• In the S3 bucket properties, find the 'Static website hosting' section.
• Select 'Use this bucket to host a website'.
• Enter the index document (e.g., index.html).
• Save the changes.
4. Configure Bucket Policy:
• Still in the bucket properties, navigate to the 'Permissions' tab.
• Click on 'Bucket Policy'.
Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 P a g e | 23
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

• Add a policy that grants public read access to the bucket.


5. Create CloudFront Distribution:
• Navigate to the CloudFront service.
• Click on 'Create Distribution'.
• Choose 'Web' distribution.
• Set the S3 bucket as the origin.
• Configure caching and other settings as per your requirements.
• Complete the distribution setup.
6. Update DNS:
• Once the CloudFront distribution is deployed, you'll get a CloudFront domain name.
• Update your domain's DNS settings to point to this CloudFront domain name.
7. Test the Website:
• Visit your domain (or CloudFront domain) in a web browser to verify the website is
accessible.
Best Practices:
• Enable Logging: Enable access logging in S3 to monitor access requests and troubleshoot
potential issues.
• Set Cache-Control Headers: Configure the Cache-Control headers to control caching behavior
and improve website performance.
• Enable HTTPS: Use AWS Certificate Manager (ACM) to provision an SSL/TLS certificate and
enable HTTPS for your CloudFront distribution.
Conclusion:
In this practical, we learned how to deploy a static website using AWS S3 for storage and AWS
CloudFront for content distribution. By following these steps, participants can host their static websites
in a scalable and cost-effective manner, ensuring fast and reliable access to their content for users
worldwide.

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 P a g e | 24
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

Practical No. 12

Title: Implementing AWS Elastic Load Balancing (ELB)


Theory:
Elastic Load Balancing (ELB) automatically distributes incoming application traffic across multiple
targets, such as EC2 instances, containers, IP addresses, and Lambda functions. It helps to ensure high
availability and fault tolerance of your applications.
Key Components:
• Elastic Load Balancer (ELB): The managed load balancer service provided by AWS.
• Target Groups: Logical grouping of targets (e.g., EC2 instances) registered with a load
balancer.
Steps to Implement AWS Elastic Load Balancing:
1. Launch EC2 Instances:
• Log in to the AWS Management Console.
• Navigate to the EC2 dashboard.
• Launch two or more EC2 instances in different availability zones.
2. Create a Target Group:
• Navigate to the EC2 dashboard and then to the 'Target Groups' section.
• Click on 'Create target group'.
• Configure the target group settings, including name, protocol, port, and VPC.
• Register the previously launched EC2 instances with the target group.
3. Create Load Balancer:
• Go to the EC2 dashboard and choose 'Load Balancers' from the navigation pane.
• Click on 'Create Load Balancer' and choose the type of load balancer you want
(Application Load Balancer, Network Load Balancer, or Classic Load Balancer).
• Configure the load balancer settings, including name, listener configurations, availability
zones, and security settings.
• Attach the target group created in the previous step to the load balancer.
4. Configure Health Checks:
• While setting up the target group or after creating it, configure health checks to monitor
the health of the registered targets.

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 P a g e | 25
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

5. Update Security Groups:


• Ensure that the security groups associated with the EC2 instances allow incoming traffic
on the ports configured in the load balancer.
6. Test the Load Balancer:
• Access the DNS name or the provided endpoint of the load balancer in a web browser to
verify that traffic is distributed evenly across the registered EC2 instances.
Best Practices:
• Enable Cross-Zone Load Balancing: This ensures even distribution of traffic across instances
in all enabled Availability Zones.
• Configure Idle Timeout: Adjust the idle timeout value based on your application’s needs to
avoid premature connection closures.
• Use HTTPS/SSL: If your application requires secure connections, configure SSL/TLS
certificates for your load balancer.
• Monitoring and Logging: Set up CloudWatch Alarms to get notified about any unhealthy
instances or high latency. Enable access logs to troubleshoot and analyze traffic patterns.
Conclusion:
In this practical, we learned how to implement AWS Elastic Load Balancing to distribute incoming
traffic across multiple targets for high availability and fault tolerance. ELB simplifies the process of
managing traffic and ensures that your applications can handle varying load levels efficiently.
Participants should now understand the importance of load balancing and how to set up and configure
ELB to optimize application performance and reliability.

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 P a g e | 26
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

Practical No. 13

Title: Setting up Auto Scaling in AWS


Theory:
Auto Scaling in AWS allows you to automatically adjust the number of EC2 instances in your
application's scaling group based on the specified conditions such as increased traffic or reduced load.
This ensures that your application can handle varying amounts of load and remains available and
responsive.
Key Components:
• Auto Scaling Groups (ASG): Logical grouping of EC2 instances that you want to scale.
• Launch Configurations: Defines the configuration settings for the instances launched by the
ASG.
• Scaling Policies: Defines the conditions and actions for scaling in and scaling out.
Steps to Implement Auto Scaling in AWS:
1. Create a Launch Configuration:
• Navigate to the EC2 dashboard and choose 'Launch Configurations' from the navigation
pane.
• Click on 'Create launch configuration'.
• Select an Amazon Machine Image (AMI), instance type, and configure other settings like
storage, security groups, and user data.
• Review and create the launch configuration.
2. Create an Auto Scaling Group (ASG):
• After creating the launch configuration, choose 'Auto Scaling Groups' from the EC2
dashboard navigation pane.
• Click on 'Create Auto Scaling group'.
• Choose the created launch configuration.
• Configure the group size, network, subnets, and health checks.
• Define scaling policies based on metrics like CPU utilization, network traffic, or custom
CloudWatch alarms.
3. Configure Scaling Policies:
• Define scaling policies for scaling out (increasing capacity) and scaling in (decreasing

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 P a g e | 27
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

capacity).
• Set up triggers based on metrics to initiate scaling actions. For example, add instances
when the average CPU utilization is above 70%.
4. Test Auto Scaling:
• Monitor the instances in the ASG and simulate increased load to trigger scaling.
• Observe how Auto Scaling adds or removes instances based on the defined policies.
5. Monitor and Optimize:
• Use Amazon CloudWatch to monitor the performance metrics and alarms related to your
ASG.
• Adjust the scaling policies and thresholds as needed to optimize the performance and
cost of your application.
Best Practices:
• Use Multiple Availability Zones: Deploy instances across multiple availability zones to ensure
high availability and fault tolerance.
• Utilize Predictive Scaling: AWS offers predictive scaling based on historical data to
automatically scale your application in anticipation of traffic changes.
• Enable Detailed Monitoring: Detailed monitoring provides more frequent metrics (1-minute
intervals) to make more informed scaling decisions.
• Regularly Review and Adjust: Regularly review your Auto Scaling configurations and adjust
them based on changing traffic patterns and application requirements.
Conclusion:
Auto Scaling is a crucial feature in AWS that allows applications to automatically adjust to varying
workloads, ensuring high availability, fault tolerance, and cost optimization. In this practical,
participants learned how to set up and configure Auto Scaling groups, launch configurations, and scaling
policies to automate the management of EC2 instances based on demand. This capability is essential for
modern cloud applications that need to handle dynamic and unpredictable workloads efficiently.

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 P a g e | 28
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

Practical No. 14

Title: Implementing AWS CloudFormation for Infrastructure as Code


Theory:
AWS CloudFormation is a service that allows you to define and provision the AWS infrastructure
resources using templates. These templates are written in JSON or YAML format and describe the AWS
resources and their configurations needed to run an application.
Key Concepts:
• Template: A JSON or YAML formatted file describing the AWS resources and their
configurations.
• Stack: A collection of AWS resources created and managed as a single unit.
• Parameter: Custom values that you can pass to your template at runtime.
• Output: Values that are returned from a stack after it's created or updated.
Steps to Implement AWS CloudFormation:
1. Create a CloudFormation Template:
• Write a template in JSON or YAML format that describes the AWS resources required
for your application.
• Define resources such as EC2 instances, RDS databases, S3 buckets, and more.
2. Define Parameters and Outputs:
• Add parameters to allow users to customize the stack during creation.
• Define outputs to retrieve information from the stack after it's created, like the URL of a
deployed application.
3. Validate the Template:
• Use the AWS Management Console, AWS CLI, or SDKs to validate the CloudFormation
template for syntax errors.
4. Create a Stack:
• Navigate to the CloudFormation dashboard in the AWS Management Console.
• Click on 'Create stack', upload the template, provide parameters if any, and create the
stack.
5. Monitor Stack Creation:
• Monitor the status of the stack creation in the CloudFormation dashboard.

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 P a g e | 29
Department of Computer Science & Information Technology BCA/BCA DATA SCI / B.SC(CS/IT)

• Check the 'Events' tab for detailed progress and any error messages.
6. Update and Delete Stacks:
• To update a stack, modify the template or parameters and choose 'Update stack'.
• To delete a stack, select the stack and choose 'Delete stack'. This will delete all the AWS
resources associated with the stack.
Best Practices:
• Use Version Control: Store CloudFormation templates in a version control system like Git to
track changes and manage versions.
• Parameterize Resources: Use parameters to make your templates reusable across different
environments and applications.
• Test Templates: Test templates in a staging environment before deploying them to production
to ensure they work as expected.
• Monitor and Audit: Use AWS CloudTrail to log and monitor changes to your CloudFormation
stacks for auditing and compliance.
Conclusion:
AWS CloudFormation simplifies the management of AWS resources by allowing you to define and
provision infrastructure as code. In this practical, participants learned how to create CloudFormation
templates, define parameters and outputs, validate and deploy stacks, and manage resources using
Infrastructure as Code principles. Adopting CloudFormation can lead to more consistent, reliable, and
scalable infrastructure deployments, reducing manual errors and streamlining operations.

Chhatrapati Shivaji Maharaj University,Old, Mumbai - Pune Expressway, near Panvel Toll Plaza, Panvel, Navi Mumbai,
Maharashtra 410221 P a g e | 30

You might also like