ECS Quickstart

ECS Quickstart

Kadeck is available as a containerized application via AWS Marketplace. This guide provides instructions for deploying Kadeck using Amazon ECS (Elastic Container Service).

Deployment of Kadeck (Starter S1) on Amazon ECS

Prerequisites

  • An active AWS account
  • Your Kadeck license credentials (provided after purchase)
  • A PostgreSQL database (can be created using Amazon RDS)
  • Basic familiarity with AWS ECS

Step 1: Set Up a PostgreSQL Database (If Not Already Available)

  1. Navigate to Amazon RDS in the AWS Console
  2. Choose "Create database"
  3. Select "PostgreSQL" as the engine type
  4. Configure database settings as needed for your environment
  5. Note the endpoint URL, username, and password for the next step

Step 2: Create an ECS Task Definition

  1. Navigate to Amazon ECS in the AWS Console
  2. Select "Task Definitions" → "Create new Task Definition"
  3. Choose "Fargate" as the launch type
  4. Copy and paste the below task definition (adjust values as needed):
{
  "family": "kadeck",
  "executionRoleArn": "arn:aws:iam::ACCOUNT_ID:role/ecsTaskExecutionRole",
  "networkMode": "awsvpc",
  "containerDefinitions": [
    {
      "name": "kadeck",
      "image": "709825985650.dkr.ecr.us-east-1.amazonaws.com/xeotek/kadeck:${IMAGE_TAG}",
      "essential": true,
      "portMappings": [
        {
          "containerPort": 8080,
          "hostPort": 8080,
          "protocol": "tcp"
        }
      ],
      "environment": [
        {
          "name": "xeotek_kadeck_teamid",
          "value": "YOUR_TEAM_ID"
        },
        {
          "name": "xeotek_kadeck_secret",
          "value": "YOUR_SECRET"
        },
        {
          "name": "xeotek_kadeck_port",
          "value": "8080"
        },
        {
          "name": "DB_URL",
          "value": "jdbc:postgresql://your-db-instance.region.rds.amazonaws.com:5432/kadeck"
        },
        {
          "name": "DB_USERNAME",
          "value": "dbuser"
        },
        {
          "name": "DB_PASSWORD",
          "value": "dbpassword"
        }
      ],
      "logConfiguration": {
        "logDriver": "awslogs",
        "options": {
          "awslogs-group": "/ecs/kadeck",
          "awslogs-region": "us-east-1",
          "awslogs-stream-prefix": "ecs"
        }
      }
    }
  ],
  "requiresCompatibilities": [
    "FARGATE"
  ],
  "cpu": "2048",
  "memory": "4096",
  "tags": [
    {
      "key": "Name",
      "value": "Kadeck"
    }
  ]
}
  1. Be sure to replace:
    • ACCOUNT_ID with your AWS account ID
    • IMAGE_TAG with the version of Kadeck you wish to deploy (e.g., "6.1.0")
    • YOUR_TEAM_ID with your Kadeck Team ID
    • YOUR_SECRET with your Kadeck Secret
    • Database connection parameters with your actual database information
    • Region in awslogs-region with your AWS region

Step 3: Create an ECS Cluster (If Not Already Available)

  1. In the ECS console, select "Clusters" → "Create Cluster"
  2. Choose "Networking only" (for Fargate) and follow the setup wizard

Step 4: Create an ECS Service

  1. In your cluster, select "Create Service"
  2. Configure the service:
    • Launch type: FARGATE
    • Task Definition: Select the Kadeck task definition you created
    • Service name: kadeck-service
    • Number of tasks: 1
  3. Configure networking:
    • VPC: Select your VPC
    • Subnets: Select at least one subnet
    • Security group: Create or select a security group that allows inbound traffic on port 8080
    • Public IP: Enable if you need direct public access
  4. Skip load balancer setup for this minimal configuration
  5. Complete the service creation

Step 5: Access Kadeck

  • If you configured a public IP, access Kadeck at: http://[TASK_PUBLIC_IP]:8080
  • For internal access, use the private IP of the task

Required Configuration Parameters

Parameter Description Required
xeotek_kadeck_teamid Your unique team identifier Yes
xeotek_kadeck_secret Your authentication secret Yes
xeotek_kadeck_port Application port (recommend 8080) Yes
DB_URL JDBC URL to PostgreSQL database Yes
DB_USERNAME Database username Yes
DB_PASSWORD Database password Yes

Resource Requirements

  • CPU: 2 vCPU (2048 CPU units)
  • Memory: 4GB (4096 MB)

Troubleshooting

  • If the container fails to start, check CloudWatch logs at /ecs/kadeck
  • Ensure your security group allows traffic on port 8080
  • Verify database connectivity and credentials

Support

For technical assistance, contact our support team.


    • Related Articles

    • Deploy Kadeck using Amazon Elastic Container Service (ECS)

      This article describes how to set up a container running Kadeck Teams Enterprise using Amazon Elastic Container Service (ECS). Please log into your AWS console. A user with permissions to create containers in Amazon ECS is required. 1. Create a task ...
    • Connect to Amazon MSK

      This article describes how to connect Kadeck Teams and Kadeck Desktop to Amazon MSK. Important note: Connecting to Amazon MSK with Kadeck Teams is straight forward if Kadeck Teams is deployed inside the same VPC (e.g., as EC2 or ECS instance). Learn ...
    • Connect to Kinesis

      In this article, you will learn how to configure Amazon Web Services (AWS) and how to establish a connection from Kadeck to Amazon Kinesis. The article consists of two sections that build on each other: Create a user in Amazon Kinesis Add a ...
    • Custom Codec Maven Quickstart Project

      This article will guide you through building a custom codec by using the custom codec project and using it in Kadeck. In the end, you will have a new codec option in your "Codecs" dialog in the data browser of Kadeck. Introduction To make it easy to ...