Deploy Amazon Elastic Kubernetes Service into a new Amazon Virtual Private Cloud - AWS Launch Wizard

Deploy Amazon Elastic Kubernetes Service into a new Amazon Virtual Private Cloud

The following steps guide you through an Amazon EKS deployment with AWS Launch Wizard after you have launched it from the console.

  1. When you select Choose application from the AWS Launch Wizard landing page, you are directed to the Choose application wizard where you are prompted to select the type of application that you want to deploy.

  2. Select Amazon EKS, select Deploy Amazon EKS into a new VPC, then select Create deployment.

  3. You are prompted to enter the specifications for the new deployment. The following tabs provide information about the specification fields of the deployment model.

    General
    • Deployment name. Enter a unique application name for your deployment.

    • Amazon Simple Notification Service (SNS) topic ARN — optional. Specify an Amazon SNS topic where AWS Launch Wizard can send notifications and alerts. For more information, see the Amazon Simple Notification Service Developer Guide.

    • Deactivate rollback on failed deployment. By default, if a deployment fails, your provisioned resources will be deleted. You can enable this setting during deployment to prevent this behavior.

    • Tags - optional. Enter a key and value to assign metadata to your deployment. For help with tagging, see Tagging Your Amazon EC2 Resources.

    Network configuration
    • Key pair name. Select an existing key pair from the dropdown list or create a new one. If you select Create new key pair name, you are directed to the Amazon EC2 console. From there, under Network and Security, choose Key Pairs. Choose Create a new key pair, enter a name for the key pair, and then choose Download Key Pair.

      Important

      This is the only opportunity for you to save the private key file. Download it and save it in a safe place. You must provide the name of your key pair when you launch an instance and provide the corresponding private key each time that you connect to the instance. Return to the Launch Wizard console and choose the refresh button next to the Key Pairs dropdown list. The newly created key pair appears in the dropdown list. For more information about key pairs and Linux instances, see Amazon EC2 Key Pairs and Linux Instances. For more information about key pairs and Windows instances, see Amazon EC2 Key Pairs and Windows Instances

    • Allowed external access CIDR: Allowed CIDR block for external access to the deployed instances.

    • VPC settings: Launch Wizard creates your VPC in this case. Input fields that define the VPC configuration are shown in the following list.

      Parameter label (name) Default value Description
      Number of Availability Zones (NumberOfAZs) 3 Number of Availability Zones to use in the VPC. A minimum number of 2 and maximum number of 3 Zones is allowed. This must match the value entered for the AvailabilityZones parameter.
      VPC CIDR (VPCCIDR) 10.0.0.0/16 CIDR block for the VPC.
      Private subnet 1 CIDR (PrivateSubnet1CIDR) 10.0.0.0/19 CIDR block for private subnet 1, located in Availability Zone 1.
      Private subnet 2 CIDR (PrivateSubnet2CIDR) 10.0.32.0/19 CIDR block for private subnet 2, located in Availability Zone 2.
      Private subnet 3 CIDR (PrivateSubnet3CIDR) 10.0.64.0/19 (Optional) CIDR block for private subnet 3, located in Availability Zone 3.
      Public subnet 1 CIDR (PublicSubnet1CIDR) 10.0.128.0/20 CIDR block for the public (DMZ) subnet 1, located in Availability Zone 1.
      Public subnet 2 CIDR (PublicSubnet2CIDR) 10.0.144.0/20 CIDR block for the public (DMZ) subnet 2, located in Availability Zone 2.
      Public subnet 3 CIDR (PublicSubnet3CIDR) 10.0.160.0/20 (Optional) CIDR block for the public (DMZ) subnet 3, located in Availability Zone 3.
    EKS configuration
    Parameter label (name) Default value Description
    Config set name (ConfigSetName) Blank string (Optional) This parameter is used to map advanced parameters to an EKS cluster. You can keep it blank unless you are using an advanced configuration stack. If you launched an advanced configuration stack and want to apply its values to this cluster, this name must match the ConfigSetName parameter for the stack. If kept blank, a new Config set is created using default values.
    HTTP proxy (HttpProxy) Blank string (Optional) HTTP(S) proxy configuration. If provided, all worker nodes and pod egress traffic use this proxy.

    Example: http://10.101.0.100:3128/

    Per-account shared resources (PerAccountSharedResources) AutoDetect

    This EKS deployment creates several IAM roles and instance profiles that are intended to be deployed only once in an AWS account. If you already have an existing Launch Wizard EKS application deployed in this AWS account, in this AWS Region or another, you must choose No to skip creation of the per-account shared resources.

    Per-Region shared resources (PerRegionSharedResources) AutoDetect

    This EKS deployment sets up several resources such as helper Lambda functions, an S3 bucket for staging assets, and AWS CloudFormation macros that are intended to be deployed once for each AWS Region and shared in future deployments of Launch Wizard EKS in that Region. If you already have an existing Launch Wizard EKS application deployed in this account in this Region, you must choose No to skip creation of the per-Region shared resources.

    Provision bastion host (ProvisionBastionHost) Activated Skip creating a bastion host by deactivating this option.
    EKS cluster name (EKSClusterName) Blank string (Optional) Name for the EKS cluster. If kept blank, one is automatically generated. This must be unique within the Region.
    EKS public access endpoint (EKSPublicAccessEndpoint) Deactivated

    Configure access to the Kubernetes API server endpoint from outside of your VPC.

    Additional EKS admin ARN (IAM user) (AdditionalEKSAdminUserArn) Blank string (Optional) IAM user ARN to be granted administrative access to the EKS cluster.
    Additional EKS admin ARN (IAM role) (AdditionalEKSAdminRoleArn) Blank string (Optional) IAM role ARN to be granted administrative access to the EKS cluster.
    Fargate namespaces (FargateNamespaces) Blank string (Optional) Comma-separated list of namespaces for which Fargate should be enabled.
    EKS node group configuration
    Parameter label (name) Default value Description
    Number of nodes (NumberOfNodes) 3 Number of Amazon EKS node instances. The default is one for each of the three Availability Zones.
    Maximum number of nodes (MaxNumberOfNodes) 3 Maximum number of Amazon EKS node instances. The default is three.
    Node group OS (NodeGroupOS) Amazon Linux 2 Operating system to use for node instances. Choose Bottlerocket for the Amazon purpose-built container OS (unmanaged node groups only). Note that if you choose Windows, an additional Amazon Linux node group is created.
    Node group type (NodeGroupType) Managed Choose Unmanaged to create an Auto Scaling group without using the EKS-managed node groups feature.
    Node instance family (NodeInstanceFamily) Standard Choose the instance family to match the value of Node instance type.
    Kubernetes add-ins
    Parameter label (name) Default value Description
    AWS load balancer controller (ALBIngressController) Activated You can deactivate deploying the AWS load balancer controller. If you activate deployment of the AWS load balancer controller, a Helm chart for this component is deployed.
    Cluster autoscaler (ClusterAutoScaler) Deactivated You can deactivate Kubernetes Cluster Autoscaler. If you activate Kubernetes Cluster Autoscaler, a helm chart for this component is deployed.
    EFS storage class (EfsStorageClass) Deactivated You can activate deploying EFS storage to provide persistent storage that is redundant and untethered to individual Availability Zones.
    Prometheus integration (PrometheusIntegration) Deactivated You can activate deploying Prometheus Helm charts into the Kubernetes cluster. For more information, see https://prometheus.io/.
    Grafana integration (GrafanaIntegration) Deactivated You can activate deploying Grafana Helm charts into the Kubernetes cluster. Grafana requires "Prometheus integration" to be enabled. For more information, see https://www.grafana.com/.
  4. When you are satisfied with your infrastructure selections, choose Next. If you don't want to complete the configuration, choose Cancel. When you choose Cancel, all of the selections on the specification page are lost and you are returned to the landing page. To go to the previous screen, choose Previous.

  5. After configuring your application, you are prompted to define the infrastructure requirements for the new deployment on the Define infrastructure requirements page. The following tabs provide information about the input fields.

    Compute
    • Infrastructure requirements based on infrastructure. You can choose to select your instances, or to use AWS recommended resources. If you choose to use AWS recommended resources, you have the option of defining your performance needs. If you don't select either option, default values are assigned.

    • Number of instance cores. Choose the number of CPU cores for your infrastructure. The default value assigned is 4.

    • Network performance. Choose your preferred network performance in Gbps.

    • Memory (GB). Choose the amount of RAM that you want to attach to your EC2 instances. The default value assigned is 4 GB.

    • Recommended resources. Launch Wizard displays the system-recommended resources based on your infrastructure selections. If you want to change the recommended resources, select different infrastructure requirements.

    • Infrastructure requirements based on instance type. Choose to select your instance or to use AWS recommended resources. If you don't select either option, default values are assigned.

    • Instance type. Select your preferred instance type from the dropdown list.

  6. When you are satisfied with your infrastructure selections, select Next. If you don't want to complete the configuration, select Cancel. When you select Cancel, all of the selections on the specification page are lost and you are returned to the landing page. To go to the previous screen, select Previous.

  7. On the Review and deploy page, review your configuration details. If you want to make changes, select Previous. To stop, select Cancel. When you select Cancel, all of the selections on the specification page are lost and you are returned to the landing page. When you choose Deploy, you agree to the terms of the Acknowledgment. Launch Wizard validates the inputs and notifies you if you need to address any issues.

  8. When validation is complete, Launch Wizard deploys your AWS resources and configures your Amazon EKS application. Launch Wizard provides you with status updates about the progress of the deployment on the Deployments page. From the Deployments page, you can view the list of current and previous deployments

  9. When your deployment is ready, a notification informs you that your Amazon EKS application is successfully deployed. If you have set up an Amazon SNS notification, you are also alerted through Amazon SNS. You can manage and access all of the resources related to your application by selecting the deployment, and then selecting Manage from the Actions dropdown list.

  10. When the application is deployed, you can access your EC2 instances through the Amazon EC2 console.