Deploying from AWS Marketplace

TabMove Lite will be made available on the AWS Marketplace in the future.

These current instructions relate to TabMove Lite with a BYOL subscription model. Future versions may be made updated to process the payment directly through AWS Marketplace and include the license in the deliverable.

Deploying TabMove Lite from the AWS Marketplace can be done through the following steps, explained in detail below:

1. Review Requirements and Eligibility

Before anything else, it is recommended to review both the requirements and eligibility criteria for the user of TabMove Lite:

2. Purchase TabMove Lite from the AWS Marketplace

  • Ensure you are signed in to AWS in your browser.

  • Find TabMove Lite on the AWS Marketplace.

  • Subscribe to the offering.

  • Once you’re subscribed, continue to the configuration step of the process. Select the following options:

    • Fulfilment option: Container

    • Software version: latest

  • Proceed to the launch step. There are two possible options going forward:

    • 3a: Launch and use TabMove Lite directly with Docker, locally or where you already deploy Docker containers.

    • 3b: Launch and use TabMove Lite on AWS ECS.

3a. Launch and Use TabMove Lite Directly with Docker

Using a container purchased from the AWS Marketplace involves using the AWS CLI to first authenticate to the container registry, and then obtain the image for running it locally.

  1. Ensure you have the AWS CLI installed:
    Installing or updating to the latest version of the AWS CLI - AWS Command Line Interface

  2. Test the authentication of the AWS CLI to your AWS environment in which the container was purchased.

    1. Consult these instructions for the general approach.

    2. Work with your AWS admin(s) in case you need any help determining the correct authentication method, or if you need help setting it up.

  3. Authenticate to the AWS ECR private registry that contains the container that you just purchased.

    1. These are the general instructions on how authentication works:
      Private registry authentication in Amazon ECR - Amazon ECR

    2. Find the Docker command specific to the TabMove Lite Marketplace ECR registry, for pulling the relevant image(s). It will be displayed on the launch page of your product subscription/fulfilment in the AWS Marketplace. It will look like this:

      aws ecr get-login-password \ --region us-east-1 | docker login \ --username AWS \ --password-stdin 709825985650.dkr.ecr.us-east-1.amazonaws.com CONTAINER_IMAGES="709825985650.dkr.ecr.us-east-1.amazonaws.com/cronos-scale/biztory/tabmove:tabmove-lite" for i in $(echo $CONTAINER_IMAGES | sed "s/,/ /g"); do docker pull $i; done


      Depending on how you configured the AWS CLI during the authentication step, if you’ve used profiles, you may have to specify that profile in the command. That would involve a single change on the second line, like this:

      aws ecr get-login-password \ --region us-east-1 --profile <your_profile_name> | docker login \ --username AWS \ --password-stdin 709825985650.dkr.ecr.us-east-1.amazonaws.com CONTAINER_IMAGES="709825985650.dkr.ecr.us-east-1.amazonaws.com/cronos-scale/biztory/tabmove:tabmove-lite" for i in $(echo $CONTAINER_IMAGES | sed "s/,/ /g"); do docker pull $i; done

       

    3. Use that command to pull the container.

    4. Get the Docker compose file that can be used to launch the container with the right configuration and environment variables: docker-compose.yml

    5. Launch the container with the following command in the directory where docker-compose.yml was saved: docker compose up.

    6. Access TabMove Lite in your browser on http://localhost:8080.

That’s it! You’re ready to start your Tableau migration.

3b. Launch and Use TabMove Lite on AWS ECS

These steps are independent of the those described in section 3a (Launch and Use TabMove Lite Directly with Docker). The steps in section 3a do not apply when deploying TabMove Lite on AWS ECS.

3b1. Set up an ECS Cluster

  • Sign in to the AWS Console, in the adequate region.

  • Access the service “Elastic Container Service”.

  • Create a Cluster. Configure this as you see fit; the options and configuration are just suggestions:

    • Cluster name: biztory-tabmove

    • Infrastructure: AWS Fargate (serverless)

    • All other options can usually be left as default.

3b2. Set up a Task Definition

  • Still in the “Elastic Container Service”.

  • Create a new Task Definition. Configure this as you see fit; the options and configuration are just suggestions:

    • Task definition family: biztory-tabmove

    • Launch type: AWS Fargate

    • OS/Architecture: Linux/X86_64
      This setting is mandatory and cannot be changed; it is required for TabMove to work.

    • Network mode: awsvpc

    • Task Size: 8vCPU and 16 GB memory.
      This setting is recommended and should probably not be changed for TabMove to work properly.

  • As part of that task definition, specify the details for Container - 1:

    • Name: biztory-tabmove-lite

    • Image URI: same as obtained during the fulfilment step; currently: 709825985650.dkr.ecr.us-east-1.amazonaws.com/cronos-scale/biztory/tabmove:tabmove-lite

    • Port mappings:

      • Container port: 8501

      • Protocol: TCP

      • Port name: http

      • App protocol: HTTP2

    • Environment variables: add from file, using the following location: arn:aws:s3:::biztory-public-assets/tabmove/tabmove_lite_ecs.env
      This setting is mandatory and cannot be changed; it is required for TabMove to work.

    • All other settings for this Task and Container are optional or default.

3b3. Set up as a Service

  • Still in the “Elastic Container Service”, in the overview for Task definitions.

  • Select the Task that was just created, select “Deploy”, and then select “Create Service”. (Do not deploy this as a Task).

  • Almost all options are default, remembering:

    • To select the existing cluster we created in step 3b1.

    • To select the latest version of the task family we created.

    • Service name: biztory-tabmove-lite

    • To enable adding a public IP for the service.

    • As an alternative for a public IP, you could opt for an application load balancer if you that service is available to you.

3b4. Configure Network to Allow Incoming Traffic

  • Still in the “Elastic Container Service”, find the newly created service biztory-tabmove-lite in the ECS Cluster biztory-tabmove. Open its details page.

  • Select the task representing the container we spun up:

    CleanShot 2024-10-21 at 17.15.45-20241021-151613.png


    The task should have an auto-generated unique ID, which can be found on the Tasks tab for the cluster.

  • Drill down into the actual task by selecting it again until you land on a screen listing the Task Overview, Configuration, Logs, etc.

    CleanShot 2024-10-21 at 17.17.26-20241021-151733.png

     

  • In that screen, select the Networking tab and edit the automatically created Security Group for the task:

     

  • Add an acceptable inbound rule to allow you to reach the instance’s public IP address.

    • Type: Custom TCP

    • Port range: 8501

    • Source: My IP or whichever is suitable for the use in your organization.

  • Save the newly added network rule(s).

3b5. Access the Application

  • Head back to the previous screen that showcased the Networking settings for the task instance we had configured.

  • It should list the public IP of the container:

  • Copy the public IP, and append port number 8501 to obtain the full application URL. In our example: http://35.159.117.126:8501

  • Access the application in your browser. You may skip the warning about the connection being insecure if you have not set up an application load balancer.

That’s it! You’re ready to start your Tableau migration.

TabMove is a product developed by Biztory.