hands-on lab

Configuring ECS Tasks with EBS Block Storage Volumes

Up to 1h
Get guided in a real environmentPractice with a step-by-step scenario in a real, provisioned environment.
Learn and validateUse validations to check your solutions every step of the way.
See resultsTrack your knowledge and monitor your progress.


In this hands-on lab, you'll learn how to configure Amazon Elastic Container Service (ECS) Tasks to leverage Amazon Elastic Block Store (EBS) for backend storage. A 3D Globe web application will be used to demonstrate this architecture and configuration.

Amazon ECS is a fully managed container orchestration service offered by AWS, designed to simplify the deployment, management, and scaling of containerized applications. It allows users to run Docker containers on a managed cluster of EC2 instances or AWS Fargate, abstracting away the underlying infrastructure complexity. ECS enables users to define task definitions, which specify the Docker containers to run, their configurations, and how they are linked together. With features like automatic load balancing, service discovery, and integration with other AWS services, ECS provides a scalable and efficient platform for deploying containerized workloads.

Amazon EBS offers durable, high-performance storage volumes for use with compute resources such as ECS. EBS volumes are highly scalable and can be easily attached to ECS tasks, providing flexible storage options for various applications. EBS offers various types of volumes optimized for different workloads, including General Purpose SSD, Provisioned IOPS SSD, and Throughput Optimized HDD. EBS can be configured to provide snapshots for backup, encryption for data security, and high availability through replication across multiple Availability Zones. EBS provides consistent and low-latency performance, making it an essential component for many AWS-based architectures.

Learning objectives

Upon completion of this intermediate-level lab, you will be able to:

  • Create an ECS Task Definition that utilizes EBS for storage
  • Launch ECS Tasks using a custom task definition
  • Create an ECS Service with an ALB for load balancing external requests

Intended audience

  • Cloud Architects
  • DevOps Engineers
  • Software Engineers


Familiarity with the following will be beneficial but is not required:

  • Amazon Elastic Container Service (ECS)
  • Amazon Elastic Block Storage (EBS)
  • Containerization

The following content can be used to fulfill the prerequisites:

Environment before

Environment after

About the author

Jeremy Cook, opens in a new tab
Solutions Architect Director
Learning paths

Jeremy is a Content Lead Architect and DevOps SME here at Cloud Academy where he specializes in developing DevOps technical training documentation.

He has a strong background in software engineering, and has been coding with various languages, frameworks, and systems for the past 25+ years. In recent times, Jeremy has been focused on DevOps, Cloud (AWS, Azure, GCP), Security, Kubernetes, and Machine Learning.

Jeremy holds professional certifications for AWS, Azure, GCP, Terraform, Kubernetes (CKA, CKAD, CKS), GitHub.

Covered topics

Lab steps

IDE Access
Review ECS and EBS Architecture
Create ECS Task Definition
Deploy ALB to Expose Globe App to the Internet
Create ECS Service
Examine Task Mounted EBS Storage