Skip to main content

Create Deployment

This guide walks you through creating an EZ-CDC deployment in your AWS account.

Prerequisites

Before creating a deployment, ensure you have:

Create a Deployment

Step 1: Start Deployment Wizard

  1. Log in to the EZ-CDC Portal
  2. Navigate to DeploymentsNew Deployment

Step 2: Basic Configuration

Enter the basic deployment settings:

FieldDescriptionExample
NameUnique identifier for this deploymentproduction
DescriptionOptional descriptionProduction CDC workers
AWS RegionRegion for worker instancesus-west-2

Step 3: IAM Configuration

  1. Paste the IAM Role ARN from the CloudFormation stack output:

    arn:aws:iam::123456789012:role/ez-cdc-deployment-role
  2. Click Validate Role to verify permissions

Step 4: Network Configuration

Select your VPC and subnets:

FieldDescription
VPCThe VPC where workers will run
SubnetsPrivate subnets for worker instances (multi-AZ recommended)
tip

Select subnets in multiple Availability Zones for high availability.

Step 5: Connectivity Mode

Choose how workers connect to the control plane:

Standard (Internet)

Workers connect via public internet using HTTPS/gRPC:

Worker → NAT Gateway → Internet → Control Plane
  • ✅ Simpler setup
  • ✅ No additional AWS resources
  • ⚠️ Traffic traverses internet (encrypted)

Workers connect via AWS PrivateLink:

Worker → VPC Endpoint → PrivateLink → Control Plane
  • ✅ No internet exposure
  • ✅ Private IP connectivity
  • ⚠️ Additional setup required
  • ⚠️ PrivateLink costs apply

See PrivateLink Setup for details.

Step 6: Worker Configuration

Configure the worker instances:

FieldDefaultDescription
Instance Typet3.mediumEC2 instance type
Min Instances1Minimum workers (ASG)
Max Instances3Maximum workers (ASG)
Volume Size20 GBEBS volume size

Step 7: Create

  1. Review your configuration
  2. Click Create Deployment

EZ-CDC will provision the infrastructure:

Creating deployment...
├─ Creating security group ✓
├─ Creating IAM instance profile ✓
├─ Creating launch template ✓
├─ Creating Auto Scaling Group ✓
└─ Waiting for workers ⏳

This typically takes 2-3 minutes.

Verify Deployment

In the Portal

Once complete, you'll see:

Deployment: production
Status: ● Active
Region: us-west-2
Workers: 1/1 healthy
Connectivity: Standard

In AWS Console

Verify the created resources:

EC2 → Instances:

Name: ez-cdc-production-worker
Instance ID: i-0abc123def456
State: running

EC2 → Auto Scaling Groups:

Name: ez-cdc-production-asg
Desired: 1
Running: 1

EC2 → Security Groups:

Name: ez-cdc-production-worker-sg
Inbound: (none)
Outbound: 443, 5432, 8040, 9030

Worker Lifecycle

Workers go through these states:

Provisioning → Registering → Active → (Running Jobs)
│ │ │
│ │ └── Healthy, accepting jobs
│ │
│ └── Connecting to control plane

└── EC2 instance launching

Health Checks

Workers report health every 30 seconds:

MetricDescription
CPUCurrent CPU utilization
MemoryCurrent memory usage
DiskAvailable disk space
JobsNumber of running jobs

Scaling

Manual Scaling

Adjust worker count in the portal:

  1. Go to Deployments → your deployment
  2. Click SettingsScaling
  3. Update Min and Max instances
  4. Click Save

Auto Scaling (Coming Soon)

Automatic scaling based on job queue depth and resource utilization.

Updating a Deployment

Update Configuration

Some settings can be updated without recreating:

  • Instance type (requires instance refresh)
  • Min/Max instances
  • Volume size (new instances only)

Update Workers

To update worker binaries:

  1. Go to Deployments → your deployment
  2. Click SettingsMaintenance
  3. Click Upgrade Workers

Workers are upgraded one at a time (rolling update).

Delete a Deployment

danger

Deleting a deployment will:

  • Stop all running jobs
  • Terminate all worker instances
  • Delete associated AWS resources

To delete:

  1. Go to Deployments → your deployment
  2. Stop all running jobs first
  3. Click SettingsDanger Zone
  4. Click Delete Deployment
  5. Confirm by typing the deployment name

Troubleshooting

Workers not becoming healthy

  1. Check worker logs in CloudWatch: /ez-cdc/workers/{instance-id}
  2. Verify security group allows outbound 443
  3. Check NAT Gateway is functioning
  4. Verify IAM instance profile has S3 access

Deployment stuck in "Provisioning"

  1. Check CloudFormation events for errors
  2. Verify IAM role permissions
  3. Check VPC has available IP addresses

Workers terminated unexpectedly

  1. Check EC2 instance state reason
  2. Review Auto Scaling activity history
  3. Check for Spot instance interruptions (if using Spot)

Next Steps

With your deployment created:

  1. Add PostgreSQL Source
  2. Add StarRocks Sink
  3. Create Your First Job