Find the Best Cosmetic Hospitals

Explore trusted cosmetic hospitals and make a confident choice for your transformation.

“Invest in yourself — your confidence is always worth it.”

Explore Cosmetic Hospitals

Start your journey today — compare options in one place.

EC2 Boot from EBS Explained: Architecture, Trade-offs, and an AWS CLI Workflow

Booting EC2 instances from Amazon EBS changed how teams manage compute lifecycle, persistence, and maintenance. If you run cloud infrastructure, this guide will help you understand the model, compare it with older instance-store roots, and apply it through a practical AWS CLI workflow.

Originally published on 2010-03-19; fully revised and updated.

This revision is based on the original DevOpsSchool post: Powerful New Amazon EC2 Boot Features – Introduction.

Amazon EC2 boot from EBS concept

What booting from EBS introduced

The original article announced a new EC2 capability: using an EBS volume as the root device at launch time (created from an EBS snapshot), instead of relying on a local instance-store root disk. That change made EC2 instances easier to stop and restart while preserving the root filesystem.

  • Root disk could be created from an EBS snapshot at boot.
  • Additional EBS volumes could be attached as part of launch configuration.
  • Instances could be stopped and later started with root volume state preserved.
  • Compute and storage lifecycle became more decoupled for maintenance operations.

The original post also embedded a secondary historical image from All Things Distributed: serverfolders-small.jpg.

Instance-store root vs EBS-backed root

AspectInstance-store root (traditional model)EBS-backed root
Root disk source at launchLocal instance storage prepared during bootEBS volume created from snapshot
Stop and start behaviorHistorically limited for many instance-store-root workflowsDesigned to support stop/start lifecycle
Root data persistenceEphemeral characteristics tied to host lifecyclePersists on EBS unless explicitly deleted
Changing instance typeOften required replacement workflowsCommon stop, modify, and start workflow
Boot-time storage compositionLess flexibleCan include additional EBS data volumes at launch
Typical use caseShort-lived or stateless patternsDurable roots and operational maintenance flexibility

Boot and restart workflow with EBS-backed instances

The high-level lifecycle below captures the model introduced in the original announcement and still useful for operational design.

flowchart TD
    A[Choose EBS backed AMI] --> B[Create root EBS volume from snapshot]
    B --> C[Attach optional data EBS volumes]
    C --> D[Boot instance]
    D --> E[Run workload]
    E --> F[Stop instance]
    F --> G[EBS volumes persist]
    G --> H[Start instance possibly with new instance type]
    H --> D

AWS CLI example workflow

Use the following as a practical template. Replace IDs and names with values from your own account and region.

1) Discover EBS-backed AMIs

aws ec2 describe-images \
  --owners amazon self \
  --filters Name=root-device-type,Values=ebs Name=state,Values=available \
  --query 'Images[].{ImageId:ImageId,Name:Name,CreationDate:CreationDate}' \
  --output tableCode language: PHP (php)

2) Launch an instance with an additional EBS data volume

aws ec2 run-instances \
  --image-id ami-0abc1234example \
  --instance-type t3.micro \
  --key-name my-key \
  --subnet-id subnet-0123456789abcdef0 \
  --security-group-ids sg-0123456789abcdef0 \
  --block-device-mappings 'DeviceName=/dev/xvdb,Ebs={VolumeSize=50,VolumeType=gp3,DeleteOnTermination=false}' \
  --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=ebs-boot-demo}]'Code language: JavaScript (javascript)

3) Verify root device type

aws ec2 describe-instances \
  --instance-ids i-0123456789abcdef0 \
  --query 'Reservations[].Instances[].{RootDeviceType:RootDeviceType,RootDeviceName:RootDeviceName,State:State.Name}' \
  --output tableCode language: JavaScript (javascript)

4) Stop, change instance type, and start again

aws ec2 stop-instances --instance-ids i-0123456789abcdef0
aws ec2 wait instance-stopped --instance-ids i-0123456789abcdef0
aws ec2 modify-instance-attribute \
  --instance-id i-0123456789abcdef0 \
  --instance-type Value=t3.small
aws ec2 start-instances --instance-ids i-0123456789abcdef0

Important: changing instance type is a normal stop/start operation. Changing operating system typically requires launching from a different AMI or replacing the root volume strategy, not just a simple restart.

Operational impact for DevOps teams

  • Maintenance flexibility: stop instances for planned changes and resume with persistent root state.
  • Cost behavior: compute charges pause while stopped, but EBS storage charges continue.
  • Safer change windows: snapshot-based backup workflows are easier to integrate.
  • Clearer separation of concerns: compute scaling and disk persistence can be managed independently.

Best practices and common pitfalls

  • Set DeleteOnTermination intentionally for every attached volume.
  • Take snapshots before high-risk changes or major patch cycles.
  • Do not assume a stopped instance keeps the same public IP unless you use an Elastic IP.
  • Use encryption and IAM controls for EBS volumes and snapshots.
  • Treat historical size and performance claims as time-bound; verify current AWS limits and behavior in official docs.

Find Trusted Cardiac Hospitals

Compare heart hospitals by city and services — all in one place.

Explore Hospitals
I'm Rajesh Kumar, a DevOps, SRE, DevSecOps, Cloud, and Platform Engineering expert passionate about sharing practical knowledge, real-world experiences, and industry best practices. I have worked at Cotocus and regularly write about technology, travel, investing, health, product reviews, and digital marketing through my various platforms. I publish technical articles at DevOps School, travel stories at Holiday Landmark, stock market insights at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow, and SEO and digital marketing strategies at Wizbrand.

Related Posts

AWS CLI Credentials Setup: Configure, Verify, and Secure Access

Learn how to configure AWS credentials with the AWS CLI, verify your identity, and understand where credentials are stored. This updated guide also compares profiles, environment variables, and role-based access.

Read More

Provision an AWS EC2 Instance with Chef (Legacy ChefDK Workflow)

A practical, step-by-step walkthrough for provisioning an AWS EC2 VM using the classic ChefDK and chef-provisioning approach. Includes workflow, commands, recipe examples, and validation checks for legacy environments.

Read More

Deploying Java EE on Amazon EC2 with EC2Deploy: Workflow, Script, and Modern Lessons

This revised guide breaks down the original EC2Deploy approach for provisioning EC2 instances, deploying Java EE apps, and running JMeter tests. It also maps the same deployment pattern to modern DevOps practices.

Read More

EC2Deploy and the Cloud Tools Maven Plugin: Architecture, Goals, and Deployment Workflow

This revised guide explains what the 2010 EC2Deploy and Cloud Tools release actually introduced, how its components fit together, and how the Maven goals map to deployment operations on EC2. It also covers what modern teams should verify before relying on this legacy toolchain.

Read More

Cloud Tools Adds Amazon EBS Support: Durable EC2 Storage for Database Workloads

This historical update covers when Cloud Tools introduced Amazon EBS support for EC2 applications, including database-backed deployments. It explains the supported storage modes, the backup/restore flow, and practical command-level equivalents.

Read More

EC2 Key Pairs vs AWS Credentials: Practical Fixes for SSH and Security Group Setup

New EC2 users often confuse AWS API credentials with EC2 SSH key pairs, then get blocked by security group rules. This guide separates each concept and shows repeatable CLI and console steps to get instance access working safely.

Read More
Subscribe
Notify of
guest
0 Comments
Newest
Oldest Most Voted
0
Would love your thoughts, please comment.x
()
x