1. Create a VPC with Public NAT Gateway

While creating VPC, default settings do not enable NAT Gateway. Select "1 per AZ" for NAT Gateway. Other settings for VPC creation can be default values.

Technical Details: Fargate nodes use NAT Gateway to communicate to cluster controller. Also Fargate profile needs private subnets.

2. Create Elastic Kubernetes Service Cluster

Create cluster with AmazonEKSClusterRole role. Use the VPC created during 1. step. Also choose default security group of the VPC for cluster.

Wait for cluster creation to be complete before proceeding. Cluster status should be active.

Link For Creating EKS cluster (Choose "AWS Management Console" in opened page)

3. Create Fargate Profile in Cluster

Create fargate profile with AmazonEKSFargatePodExecutionRole role.

Link For Creating Fargate Profile

4. Delete coredns Add-on

By default coredns add-on uses EC2 compute configuration. We need to remove it and re-add back so it can start using Fargate Profile created in Step 3.

Link For Removing coredns Add-on

5. Add coredns Add-on

Add coredns Add-on back.

Link For Adding coredns Add-on

6. Verify Nodes In Compute Node

Inside EKS Cluster, Compute tab nodes section, you will be able to see fargate nodes. Names starting with "fargate-ip".

7. Cleanup

Please do not forget to delete resources if you do not need them.

1. Link For Deleting Fargate Profile

2. Link For Deleting EKS Cluster (Step 5)

3. Delete VPC created in Step 1. NAT Gateway will be billed if not deleted.