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
- Log in to the EZ-CDC Portal
- Navigate to Deployments → New Deployment
Step 2: Basic Configuration
Enter the basic deployment settings:
| Field | Description | Example |
|---|---|---|
| Name | Unique identifier for this deployment | production |
| Description | Optional description | Production CDC workers |
| AWS Region | Region for worker instances | us-west-2 |
Step 3: IAM Configuration
-
Paste the IAM Role ARN from the CloudFormation stack output:
arn:aws:iam::123456789012:role/ez-cdc-deployment-role -
Click Validate Role to verify permissions
Step 4: Network Configuration
Select your VPC and subnets:
| Field | Description |
|---|---|
| VPC | The VPC where workers will run |
| Subnets | Private subnets for worker instances (multi-AZ recommended) |
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)
PrivateLink (Enterprise)
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:
| Field | Default | Description |
|---|---|---|
| Instance Type | t3.medium | EC2 instance type |
| Min Instances | 1 | Minimum workers (ASG) |
| Max Instances | 3 | Maximum workers (ASG) |
| Volume Size | 20 GB | EBS volume size |
Step 7: Create
- Review your configuration
- 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:
| Metric | Description |
|---|---|
| CPU | Current CPU utilization |
| Memory | Current memory usage |
| Disk | Available disk space |
| Jobs | Number of running jobs |
Scaling
Manual Scaling
Adjust worker count in the portal:
- Go to Deployments → your deployment
- Click Settings → Scaling
- Update Min and Max instances
- 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:
- Go to Deployments → your deployment
- Click Settings → Maintenance
- Click Upgrade Workers
Workers are upgraded one at a time (rolling update).
Delete a Deployment
Deleting a deployment will:
- Stop all running jobs
- Terminate all worker instances
- Delete associated AWS resources
To delete:
- Go to Deployments → your deployment
- Stop all running jobs first
- Click Settings → Danger Zone
- Click Delete Deployment
- Confirm by typing the deployment name
Troubleshooting
Workers not becoming healthy
- Check worker logs in CloudWatch:
/ez-cdc/workers/{instance-id} - Verify security group allows outbound 443
- Check NAT Gateway is functioning
- Verify IAM instance profile has S3 access
Deployment stuck in "Provisioning"
- Check CloudFormation events for errors
- Verify IAM role permissions
- Check VPC has available IP addresses
Workers terminated unexpectedly
- Check EC2 instance state reason
- Review Auto Scaling activity history
- Check for Spot instance interruptions (if using Spot)
Next Steps
With your deployment created: