AWS VM Setup

How to set up Wallaroo Community Edition in an AWS EC2 VM

This guide is targeted towards system administrators and data scientists who want to work with the easiest, fastest, and free method of running your own machine learning models.

A typical installation of Wallaroo Community Edition follows this process:

StepDescription   Average Setup Time   
Download LicenseDownload or redownload the Wallaroo Community Edition license.5 minutes
Set Up EnvironmentSet up the cloud environment hosting the Wallaroo instance.15 minutes
Install WallarooInstall Wallaroo into a prepared environment15-20 minutes

Download License

The first step to installing Wallaroo CE is to set up your Wallaroo Community Edition Account at the web site https://portal.wallaroo.community. This process typically takes about 5 minutes.

Registration Portal

Once you’ve submitted your credentials, you’ll be sent an email with a link to your license file.

Invitation Email

Follow the link and download your license file. Store it in a secure location.

Download license

Redownload License

If your license is misplaced or otherwise lost, it can be downloaded again later from the same link, or by following the registration steps again to be provided with a link to your license file.

Wallaroo Community Edition AWS EC2 Setup Instructions

The following instructions are made to assist users set up their Amazon Web Services (AWS) environment for running Wallaroo using AWS virtual servers with EC2. This allows organizations to stand a single virtual machine and used a pre-made Amazon Machine Images (AMIs) to quickly stand up an environment that can be used to install Wallaroo.

Steps

To install Wallaroo in your AWS environment based on these instructions, the following prerequisites must be met:

  • Register an AWS account: https://aws.amazon.com/ and assign the proper permissions according to your organization’s needs. This must be a paid AWS account - Wallaroo will not operate on the free tier level of virtual machines.

Create the EC2 VM

To create your Wallaroo instance using a pre-made AMI:

  1. Log into AWS cloud console.

  2. Set the region to N. Virginia. Other regions will be added over time.

    Set the region
  3. Select Services -> EC2.

    Select EC2
  4. Select Instances, then from the upper right hand section Launch Instances->Launch Instances.

    Select Launch Instances
  5. Set the Name and any additional tags.

  6. In Application and OS Images, enter Wallaroo Install and press Enter.

  7. From the search results, select Community AMIs and select Wallaroo Installer 3a.

    Select AMI
  8. Set the Instance Type as c6i.8xlarge or c6a.8xlarge as the minimum machine type. This provides 32 cores with 60 GB memory.

    Select Instance Type
  9. For Key pair (login) select one of the following:

    Select or Create Key Pair
    1. Select an existing Key pair name
    2. Select Create new key pair and set the following:
      1. Name: The name of the new key pair.
      2. Key pair type: Select either RSA or ED25519.
      3. Private key file format: Select either .pem or .ppk. These instructions are based on the .pem file.
      4. Select Create key pair when complete.
  10. Set the following for Network settings:

    Set Network
    1. Firewall: Select Create security group or select from an existing one that best fits your organization.
    2. Allow SSH traffic from: Set to Enabled and Anywhere 0.0.0.0/0.
    3. Allow HTTPs traffic from the internet: Set to Enabled.
  11. Set the following for Configure Storage:

    1. Set Root volume to at least 400 GiB, type standard.
  12. Review the Summary and verify the following:

    1. Number of instances: 1
    2. Virtual server type: Matches the minimum requirement listed above.
    3. Verify the other settings are accurate.
  13. Select Launch Instance.

It is recommended to give the instance time to complete its setup process. This typically takes 20 minutes.

Verify the Setup

To verify the environment is setup for Wallaroo:

  1. From the EC2 Dashboard, select the virtual machine created for your Wallaroo instance.

  2. Note the Public IPv4 DNS address.

    Instance Public DNS
  3. From a terminal, run ssh to connect to your virtual machine. The installation requires access to port 8800 and the private key selected or created in the instructions above.

    The ssh command format for connecting to your virtual machine uses the following format, replacing the $keyfile, $VM_DNS with your private key file and the DNS address to your Amazon VM:

    ssh -i "$keyfile" ubuntu@$VM_DNS -L8800:localhost:8800
    

    For example, a $keyfile of Doc Sample Key.pem and $VM_DNS of ec2-54-160-227-100.compute-1.amazonaws.com would be as follows:

    ssh -i "Doc Sample Key.pem" ubuntu@ec2-54-160-227-100.compute-1.amazonaws.com -L8800:localhost:8800
    
  4. If the Kubernetes setup is still installing, wait until complete and when prompted select EXIT to complete the process. This process may take up to 20 to 30 minutes.

    Complete Kubernetes Install

Cost Saving Tips

The following tips can be used to save costs on your AWS EC2 instance.

Stop Instances When Not In Use

One cost saving measure is to stop instances when not in use. If you intend to stop an instance, register it with static IP address so when it is turned back on your services will continue to function without interruption.

Stop instance.

Reference: How do I associate a static public IP address with my EC2 Windows or Linux instance?.

Troubleshooting

  • I keep seeing the errors such as connect failed. Is this a problem?
    • Sometimes you may see an error such as channel 3: open failed: connect failed: Connection refused. This is the ssh port forwarding attempting to connect to port 8800 during the installation, and can be ignored.
  • When Launching JupyterHub, I get a Server 500 error.
    • If you shut down and restart a Wallaroo instance in a new environment or change the IP address, some settings may not be updated. Run the following command to restart the deployment process and update the settings to match the current environment:

      kubectl rollout restart deployment hub
      

Install Wallaroo Community

