Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

Table of Contents
excludeclass
maxLevel2
minLevel1maxLevel2
include
outlinefalse
indent
exclude
styledefault
typelist
printabletrue
class

1. Review Requirements and Eligibility

...

  1. Ensure you have the AWS CLI installed:
    https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html

  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:
      https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry_auth.html

    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:

      Code Block
      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:

      Code Block
      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: https://drive.google.com/file/d/1wlmF4pwC2kNi4WCwpHXtia2eYAtS_b9e/view?usp=sharing

    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

Info

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.

Note

These steps are a generic description of the actions to be taken to run TabMove Lite on AWS ECS after having purchased it from the AWS Marketplace in steps 1 and 2. If you already have AWS ECS infrastructure in place (e.g. an ECS Cluster), you may prefer using that as opposed to setting up a new one just for this purpose.

In that context, these steps and decisions can be reviewed and performed with the AWS admin(s) in your organization.

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.pngImage Added


    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.pngImage Added

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

    CleanShot 2024-10-21 at 17.18.54-20241021-151910.pngImage Added

  • 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:

    CleanShot 2024-10-21 at 17.23.53-20241021-152403.pngImage Added

  • 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.