hands-on lab

Amazon EKS - Supporting TCP based Connections from the Outside

Up to 2h 40m
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.


The AWS Load Balancer Controller is used to help manage and control the provisioning of ALBs (Ingress resources) and NLBs (Service resources - type LoadBalancer).

In this lab scenario, you'll learn how to deploy the AWS Load Balancer Controller into a lab-provided EKS cluster using Helm. You'll then deploy a sample TCP Echo App and configure external public access to it via a Service (type LoadBalancer) cluster resource.

Learning Objectives

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

  • Deploy and configure the AWS Load Balancer Controller into an EKS cluster
  • Deploy a TCP Echo App and expose it publicly using a Service (type LoadBalancer) resource

Intended Audience

This lab is intended for:

  • Kubernetes practitioners
  • DevOps Engineers
  • SREs

Lab Prerequisites

You should be familiar with:

  • Basic Linux command line administration
  • Basic Kubernetes and Container-based concepts

Consider taking the following courseware in preparation for this lab:

Lab Environment

This Lab will start with the following AWS resources provisioned automatically for you:

  • 1 x EKS cluster - Cluster-1 - provides a fully functional Kubernetes cluster 
    • 1 x NodeGroup
      • 1 x EC2 Worker Node
  • 2 x EC2 instances
    • eks.launch.instance - used to launch the EKS cluster
    • cloudacademylabs - used to provide an SSH based terminal


December 5th, 2023 - Updated Kubernetes version

June 22nd, 2023 - Resolved intermittent deployment issue

June 5th, 2023 - Resolved an issue that caused the lab to fail to setup on rare occasions

March 6th, 2023 - Updated to K8s 1.24


Environment before

Environment after

About the author

Jeremy Cook, opens in a new tab
Content Lead Architect
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).

Covered topics

Lab steps

Logging In to the Amazon Web Services Console
Connecting to the Virtual Machine using EC2 Instance Connect
Reviewing Amazon EKS Resources Automatically Created
Installing Kubernetes Management Tools and Utilities
Review AWS Load Balancer Controller Config Prerequisites
Deploy AWS Load Balancer Controller
Review TCP Echo App Design
Deploy and Expose the TCP Echo App
Connect to the TCP Echo App Externally