Deploy on AWS Marketplace¶
Overview¶
The Decision Control Sandbox provides a rapid way to test and evaluate Decision Control in your AWS environment with auto-login enabled for ease of use.
Before You Start¶
You'll need:
-
Your public IP address
Run:Note the result. You'll use it as
YOUR_IP/32(example:203.0.113.45/32) -
AWS Account with an active AWS Marketplace subscription
-
EC2 Key Pair in your target region (for SSH access)
-
VPC with a public subnet (the subnet must have an internet gateway route)
Security Model¶
Decision Control Sandbox uses auto-login for fast evaluation. There is no login screen.
Security is enforced at the network layer. The CloudFormation template creates a Security Group that restricts access to the IP range you specify. Only traffic from your allowed CIDR can reach the application.
This means:
- You must restrict access to your IP or corporate network
- You should not use
0.0.0.0/0(this would expose the application to the public internet with no authentication) exposing what your sandbox has published to it. Using AWS Security Groups allows the restriction of the instance to be tied to an individual or corporate network
When properly configured with IP restriction, this is equivalent to VPN-level access control.
Deployment Steps¶
Step 1: Subscribe on AWS Marketplace¶
- Go to AWS Marketplace
- Click Continue to Subscribe
- Accept terms and wait 1 to 2 minutes for processing
- Click Continue to Configuration
- Select your AWS region
- Click Continue to Launch
- Under "Choose Action", select Launch CloudFormation
- Click Launch
Step 2: Configure CloudFormation Parameters¶
Stack name: Choose something descriptive (example: decision-control-sandbox)
Instance Configuration:
| Parameter | Value |
|---|---|
| InstanceType | t3.large (recommended) or t3.medium for lighter workloads |
| KeyName | Select your existing EC2 key pair |
| AmiId | Leave empty (uses Marketplace AMI) |
Network Configuration:
| Parameter | Value |
|---|---|
| VpcId | Select your VPC |
| SubnetId | Select a public subnet |
| AllowedCidr | Your IP with /32 suffix (example: 203.0.113.45/32) |
Domain Configuration:
| Parameter | Value |
|---|---|
| CustomDomain | Leave empty |
| HostedZoneName | Leave empty |
Custom domain configuration is supported in the Sandbox edition, and can be used
Step 3: Launch the Stack¶
- Click Next (Stack options page, no changes needed)
- Click Next (Review page)
- Check the acknowledgment box for IAM resource creation
- Click Submit
Step 4: Wait for Completion¶
Monitor the Events tab. The stack typically completes in 3 to 5 minutes.
When you see CREATE_COMPLETE, proceed to the next step.
Step 5: Access the Application¶
- Click on your stack name
- Go to the Outputs tab
- Find the ApplicationUrl output
- Click the URL or copy it to your browser
Application will be available at:
- IP-Restricted (No Custom Domain):
http://ec2-XX-XX-XX-XX.compute-1.amazonaws.com(the public DNS address using HTTP) - Custom Domain (No SSL):
http://your-domain.example.com(HTTP protocol) - Custom Domain (With SSL):
https://your-domain.example.com(HTTPS protocol, after manual SSL setup)
The application takes 2 to 3 minutes to fully start after stack creation. If you see a connection error, wait and refresh.
You're in. No login required. Start creating DMN models and publish to consume easily!
Outputs Reference¶
After deployment, the Outputs tab provides:
| Output | Description |
|---|---|
| ApplicationUrl | Web interface URL |
| PublicIp | EC2 instance public IP |
| SSHCommand | Pre-formatted SSH command for terminal access |
| InstanceId | EC2 instance ID |
Retrieving Credentials¶
Credentials are generated during deployment and stored on the instance. You may need them for API access.
Via SSH:
Via AWS Systems Manager (no SSH key required):
Common Configurations¶
Single User (Recommended for POC)¶
Restricts access to your current IP address only.
Team Access (Corporate Network)¶
Allows access from your corporate network range. Adjust the CIDR to match your network.
Adding Additional IPs After Deployment¶
If you need to grant access to additional users:
# Get the Security Group ID from CloudFormation Resources tab
aws ec2 authorize-security-group-ingress \
--group-id sg-XXXXX \
--protocol tcp \
--port 80 \
--cidr ADDITIONAL_IP/32 \
--region us-east-1
Domain and SSL Options¶
Three Supported Options¶
Option 1: IP-Restricted HTTP (Default URL)¶
Application will be available at: http://ec2-XX-XX-XX-XX.compute-1.amazonaws.com
(The public DNS address assigned to your EC2 instance, accessible via HTTP protocol)
Best For: Quick POCs, testing, demos via screen share
Option 2: IP-Restricted HTTP (Custom Domain)¶
Application will be available at: http://demo.example.com
(Your custom domain, accessible via HTTP protocol)
Best For: Easier-to-remember URLs, still IP-restricted and secure
Option 3: IP-Restricted HTTPS (Two-Step SSL Setup)¶
This is the SAFE way to add SSL to your sandbox deployment.
Step 1: Deploy with IP restriction + custom domain
Step 2: Manually add SSL when ready
-
Get your security group ID from CloudFormation Resources tab
-
Temporarily open port 80 for Let's Encrypt validation (2-3 minutes):
-
Run SSL setup on the instance:
-
IMMEDIATELY close port 80 after SSL completes:
Application will be available at: https://demo.example.com
(Your custom domain, accessible via HTTPS protocol with SSL certificate)
Why This IS Safe:
- You control exactly when port 80 is open (2-3 minutes)
- You're watching it happen
- You close it immediately after SSL completes
- Minimal risk window
What's NOT Supported¶
Automatic SSL during stack creation (AllowedCidr=0.0.0.0/0 in template)
This is NOT safe because:
- Port 80 would be open to the world during stack creation
- Application is accessible without authentication
- 5-10 minute window where anyone can access
- High security risk
Troubleshooting¶
Cannot connect to application¶
- Wait for startup: The application needs 2 to 3 minutes after stack creation
- Check your IP: Run
curl https://checkip.amazonaws.comand compare with your AllowedCidr - Verify subnet is public: The subnet must have a route to an internet gateway
IP address changed¶
If your IP changed, update the Security Group:
# Remove old rule
aws ec2 revoke-security-group-ingress \
--group-id sg-XXXXX \
--protocol tcp \
--port 80 \
--cidr OLD_IP/32 \
--region us-east-1
# Add new rule
aws ec2 authorize-security-group-ingress \
--group-id sg-XXXXX \
--protocol tcp \
--port 80 \
--cidr NEW_IP/32 \
--region us-east-1
Cannot SSH to instance¶
- Check key permissions:
chmod 400 ~/.ssh/your-key.pem - Verify AllowedCidr includes your IP (SSH uses port 22, which is also restricted)
- Alternative: Use AWS Systems Manager Session Manager instead
Application shows errors¶
Check application logs:
Restart the application:
Stack creation failed¶
Check the Events tab for the specific error. Common causes:
- Subnet not public: Use a subnet with an internet gateway route
- Invalid CIDR format: Must include the prefix (example:
203.0.113.45/32, not just the IP) - Key pair not found: Create or select an existing EC2 key pair in your region
Cleanup¶
When you're finished testing, delete the stack to stop charges.
Via Console:
- Go to CloudFormation
- Select your stack
- Click Delete
- Confirm
Via CLI:
Deletion removes the EC2 instance, Security Group, and IAM resources. Your VPC, subnets, and key pairs are not affected.
Important: Any data on the instance will be lost. Export your DMN models before deleting if you want to keep them. This can be done by synchronizing with your Git repository since Decision Control can use your Git token to synchronize with your repository or with downloading the respective resources from the Authoring perspective.
Cost Reference¶
Sandbox billing is hourly. You pay only while the instance is running.
To minimize cost: Delete the stack when not in use. Redeployment takes only 5 minutes. Just note that the models that are deployed will need to be redeployed since the persistence in Decision Control Sandbox is ephemeral.
Quick Reference¶
| Task | Command |
|---|---|
| Check application status | sudo systemctl status aletyx-sandbox |
| View application logs | sudo tail -f /var/log/aletyx-sandbox.log |
| Restart application | sudo systemctl restart aletyx-sandbox |
| Get credentials | sudo cat /etc/aletyx/credentials |
| Check your current IP | curl https://checkip.amazonaws.com |
Support¶
- Documentation: https://docs.aletyx.ai
- Support Email: aws-support@aletyx.ai
- Support Portal: https://my.aletyx.ai
Sandbox edition includes community support with typical 24 to 48 hour response times.
Important: Security Model¶
The Sandbox Has NO Login Screen¶
Key Facts:
- Auto-login enabled for fast POC/testing without password management
- NO authentication - No username/password required to access
- MUST be IP-restricted - Security enforced ONLY by AWS Security Group
- Cannot be exposed to public internet - Would allow anyone full access
How Security Works¶
Security is enforced at the AWS network layer (Security Group), NOT at the application layer.
When you set AllowedCidr: YOUR_IP/32:
- AWS Security Group blocks ALL traffic except from your IP
- Your IP is the ONLY one that can reach the application
- This is secure (equivalent to VPN access)
Quick Start (5 Minutes)¶
Prerequisites¶
- Your IP address: Run
curl https://checkip.amazonaws.com - AWS Account with marketplace subscription
- EC2 Key Pair for SSH access
- VPC with public subnet
Deploy Now¶
- Subscribe to product in AWS Marketplace
- Launch with CloudFormation
- Use these parameters:
- Wait 5 minutes for stack to complete
- Go to "Outputs" tab → Click "ApplicationUrl"
- Done!
Step-by-Step Deployment¶
Step 1: Get Your IP Address¶
From command line:
Note it down - you'll need it as YOUR_IP/32 (e.g., 203.0.113.45/32)
Step 2: Subscribe to AWS Marketplace¶
- Go to AWS Marketplace
- Search "Aletyx Decision Control Sandbox"
- Click "Continue to Subscribe"
- Accept terms (wait 1-2 minutes for processing)
- Click "Continue to Configuration"
- Select your region (e.g.,
us-east-1) - Click "Continue to Launch"
- Select "Launch CloudFormation"
- Click "Launch"
Step 3: CloudFormation Parameters¶
Stack Name: aletyx-sandbox-dev (or your preferred name)
Instance Configuration:
InstanceType: t3.large # recommended - or t3.medium for smaller
KeyName: your-keypair-name # select your existing EC2 key pair
AmiId: "" # leave empty - uses marketplace AMI
Network Configuration:
VpcId: vpc-xxxxx # your VPC
SubnetId: subnet-xxxxx # MUST be public subnet with internet access
AllowedCidr: YOUR_IP/32 # example: 203.0.113.45/32
Custom Domain (Leave Empty):
IMPORTANT: Do NOT fill in CustomDomain or HostedZoneName. SSL is not supported for sandbox.
Step 4: Review and Launch¶
- Click "Next" (Configure stack options - no changes needed)
- Click "Next" (Review)
- Check "I acknowledge that AWS CloudFormation might create IAM resources"
- Click "Submit"
Step 5: Wait for Completion¶
Watch the Events tab:
- You'll see resources being created
- Wait for status: CREATE_COMPLETE (takes 3-5 minutes)
If it fails:
- Check "Events" tab for error message
- Common issues: Subnet not public, AllowedCidr format wrong
Step 6: Access the Application¶
Once status is CREATE_COMPLETE:
- Click on your stack name
- Go to "Outputs" tab
- You'll see these outputs:
| Output Key | Description | Example |
|---|---|---|
| ApplicationUrl | Click this to access app | http://ec2-3-80-154-224.compute-1.amazonaws.com |
| PublicIp | Instance IP address | 3.80.154.224 |
| SSHCommand | SSH command to connect | ssh -i ~/.ssh/key.pem ec2-user@... |
| DeploymentStatus | Success message | "Stack deployed successfully..." |
- Click ApplicationUrl (or copy/paste into browser)
Application will be available at:
- IP-Restricted (No Custom Domain):
http://ec2-XX-XX-XX-XX.compute-1.amazonaws.com(public DNS address with HTTP) - Custom Domain (No SSL):
http://your-domain.example.com(HTTP protocol) -
Custom Domain (With SSL):
https://your-domain.example.com(HTTPS protocol, after manual SSL setup) -
Wait 2-3 minutes after stack creation for application to start
- You're in! No login needed - auto-login enabled
Getting Your Credentials¶
Even though there's no login screen, credentials are generated and stored on the instance. You might need them for API access or other features.
Method 1: SSH to Get Credentials¶
# 1. Copy SSHCommand from CloudFormation Outputs
ssh -i ~/.ssh/your-key.pem ec2-user@ec2-XX-XX-XX-XX.compute-1.amazonaws.com
# 2. Get credentials
sudo cat /etc/aletyx/credentials
# Output:
# Admin Username: admin
# Admin Password: RandomGeneratedPassword123!
Method 2: Systems Manager (No SSH Key Needed)¶
# Get instance ID from CloudFormation Outputs
INSTANCE_ID="i-0abc123..."
# Connect via Session Manager
aws ssm start-session --target $INSTANCE_ID
# Get credentials
sudo cat /etc/aletyx/credentials
Supported Deployments¶
Option 1: Personal IP-Restricted (RECOMMENDED)¶
AllowedCidr: YOUR_IP/32 # Your IP only
CustomDomain: "" # Leave empty
HostedZoneName: "" # Leave empty
Best For:
- Personal POC/testing
- Development
- Customer demos (via screen share)
Security: Maximum
Option 2: Corporate Network¶
AllowedCidr: 10.0.0.0/8 # Your corporate CIDR
CustomDomain: "" # Leave empty
HostedZoneName: "" # Leave empty
Best For:
- Team testing
- Internal demos
- Multi-user POCs
Security: High
Common Corporate CIDRs:
10.0.0.0/8- Large networks172.16.0.0/12- Medium networks192.168.0.0/16- Small networks
NOT SUPPORTED Deployments¶
Public Access (Open to Internet)¶
# DO NOT USE
AllowedCidr: 0.0.0.0/0 # DANGEROUS - exposes to public
CustomDomain: ""
HostedZoneName: ""
Why NOT:
- No login screen - anyone can access
- Full application access to public internet
- High security risk
- Data exposure
Custom Domain with SSL¶
Why NOT:
- Let's Encrypt requires port 80 open to world
- No login screen - application fully accessible during setup
- 3-5 minute window where anyone can access
- High security risk
Demo Scenarios¶
Scenario: Show to a Customer¶
Solution: Screen Share (BEST APPROACH)
- Deploy IP-restricted (YOUR_IP/32)
- Access the application from your computer
- Share your screen during the demo (Zoom, Teams, etc.)
- Customer sees everything - full application functionality
- Zero security risk - application never exposed to public
This is professional and secure!
Scenario: Customer Wants Hands-On Access¶
Option A: Customer's IP or Network
# Add customer's IP
AllowedCidr: 198.51.100.45/32
# OR customer's corporate network
AllowedCidr: 198.51.100.0/24
Option B: Multiple IPs (via Security Group)
After deployment, add multiple IP rules:
# Get security group ID from CloudFormation Resources
SG_ID="sg-xxxxx"
# Add customer's IP
aws ec2 authorize-security-group-ingress \
--group-id $SG_ID \
--protocol tcp \
--port 80 \
--cidr 198.51.100.45/32 \
--region us-east-1
Scenario: Need HTTPS URL¶
Answer: Sandbox doesn't support SSL securely (no login screen).
Better Approach:
- Use IP-restricted HTTP (it's secure when restricted!)
- Screen share for demos
- For production with SSL, use Production edition (has authentication)
Troubleshooting¶
Can't Access Application¶
Symptom: Browser times out or "cannot connect"
Solutions:
-
Wait 2-3 minutes after stack creation for app to start
-
Check your IP hasn't changed:
-
Update Security Group if IP changed:
# Get your new IP NEW_IP=$(curl -s https://checkip.amazonaws.com) # Get security group ID from CloudFormation Resources tab SG_ID="sg-xxxxx" # Remove old rule (use old IP) aws ec2 revoke-security-group-ingress \ --group-id $SG_ID \ --protocol tcp \ --port 80 \ --cidr OLD_IP/32 \ --region us-east-1 # Add new rule aws ec2 authorize-security-group-ingress \ --group-id $SG_ID \ --protocol tcp \ --port 80 \ --cidr ${NEW_IP}/32 \ --region us-east-1 -
Check application status via SSH:
Can't SSH to Instance¶
Symptom: "Permission denied" or "Connection timed out"
Solutions:
-
Fix key permissions:
-
Check AllowedCidr allows port 22:
- CloudFormation parameter
AllowedCidrmust include your IP -
Security group allows SSH (port 22) from your CIDR
-
Use Systems Manager instead (no key needed):
Application Shows Error Page¶
Symptom: Application loads but shows error
Check logs via SSH:
# Application logs
sudo tail -f /var/log/aletyx-sandbox.log
# Nginx logs
sudo tail -f /var/log/nginx/error.log
# System logs
sudo journalctl -u aletyx-sandbox -f
Restart application:
Stack Creation Failed¶
Check CloudFormation Events tab for error message.
Common Issues:
- "Subnet not public":
- Solution: Use a subnet with internet gateway route
-
Or create new public subnet
-
"Invalid CIDR format":
- Solution: Use format like
203.0.113.45/32(IP/32) -
Not just IP without /32
-
"Key pair not found":
- Solution: Create EC2 key pair first
- Or select existing key pair
Cleanup¶
Delete Your Deployment¶
When you're done testing, delete the stack to stop charges.
Via AWS Console¶
- Go to CloudFormation Console
- Select your stack
- Click "Delete"
- Confirm deletion
- Wait 3-5 minutes
Via AWS CLI¶
aws cloudformation delete-stack \
--stack-name aletyx-sandbox-dev \
--region us-east-1
# Check deletion progress
aws cloudformation describe-stacks \
--stack-name aletyx-sandbox-dev \
--region us-east-1
What Gets Deleted¶
- EC2 instance (stops hourly charges)
- Security group
- IAM role and instance profile
- All associated resources
What Doesn't Get Deleted¶
- SSH key pair (reusable - keep it)
- VPC and subnets (shared resources)
- Your data (not backed up - save before deleting!)
Cost Information¶
Hourly Cost (us-east-1)¶
- t3.medium: ~\(0.04/hour (~\)30/month if left running)
- t3.large: ~\(0.08/hour (~\)60/month if left running)
Save Money¶
- Delete when not in use - Redeploy takes only 5 minutes
- Stop instance (keeps data, still charges for storage)
- Use t3.medium for light testing
Common Commands Reference¶
Check Application Status¶
View Logs¶
# Application
sudo tail -f /var/log/aletyx-sandbox.log
# Nginx
sudo tail -f /var/log/nginx/access.log
sudo tail -f /var/log/nginx/error.log
Restart Application¶
Get Credentials¶
Check Your Current IP¶
Summary¶
The Sandbox Is¶
- Fast to deploy (5 minutes)
- Easy to use (auto-login, no password management)
- Secure when IP-restricted
- Perfect for POCs, testing, demos
Remember¶
- MUST be IP-restricted - Use YOUR_IP/32 or corporate CIDR
- Do NOT use 0.0.0.0/0 - Not secure (no login screen)
- Do NOT configure SSL - Not supported securely
- Screen share for demos - Professional and secure
Quick Deploy Checklist¶
- Get IP:
curl https://checkip.amazonaws.com - Deploy CloudFormation with
AllowedCidr: YOUR_IP/32 - Wait 5 minutes
- Click ApplicationUrl in Outputs
- Done!
Need Help?¶
Logs: /var/log/aletyx-sandbox.log
Status: sudo systemctl status aletyx-sandbox
Restart: sudo systemctl restart aletyx-sandbox
Credentials: sudo cat /etc/aletyx/credentials
Ready to deploy? Try Decision Control on AWS