AWS
Deploy AMPS on AWS using Elastic Kubernetes Service (EKS)
Last updated
Deploy AMPS on AWS using Elastic Kubernetes Service (EKS)
Last updated
Ensure you have completed the setup steps on the main Kubernetes page.
In order to deploy AMPS on EKS, you need to set up an EKS cluster.
This Amazon EKS Getting Started Guide provides clear instructions on installing the eksctl tool which takes care of all the logistics of setting up the cluster. We recommend using managed nodes as opposed to Fargate for this tutorial as it will also to access our AMPS UIs from the internet. As the link specifies, ensure you have an IAM account with adequate permissions and pick a region where you are not as your limits for VPCs, CloudFormation Stacks, etc.
Confirm that you have successfully created your cluster and that your kubectl is configured to use it by running the following command which should display the two nodes created by default.
Additionally, confirm that the default gp2 storage class is available by running the following command.
With that confirmed, we can run the following command to install AMPS on our cluster. The command uses the set flag to specify that AMPS should use the gp2 storage class as its default.
After successful installation, we need to upgrade the deployment to tell AMPS to listen on the URL generated by EKS. Run the following command to show the amps-svc-ui service. Note the lengthy URL in the External IP column. We will use this in the next section when configuring our DNS.
Navigate to the DNS configuration for the domain on which you want to deploy AMPS. Create CNAME records for the subdomains you which to use for main Admin and User Portals as well as any other environment portals you wish to use. Your configuration might look like the following.
In this image, the admin portal and user portal are being deployed at the admin and user subdomains, respectively, and additional subdomains are set up for test and mftlabs environments.
With the DNS set up, we now need to upgrade our deployment to use our new configured domains. We will also configure AMPS to use SSL and automatically generate SSL credentials using Let's Encrypt. Copy the following configuration into a local YAML file.
Update all the values in <> to the values corresponding to your domain and contact info and run the following to upgrade the deployment, replacing "<myvalues>" with your file name. We additionally specify the gp2 storage class which was taken by default
After successfully upgrading, run the following command to see the container logs. After the initial dependency installation, you will most likely see output from Let's Encrypt outlining the result of your SSL certification. If you see a success message, you are all set. If you see a validation error message, continue to the next step.
Navigate to your domain on HTTP or HTTPS and perform the Startup actions to create a root account. Sign in with the root account. From the left navigation pane, scroll down to System Configuration and navigate to that page. Select the Administration tab which should contain an enabled button for performing SSL certification. Click the button and wait for the certification to complete. After certification completes, scroll up on the navigation pane to System Logs and check the logs for a success message. If you see the success message you are all set and navigating to your domains via HTTPS should display the secure icon. If you see an error message, adjust your domain and configure accordingly, re-upgrade the deployment and reperform the certification.