Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.
  • Labs icon Lab
  • A Cloud Guru
Google Cloud Platform icon
Labs

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!

Google Cloud Platform icon
Labs

Path Info

Level
Clock icon Intermediate
Duration
Clock icon 30m
Published
Clock icon Mar 02, 2018

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Table of Contents

  1. 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
  2. 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
  3. 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
  4. 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.

    1. Click Instances > Launch Templates in the left sidebar, then select the Create launch template.

    2. For Launch template name, enter newLT.

    3. 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.

    4. Enter t2.micro for the Instance Type.

    5. Under Network settings > Select existing security group, Select the WebServerSecurityGroup from the list.

    6. Under Storage (volumes), expand the EBS volume Volume 1 (AMI Root) option and set the Size (GiB) to 40.

    7. 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
      
    8. Click Create launch template.

    9. Click View launch templates.

    10. Click Auto Scaling Groups in the left sidebar and select the available auto-scaling group.

    11. Click Actions > Edit.

    12. Click Switch to launch template and select the newLT you just created.

    13. Click Update.

    14. Click Instances in the left sidebar.

    15. Select one of the webserver-instance instances in the list (either us-east-1a or us-east-1b).

    16. Use the Actions dropdown to select Instance State, then click Terminate. Click Yes, Terminate in the Terminate Instance window.

    17. After the new instance that Auto Scaling has created is in the running state, select it.

    18. 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.

    19. (Optional) Repeat these steps with the other webserver-instance in the Instances list.

The Cloud Content team comprises subject matter experts hyper focused on services offered by the leading cloud vendors (AWS, GCP, and Azure), as well as cloud-related technologies such as Linux and DevOps. The team is thrilled to share their knowledge to help you build modern tech solutions from the ground up, secure and optimize your environments, and so much more!

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.

Start learning by doing today

View Plans