This workshop has been deprecated and archived. The new Amazon EKS Workshop is now available at

Migrate Workloads to EKS

counter app recording

In this chapter we will migrate a workload from a self managed kind cluster to an EKS cluster. The workload will have a stateless frontend and a stateful database backend. You’ll need to follow the steps to create a Cloud9 workspace. Make sure you update your IAM permissions with an eksworkshop-admin role.

When you create your Cloud9 instance you should select an instance size with at least 8 GB of memory (eg m5.large) because we are going to create a kind cluster we will migrate workloads from.

We’ll need a few environment variables throughout this section so let’s set those up now. Unless specified all commands should be run from your Cloud9 instance.

export CLUSTER=eksworkshop-eksctl
export AWS_ZONE=$(curl -s
export INSTANCE_ID=$(curl -s
export MAC=$(curl -s
export SECURITY_GROUP=$(curl -s${MAC}/security-group-ids)
export SUBNET=$(curl -s${MAC}/subnet-id)
export VPC=$(curl -s${MAC}/vpc-id)
export IP=$(ip -4 addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}')

printf "export CLUSTER=$CLUSTER\nexport ACCOUNT_ID=$ACCOUNT_ID\nexport AWS_REGION=$AWS_REGION\nexport AWS_DEFAULT_REGION=${AWS_REGION}\nexport AWS_ZONE=$AWS_ZONE\nexport INSTANCE_ID=$INSTANCE_ID\nexport MAC=$MAC\nexport SECURITY_GROUP=$SECURITY_GROUP\nexport SUBNET=$SUBNET\nexport VPC=$VPC\nexport IP=$IP" | tee -a ~/.bash_profile
. ~/.bash_profile

Install kind

# install kind
curl -sLo kind ""
sudo install -o root -g root -m 0755 kind /usr/local/bin/kind
rm -f ./kind