Wallaroo Community Edition can be installed into a Kubernetes cloud environment, or into a Kubernetes environment that meets the Wallaroo Prerequisites Guide. Organizations that use the Wallaroo Community Edition AWS EC2 Setup procedure do not have to set up a Kubernetes environment, as it is already configured for them.

If the prerequisites are already configured, jump to Install Wallaroo to start installing.

This video demonstrates that procedure:

The procedure assumes at least a basic knowledge of Kubernetes and how to use the kubectl and kots version 1.91.3 applications.

Prerequisites

Local Software Requirements

Before starting, verify that all local system requirements are complete as detailed in the Wallaroo Community Edition Local System Prerequisites guide:

  • kubectl: This interfaces with the Kubernetes server created in the Wallaroo environment.

    • For Kots based installs:
      • kots Version 1.107.2
    • Cloud Kubernetes environment has been prepared.
    • You have downloaded your Wallaroo Community Edition License file.

    Kubectl and Kots Installation

    The following software is required as part of the installation process.

    • kubectl: This interfaces with the Kubernetes server created in the Wallaroo environment.
    • kots Version: Used to manage software installed in a Kubernetes environment.

    To install kubectl, see the kubectl Install Tools instructions.

    Install kots with the following process. This assumes using an operating system like macOS or Linux; for other operating systems, see the kots documentation.

    1. Run the following script and provide your password for the sudo based commands when prompted.

      curl https://kots.io/install/1.107.2 | REPL_USE_SUDO=y bash
      
    2. Verify kots was installed with the following command:

      kubectl kots version
      

      It should return results similar to the following:

      Replicated KOTS 1.107.2
      

    For instructions on updating the kots version for the Wallaroo Community Edition installation, see Updating KOTS.

    Kubectl and Kots Installation

    The following software is required as part of the installation process.

    • kubectl: This interfaces with the Kubernetes server created in the Wallaroo environment.
    • kots Version: Used to manage software installed in a Kubernetes environment.

    To install kubectl, see the kubectl Install Tools instructions.

    Install kots with the following process. This assumes using an operating system like macOS or Linux; for other operating systems, see the kots documentation.

    1. Run the following script and provide your password for the sudo based commands when prompted.

      curl https://kots.io/install/1.107.2 | REPL_USE_SUDO=y bash
      
    2. Verify kots was installed with the following command:

      kubectl kots version
      

      It should return results similar to the following:

      Replicated KOTS 1.107.2
      

    For instructions on updating the kots version for the Wallaroo Community Edition installation, see Updating KOTS.

    Install Wallaroo

    The environment is ready, the tools are installed - let’s install Wallaroo! The following will use kubectl and kots through the following procedure:

    1. Install the Wallaroo Community Edition using kots install wallaroo/ce, specifying the namespace to install. For example, if wallaroo is the namespace, then the command is:

      kubectl kots install wallaroo/ce --namespace wallaroo
      
    2. Wallaroo Community Edition will be downloaded and installed into your Kubernetes environment in the namespace specified. When prompted, set the default password for the Wallaroo environment. When complete, Wallaroo Community Edition will display the URL for the Admin Console, and how to end the Admin Console from running.

      • Deploying Admin Console
      • Creating namespace ✓
      • Waiting for datastore to be ready ✓
          Enter a new password to be used for the Admin Console: •••••••••••••
        • Waiting for Admin Console to be ready ✓
      
      • Press Ctrl+C to exit
      • Go to http://localhost:8800 to access the Admin Console
      

    Wallaroo Community Edition will continue to run until terminated. To relaunch in the future, use the following command:

    kubectl kots admin-console --namespace wallaroo
    

    Initial Configuration and License Upload Procedure

    Once Wallaroo Community Edition has been installed for the first time, we can perform initial configuration and load our Wallaroo Community Edition license file through the following process:

    1. If Wallaroo Community Edition has not started, launch it with the following command:

      ❯ kubectl kots admin-console --namespace wallaroo
        • Press Ctrl+C to exit
        • Go to http://localhost:8800 to access the Admin Console
      
    2. Enter the Wallaroo Community Edition Admin Console address into a browser. You will be prompted for the default password as set in the step above. Enter it and select Log in.

      Wallaroo Admin Console Initial Login
    3. Upload your license file.

      Wallaroo Admin Upload License
    4. The Configure Wallaroo Community page will be displayed which allows you to customize your Wallaroo environment. For now, scroll to the bottom and select Continue. These settings can be customized at a later date.

    5. The Wallaroo Community Edition Admin Console will run the preflight checks to verify that all of the minimum requirements are met. This may take a few minutes. If there are any issues, Wallaroo can still be launched but may not function properly. When ready, select Continue.

      Wallaroo Admin Preflight Successful
    6. The Wallaroo Community Edition Dashboard will be displayed. There may be additional background processes that are completing their setup procedures, so there may be a few minute wait until those are complete. If everything is ready, then the Wallaroo Dashboard will show a green Ready.

      Wallaroo Admin Admin Ready
    7. You will receive an email invitation for the email address connected to this URL with a temporary password and a link to this Wallaroo instance’s URL. Either enter the URL for your Wallaroo instance or use the link in the email.

    8. To login to your new Wallaroo instance, enter the email address and temporary password associated with the license.

      Wallaroo Initial Login

    With that, Wallaroo Community Edition is launched and ready for use! You can end the Admin Console from your terminal session above. From this point on you can just use the Wallaroo instance URL.

    Now that your Wallaroo Community Edition has been installed, let’s work with some sample models to show off what you can do. Check out either the Wallaroo 101 if this is your first time using Wallaroo, or for more examples of how to use Wallaroo see the Wallaroo Tutorials.

    Troubleshooting