ELB and Amazon Elastic Kubernetes Service (EKS)
Start course

In this course, we shall be discussing Amazon Elastic Load Balancers (ELBs) and how ELBs integrate with other AWS services to help provide high availability, improve performance, and increase security for your applications.

Learning Objectives

By the end of this course, you will have a greater understanding of:

  • ELBs integrations with key AWS services
  • ELBs importance to Amazon Kubernetes

Intended Audience

Anyone working with AWS Networking will benefit from this course, also if you are:

  • Studying for the AWS Networking Specialty certification
  • Studying for the AWS Solutions Architect certifications

If you are looking to increase your AWS knowledge, this course is for you.


Before attending this course, you should be familiar with Amazon ELB, including the different ELB types and how they are configured. Experience with AWS services such as CloudFront, WAF, and Global Accelerator is also desirable but not required.

For more information on these services, please see our existing courses: 


In this section, we will discuss using ELB with the Amazon Elastic Kubernetes service EKS. So far, ACME has been integrating its ELB with other AWS services in order to provide access to its website hosted on EC2 Instances. In the future, ACME intends to containerize its application and host those containers on the Amazon Elastic Kubernetes Service EKS. When working with EKS, ACME will still need to load balance traffic to their containers hosting their website application. 

To do this, they will need to integrate an elastic load balancer with their EKS clusters. Historically, when deploying an EKS cluster and using a YAML file to deploy a service, a classic load balance was being created for you. This should be avoided today. Although classic load balancers are still supported, it is recommended that you use either an Application Load Balancer or a Network Load Balancer with your EKS cluster. To integrate ELB with EKS, you can create an Ingress controller or define a load balancer type in a service YAML file. If you create an Ingress controller, you're defining an Application Load Balancer. If you define a load balancer type in a service YAML, you're defining a Network Load Balancer. 

The following YAML code will be used as part of the configuration of your EKS cluster to create an Ingress controller, deploying an Application Load Balancer. The following YAML will be used as part of your EKS service definition to deploy a load balancer type, deploying a network load balancer as part of your Kubernetes service. For more information on EKS management and deployment, see the following learning path. Once the load balancer is defined, you will see it in your list of load balancers in the AWS console and can then integrate the load balancer with other AWS services in the way is discussed in this course. For example, you can use route 53 to map your friendly name to the load balancer name using an alias record.


About the Author

Mike has worked in IT since 1997, specializing in networking, storage, and architecture. He's been in cloud computing for the last 8 years, working across several cloud platforms but specializing in AWS. He's been involved in many cloud projects over the years covering migrations, hybrid connectivity, security optimization, networking, and storage architecture.

He gained his first training qualification in 1998 and, about 3 years ago, became an AWS Authorized Champion Instructor. He's delivered AWS cloud courses across Europe for a range of clients, with a focus on Architecture, Security, and Networking. He currently holds certifications for the four biggest cloud vendors, including the AWS Solutions Architect Professional, AWS DevOps Engineer, and AWS Advanced Networking specialty certifications.

He lives in the North of England with his wife Frances and their dog Inca.