hands-on lab

Integrating AWS Storage Services in Amazon EKS

Up to 1h 30m
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.
Lab description

There are many choices to make when considering storage in Amazon Elastic Kubernetes Service (EKS). This lab walks through some of the fundamental choices you have in Kubernetes when it comes to data persistence. For workloads requiring persistent storage managed directly in EKS, there are several AWS storage services that can be integrated, including:

  • Amazon Elastic Block Store (EBS)
  • Amazon Elastic File System (EFS)
  • Amazon FSx

This lab discusses the capabilities of each and demonstrates how to use EBS and EFS storage within EKS.

To implement the storage integrations, you will augment a cloud-native EKS application deployed using Terraform. Patches are progressively applied using Terraform to adapt the application to use different AWS storage services first-hand.

Learning objectives

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

  • Understand the various AWS storage services that integrate directly with EKS and when to use them
  • Use Terraform to deploy different AWS storage service solutions in EKS
  • Learn how Kubernetes resources, such as PersistentVolumes, PersistentVolumeClaims, and StatefulSets, are used to manage storage in EKS

Intended audience

  • Cloud Architects
  • DevOps Engineers
  • Kubernetes Practitioners


Familiarity with the following is beneficial:

  • Terraform fundamentals
  • Kubernetes resources, including Services, PersistentVolumes, PersistentVolumeClaims, and StatefulSets
  • AWS Storage services, including EBS and EFS

The following content can be used to fulfill the prerequisites:


Jan. 17th, 2023 - Resolved an issue that caused the EFS file system to be denied

Environment before

Environment after

About the author
Logan Rakai, opens in a new tab
Lead Content Developer - Labs
Learning paths

Logan has been involved in software development and research since 2007 and has been in the cloud since 2012. He is an AWS Certified DevOps Engineer - Professional, AWS Certified Solutions Architect - Professional, Microsoft Certified Azure Solutions Architect Expert, MCSE: Cloud Platform and Infrastructure, Google Cloud Certified Associate Cloud Engineer, Certified Kubernetes Security Specialist (CKS), Certified Kubernetes Administrator (CKA), Certified Kubernetes Application Developer (CKAD), and Certified OpenStack Administrator (COA). He earned his Ph.D. studying design automation and enjoys all things tech.

LinkedIn, Twitter, GitHub

Covered topics
Lab steps
Connecting to the Lab's IDE
Reviewing EKS Storage Options
Creating EKS Cluster Storage Add-Ons
Migrating to an In-Cluster Database
Using Amazon EBS Storage in Amazon EKS
Preparing the Amazon Elastic File System Infrastructure
Using Amazon EFS in Amazon EKS