Modular and Scalable Amazon EKS Architecture
Amazon EKS Quick Start

The AWS Documentation website is getting a new look!
Try it now and let us know what you think. Switch to the new look >>

You can return to the original look by selecting English in the language selector above.

Step 2. Launch the Quick Start

Note

The instructions in this section reflect the older version of the AWS CloudFormation console. If you’re using the redesigned console, some of the user interface elements might be different.

You are responsible for the cost of the AWS services used while running this Quick Start reference deployment. There is no additional cost for using this Quick Start. For full details, see the pricing pages for each AWS service you will be using in this Quick Start. Prices are subject to change.

  1. Choose one of the following options to launch the AWS CloudFormation template into your AWS account. For help choosing an option, see deployment options earlier in this guide.

    Important

    If you’re deploying Amazon EKS into an existing VPC, make sure that your VPC has three private subnets in different Availability Zones for the workload instances. These subnets require NAT gateways or NAT instances in their route tables, to allow the instances to download packages and software without exposing them to the internet. You will also need to tag each private subnet with the tag kubernetes.io/role/internal-elb=true and each public subnet with the tag kubernetes.io/role/elb=true if you want to use the Kubernetes integration with Elastic Load Balancing.

    Each deployment takes about 25 minutes to complete.

  2. Check the region that’s displayed in the upper-right corner of the navigation bar, and change it if necessary. This is where the network infrastructure where Amazon EKS will be built. The template is launched in the US East (Ohio) Region by default.

    Note

    Amazon EKS and Amazon EFS aren’t currently supported in all AWS Regions. For a current list of supported regions, see the AWS Regions and Endpoints webpage.

  3. On the Select Template page, keep the default setting for the template URL, and then choose Next.

  4. On the Specify Details page, change the stack name if needed. Review the parameters for the template. Provide values for the parameters that require input. For all other parameters, review the default settings and customize them as necessary.

    In the following tables, parameters are listed by category and described separately for the two deployment options:

    When you finish reviewing and customizing the parameters, choose Next.

    Option 1: Parameters for deploying Amazon EKS into a new VPC

    View template

    VPC network configuration:

    Parameter label Parameter name Default Description
    Availability Zones AvailabilityZones Requires input The list of Availability Zones to use for the subnets in the VPC. Three Availability Zones are used for this deployment, and the logical order of your selections is preserved.
    VPC CIDR VPCCIDR 10.0.0.0/16 The CIDR block for the VPC.
    Private subnet 1 CIDR PrivateSubnet1CIDR 10.0.0.0/19 The CIDR block for private subnet 1 located in Availability Zone 1.
    Private subnet 2 CIDR PrivateSubnet2CIDR 10.0.32.0/19 The CIDR block for private subnet 2 located in Availability Zone 2.
    Private subnet 3 CIDR PrivateSubnet3CIDR 10.0.64.0/19 The CIDR block for private subnet 3 located in Availability Zone 3.
    Public subnet 1 CIDR PublicSubnet1CIDR 10.0.128.0/20 The CIDR block for the public (DMZ) subnet 1 located in Availability Zone 1.
    Public subnet 2 CIDR PublicSubnet2CIDR 10.0.144.0/20 The CIDR block for the public (DMZ) subnet 2 located in Availability Zone 2.
    Public subnet 3 CIDR PublicSubnet3CIDR 10.0.160.0/20 The CIDR block for the public (DMZ) subnet 3 located in Availability Zone 3.
    Allowed external access CIDR RemoteAccessCIDR Requires input The CIDR IP range that is permitted to access the instances. We recommend that you set this value to a trusted IP range.

    Amazon EC2 configuration:

    Parameter label Parameter name Default Description
    SSH key name KeyPairName Requires input The name of an existing public/private key pair, which allows you to securely connect to your instance after it launches.

    Amazon EKS configuration:

    Parameter label Parameter name Default Description
    Nodes instance type NodeInstanceType t3.medium The type of Amazon EC2 instance for the node instances.
    Number of nodes NumberOfNodes 3 The number of Amazon EKS node instances. The default is one for each of the three Availability Zones.
    Node group name NodeGroupName Default The name for the Amazon EKS node group.
    Node volume size NodeVolumeSize 20 The size for the node’s root Amazon Elastic Block Store (Amazon EBS) volumes.
    Additional Amazon EKS admin ARNs AdditionalEKSAdminArns Optional The comma-separated list of IAM user/role Amazon Resource Names (ARNs) to be granted admin access to the EKS cluster.
    Kubernetes version KubernetesVersion 1.13 The Kubernetes control plane version. The supported versions for this Quick Start are 1.13, 1.12, and 1.11.

    Optional Kubernetes add-ins:

    Parameter label Parameter name Default Description
    Cluster autoscaler ClusterAutoScaler Disabled Choose Enabled to enable Kubernetes cluster autoscaler.
    EFS storage class EfsStorageClass Disabled Choose Enabled to enable EFS storage class, which will create the required EFS volume.
    EFS performance mode EfsPerformanceMode generalPurpose Choose maxIO mode to provide greater IOPS with an increased latency. Only has an effect when EfsStorageClass is enabled.
    EFS throughput mode EfsThroughputMode bursting Choose provisioned for throughput that is not dependent on the amount of data stored in the file system. Only has an effect when EfsStorageClass is enabled.
    EFS provisioned throughput in Mibps EfsProvisionedThroughputInMibps 0 Set to 0 if EfsThroughputMode is set to bursting. Only has an effect when EfsStorageClass is enabled.

    AWS Quick Start configuration:

    Parameter label Parameter name Default Description
    Quick Start S3 bucket name QSS3BucketName aws-quickstart Amazon S3 bucket name for the Quick Start assets. This string can include numbers, lowercase letters, uppercase letters, and hyphens (-). It cannot start or end with a hyphen (-).
    Quick Start S3 key prefix QSS3KeyPrefix quickstart-amazon-eks/ Amazon S3 key prefix for the Quick Start assets. Quick Start key prefix can include numbers, lowercase letters, uppercase letters, hyphens (-), and forward slash (/).
    Lambda zips bucket name LambdaZipsBucketName Optional The name of the Amazon S3 bucket where the Lambda .zip files should be placed. If you leave this parameter blank, an Amazon S3 bucket will be created.

    Option 2: Parameters for deploying Amazon EKS into an existing VPC

    View template

    Network configuration:

    Parameter label Parameter name Default Description
    VPC ID VPCID Requires input The ID of your existing VPC (e.g., vpc-0343606e).
    Private subnet 1 ID PrivateSubnet1ID Requires input The ID of the private subnet in Availability Zone 1 in your existing VPC (e.g., subnet-fe9a8b32).
    Private subnet 2 ID PrivateSubnet2ID Requires input The ID of the private subnet in Availability Zone 2 in your existing VPC (e.g., subnet-be8b01ea).
    Private subnet 3 ID PrivateSubnet3ID Requires input The ID of the private subnet in Availability Zone 3 in your existing VPC (e.g., subnet-abd39039).
    Public subnet 1 ID PublicSubnet1ID Requires input The ID of the public subnet in Availability Zone 1 in your existing VPC (e.g., subnet-a0246dcd).
    Public subnet 2 ID PublicSubnet2ID Requires input The ID of the public subnet in Availability Zone 2 in your existing VPC (e.g., subnet-b1236eea).
    Public subnet 3 ID PublicSubnet3ID Requires input The ID of the public subnet in Availability Zone 3 in your existing VPC (e.g., subnet-c3456aba).
    Allowed external access CIDR RemoteAccessCIDR Requires input The CIDR IP range that is permitted to access the instances. We recommend that you set this value to a trusted IP range.

    Amazon EC2 configuration:

    Parameter label Parameter name Default Description
    SSH key name KeyPairName Requires input The name of an existing public/private key pair, which allows you to securely connect to your instance after it launches.

    Amazon EKS configuration:

    Parameter label Parameter name Default Description
    Nodes instance type NodeInstanceType t3.medium The type of Amazon EC2 instance for the node instances
    Number of nodes NumberOfNodes 3 The number of Amazon EKS node instances. The default is one for each of the three Availability Zones.
    Node group name NodeGroupName Default The name for the Amazon EKS node group.
    Node volume size NodeVolumeSize 20 The size for the node’s root Amazon EBS volumes.
    Additional Amazon EKS admin ARNs AdditionalEKSAdminArns Optional Comma separated list of IAM user/role ARNs to be granted admin access to the Amazon EKS cluster
    Kubernetes version KubernetesVersion 1.13 The Kubernetes control plane version. The supported versions for this Quick Start are 1.13, 1.12, and 1.11.

    Optional Kubernetes add-ins:

    Parameter label Parameter name Default Description
    Cluster autoscaler ClusterAutoScaler Disabled Choose Enabled to enable Kubernetes cluster autoscaler.
    EFS storage class EfsStorageClass Disabled Choose Enabled to enable EFS storage class, which will create the required EFS volume.
    EFS performance mode EfsPerformanceMode generalPurpose Choose maxIO mode to provide greater IOPS with an increased latency. Only has an effect when EfsStorageClass is enabled.
    EFS throughput mode EfsThroughputMode bursting Choose provisioned for throughput that is not dependent on the amount of data stored in the file system. Only has an effect when EfsStorageClass is enabled.
    EFS provisioned throughput in Mibps EfsProvisionedThroughputInMibps 0 Set to 0 if EfsThroughputMode is set to bursting. Only has an effect when EfsStorageClass is enabled.

    AWS Quick Start configuration:

    Parameter label Parameter name Default Description
    Quick Start S3 bucket name QSS3BucketName aws-quickstart Amazon S3 bucket name for the Quick Start assets. This string can include numbers, lowercase letters, uppercase letters, and hyphens (-). It cannot start or end with a hyphen (-).
    Quick Start S3 key prefix QSS3KeyPrefix quickstart-amazon-eks/ Amazon S3 key prefix for the Quick Start assets. Quick Start key prefix can include numbers, lowercase letters, uppercase letters, hyphens (-), and forward slash (/).
    Lambda zips bucket name LambdaZipsBucketName Optional The name of the Amazon S3 bucket where the Lambda .zip files should be placed. If you leave this parameter blank, an S3 bucket will be created.
  5. On the Options page, you can specify tags (key-value pairs) for resources in your stack and set advanced options. When you’re done, choose Next.

  6. On the Review page, review and confirm the template settings. Under Capabilities, select the two check boxes to acknowledge that the template will create IAM resources and that it might require the capability to auto-expand macros.

  7. Choose Create to deploy the stack.

  8. Monitor the status of the stack. When the status is CREATE_COMPLETE, the Amazon EKS cluster is ready.

  9. Use the URLs displayed in the Outputs tab for the stack to view the resources that were created.

    
      
        Amazon EKS outputs after successful deployment

    Figure 2: Amazon EKS outputs after successful deployment