- Lab
- A Cloud Guru
Resizing Root AWS EBS Volumes to Increase Performance
Welcome to this live AWS learning activity, where you will be changing the size of root EBS volumes on EC2 instances. This activity provides hands-on experience resizing volumes in: 1) Standalone instances (a bastion host) 2) Auto scaling groups (two web server instances) There are different reasons for a system administrator to have to resize a root volume. Needing larger storage capacity is the most obvious, but resizing is also necessary to increase the base IOPS of a volume. In this case, the volume may not be running low on storage space. Good luck and enjoy the learning activity!
Path Info
Table of Contents
-
Challenge
Create an EBS Snapshot
Create an EBS snapshot from one of the existing EC2 instance volumes.
- Find the root volume of the bastion host
- Check the box beside it on the Volumes page
- Click Actions
- Choose Create Snapshot
- Add a description, then click Create Snapshot
- Click Close
-
Challenge
Create a New (Larger) EBS Volume
Using the snapshot you just created, provision a new EBS volume from the snapshot that provides a higher amount of IOPS.
- Check the box beside your new snapshot
- Click Actions
- Choose Create Volume
- Change size to 40 GB
- Click Create Volume
- Click Close
-
Challenge
Attach the (Larger) EBS Volume to an EC2 Instance
Replace an existing (root) EBS volume that is attached to an EC2 instance with the new (larger) EBS volume that you just created. The new volume needs to replace the old volume as the root volume.
- Stop the bastion host
- On the Volumes page, check the box beside the 8GB volume attached to the bastion host
- Click Actions, then choose Detach Volume
- Check the box next to the new larger volume
- Click Actions, then choose Attach Volume
- Choose the stopped bastion host for instance
- Device should be
/dev/xvda
- Click Attach
-
Challenge
Create a New Auto Scaling Launch Template and Update the Existing Auto Sscaling Group
Create a new Auto Scaling launch template that uses the new (larger) EBS volume for created instances. Then, update the existing Auto Scaling group to use the new launch template.
-
Click Instances > Launch Templates in the left sidebar, then select the Create launch template.
-
For Launch template name, enter
newLT
. -
Under Launch template contents > Application and OS Images (Amazon Machine Image), select the Recents tab and choose Currently in use to pick the Amazon Linux 2 2024-05-20 Update image with the Amazon Linux 2 w/cloud_user description.
-
Enter t2.micro for the Instance Type.
-
Under Network settings > Select existing security group, Select the WebServerSecurityGroup from the list.
-
Under Storage (volumes), expand the EBS volume Volume 1 (AMI Root) option and set the Size (GiB) to 40.
-
Under Advanced details > User data - optional, copy and paste the following script:
#!/bin/bash yum update -y yum install -y httpd24 php70 mysql56-server php70-mysqlnd git cd /var/www/html git clone https://github.com/linuxacademy/content-aws-sysops-administrator.git cd content-aws-sysops-administrator/wp-site/ mv * /var/www/html groupadd www usermod -a -G www ec2-user chown -R root:www /var/www chmod -R 2775 /var/www echo '<?php phpinfo(); ?>' > /var/www/html/phpinfo.php service httpd start chkconfig httpd on service mysqld start chkconfig mysqld on
-
Click Create launch template.
-
Click View launch templates.
-
Click Auto Scaling Groups in the left sidebar and select the available auto-scaling group.
-
Click Actions > Edit.
-
Click Switch to launch template and select the newLT you just created.
-
Click Update.
-
Click Instances in the left sidebar.
-
Select one of the webserver-instance instances in the list (either us-east-1a or us-east-1b).
-
Use the Actions dropdown to select Instance State, then click Terminate. Click Yes, Terminate in the Terminate Instance window.
-
After the new instance that Auto Scaling has created is in the running state, select it.
-
Click on the Storage tab, and look at the volume Root device (/dev/xvda). You should see the new
/dev/xvda
showing with a volume size of 40 GiB. -
(Optional) Repeat these steps with the other webserver-instance in the Instances list.
-
What's a lab?
Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.
Provided environment for hands-on practice
We will provide the credentials and environment necessary for you to practice right within your browser.
Guided walkthrough
Follow along with the author’s guided walkthrough and build something new in your provided environment!
Did you know?
On average, you retain 75% more of your learning if you get time for practice.