1. Overview
Cloud Spectra Gateway is an AWS networking appliance that deploys entirely into your own AWS account. It replaces metered AWS networking and LLM-API spend with a fixed EC2 cost -- your cloud, off the meter. All traffic and configuration stay inside your account: there is no vendor control plane and no data leaves your boundary.
You subscribe on the AWS Marketplace, launch a CloudFormation stack, and within minutes you have a running gateway with a management dashboard. Outbound NAT works immediately; you turn on additional features from the dashboard as you need them.
Cloud Spectra Gateway replaces the AWS services you are currently metered on with in-appliance equivalents:
| What AWS meters | Cloud Spectra Gateway equivalent | Tier |
|---|---|---|
| NAT Gateway (hourly + per-GB) | Source NAT (sNAT) on the appliance | Network |
| Inbound forwarding | Destination NAT / port forwarding (dNAT) | Network |
| Network Load Balancer (L4) | In-appliance Linux IPVS L4 load balancing | Network |
| TLS termination | HAProxy + ACM certificate on port 443 | Network |
| Inline inspection / IDS-IPS | Suricata IDS/IPS (ET Open rules plus community threat feeds), nftables firewall, TLS inspection, domain and URL-category filtering, ClamAV antivirus, L7 App-ID, and SIEM export | Security |
| Forward web proxy | Squid proxy with caching and filtering | Network |
| LLM API spend | OpenAI-compatible AI Gateway with an exact-match response cache and a semantic cache, plus an in-dashboard AI Assistant backed by Amazon Bedrock | Security |
| Always-on, oversized stateful box (database, search, analytics, dashboard) | ElasticApps: one stateful app, vertically right-sized and on Spot | Platform |
Cloud Spectra ships as three tiers -- Platform, Network, and Security -- which stack, so each higher tier includes everything in the one below it. Platform carries the compute and Kubernetes worker stack (CPU and GPU) and makes a single stateful application cost-elastic; Network adds the networking data plane; Security adds inline inspection, enforcement and the governed AI LLM gateway. For the full breakdown of every feature and how it works, see the User Guide; for how the appliance is assembled internally, see the Architecture guide.
The ElasticApps tier Platform
ElasticApps is a separate Marketplace tier for a different job: making one stateful open-source application cost-elastic without clustering or a front-end load balancer. You pick a single app -- Grafana, ClickHouse, OpenSearch, PostgreSQL, Neo4j, Trino, Prometheus and more -- and the Cloud Spectra control plane runs it on a single instance that is vertically right-sized: it moves the app onto a bigger instance when it is busy and a smaller one when it is idle, and it can run that instance on Spot for a deeper discount. A sticky EBS data volume follows the app across every resize and replacement, and a stable Elastic IP and DNS name keep its address unchanged -- so the instance can move to the right size, and across Availability Zones, while the data and the endpoint stay put. Because the software fee is a small multiple of the instance's on-demand price (with a per-hour cap), scaling the box down directly shrinks your bill.
flowchart LR
APP["One stateful app
(Grafana / ClickHouse /
Postgres / Trino / ...)"] --> Q{"App load?"}
Q -->|"busy"| UP["Move to a
bigger instance"]
Q -->|"idle"| DOWN["Move to a smaller
instance"]
UP --> KEEP["Sticky EBS keeps the data
Elastic IP + DNS keep the address"]
DOWN --> KEEP
KEEP --> APP
style APP fill:#dbeafe,stroke:#3b82f6,color:#1e3a8a
style UP fill:#d1fae5,stroke:#10b981,color:#065f46
style DOWN fill:#d1fae5,stroke:#10b981,color:#065f46
style KEEP fill:#fef3c7,stroke:#f59e0b,color:#92400e
CPU and GPU worker nodes
The CPU and GPU worker stacks -- both part of the Platform tier -- are worker-node AMIs rather than appliances. They exist to give a Kubernetes cluster ready-to-join nodes without you having to bake and maintain the image yourself, so there are no runtime settings to configure in the dashboard once a node is launched -- you launch the AMI and the node joins your cluster.
- The CPU worker stack -- a Kubernetes worker AMI with the containerd runtime,
kubeadm/kubeletready to join a cluster, and the Calico CNI pre-installed. - The GPU worker stack -- the same worker AMI plus the NVIDIA driver, the CUDA toolkit, the vLLM runtime, and the NVIDIA device plugin pre-installed, for GPU workloads such as model serving.
Both sit in Platform, the lowest tier in the Cloud Spectra ranking, which runs Platform -> Network -> Security. A capability gated at that floor is therefore available in every tier above it: the sticky EBS data volume, which re-homes a persistent volume onto a replacement instance without reformatting, is the main example.
Deployment flow at a glance
graph TD
MP["AWS Marketplace
subscribe to a tier"] --> CF["CloudFormation stack
new-VPC or existing/BYO-VPC"]
CF --> ASG["Per-AZ Auto Scaling Group
one ASG per Availability Zone"]
ASG --> GWLB["Gateway Load Balancer (GENEVE)
horizontal scale"]
GWLB --> EIP["Elastic IP
stable endpoint"]
EIP --> DASH["HTTPS dashboard
port 9443 (nginx, self-signed)"]
DASH --> DONE["Login & configure"]
style MP fill:#dbeafe,stroke:#3b82f6,color:#1e3a8a
style CF fill:#dbeafe,stroke:#3b82f6,color:#1e3a8a
style DONE fill:#d1fae5,stroke:#10b981,color:#065f46
2. Prerequisites
To complete this quick start you need:
- An AWS account where you can subscribe on the Marketplace and create resources.
- A chosen AWS Region to deploy into (any commercial region works).
- Permissions to create CloudFormation stacks and the resources they create: EC2 instances, VPC networking, IAM roles, Auto Scaling groups, and an Elastic IP.
- No EC2 key pair needed. The stack creates its own key pair and stores the private key in SSM Parameter Store for you; the stack Outputs include the command to download it (see section 5).
- Optional: an AWS Certificate Manager (ACM) certificate if you want TLS termination on port 443, in front of your own services, to serve a trusted certificate. This does not change the management dashboard's certificate -- in v1 the dashboard always serves a per-instance self-signed certificate.
3. Choose a deployment
Cloud Spectra Gateway supports three deployment methods. This quick start focuses on the Marketplace 1-click CloudFormation path; the other two are covered in detail in the User Guide.
| Method | Best for | How |
|---|---|---|
| Marketplace + CloudFormation | The fastest, recommended path for most customers | 1-click from the listing into a CloudFormation stack |
| Terraform | Teams managing infrastructure as code | The cloudspectra/cloudspectra provider + AWS modules |
| Standalone AMI | Quick trials or non-CloudFormation environments | Launch the AMI directly; boots with NAT + dashboard |
CloudFormation: new VPC vs existing/BYO VPC
The Marketplace listing offers two CloudFormation templates. Pick the one that matches your environment:
- New-VPC template -- Cloud Spectra creates a fresh VPC, subnets, route tables, and an internet gateway for you. This is the simplest starting point and is the default.
- Existing / BYO-VPC template -- Cloud Spectra deploys into a VPC and subnets you already operate. Use this for production accounts where the network is already established.
cloudspectra/cloudspectra via a one-time network mirror block in ~/.terraformrc, then drive both deployment and feature configuration with the provider's resources. Full instructions are in the User Guide.
4. Deploy via CloudFormation
Estimated time: 8-10 minutes
1Subscribe in AWS Marketplace
Visit the AWS Marketplace and subscribe to the Cloud Spectra Gateway listing, then SELECT the tier you want at deploy time -- Platform, Network, or Security. One Marketplace product per architecture ships the same superset AMI for every tier, so the tier is a deploy-time choice rather than a different subscription, and each higher tier includes everything in the tiers below it.
2Launch the CloudFormation stack
From the listing, choose Continue to Launch. This opens the CloudFormation console with the Cloud Spectra template pre-loaded. Confirm your launch Region in the top-right of the console before continuing.
3Pick a template: new-VPC or existing/BYO-VPC
Select the new-VPC template to have Cloud Spectra build the network for you, or the existing/BYO-VPC template to deploy into a VPC and subnets you already run (see section 3). When in doubt, start with the new-VPC template.
4Set parameters
Most defaults are sensible. The key parameters to review:
| Parameter | What it controls |
|---|---|
| VPC selection | New VPC (created for you) vs an existing VPC ID + subnets you provide. |
| Availability Zones | The list of AZs to deploy into. One ASG is created per AZ; AZ 1 is required, additional AZs add high availability. |
| Instance type | The EC2 instance type for gateway nodes. Can be changed live later. |
| Admin access CIDR | The source CIDR allowed to reach the dashboard. Restrict to your office or VPN range. |
| ACM certificate (optional) | An ACM certificate ARN to serve trusted TLS on port 443. |
5Wait for CREATE_COMPLETE
Acknowledge the IAM capability prompt and create the stack. Provisioning takes roughly 8-10 minutes. Watch the stack Events until the status reads CREATE_COMPLETE.
5. First login
6Find the dashboard URL in stack Outputs
Open the stack's Outputs tab in the CloudFormation console. The output for the gateway's Elastic IP is your stable dashboard endpoint. Open it over HTTPS on port 9443 -- the AccessElasticIp stack output already includes the port. (The dashboard is served by nginx using a per-instance self-signed certificate generated at first boot; an ACM certificate is not used here.) Port 443 is deliberately left free for TLS termination in front of your own services; if you are not using a TLS load balancer, you can set the dashboard0000port stack parameter to 443 to serve the dashboard on the standard HTTPS port.
7Retrieve the initial admin password
Log in as user admin. The one-time initial password lives only in a root-only file on the instance, so you retrieve it over SSH. The stack generated the key pair for you: run the AccessInstancePrivateKeyCommand stack output to download the private key from SSM Parameter Store, then SSH with it. Password authentication and root login are disabled on the appliance, so you authenticate with that key:
# 1. Download the stack-generated private key # (copy this command verbatim from the AccessInstancePrivateKeyCommand stack output) aws ssm get-parameter --name /ec2/keypair/<KEY_PAIR_ID> --with-decryption \ --query Parameter.Value --output text > ~/.ssh/<KEY_NAME> && chmod 400 ~/.ssh/<KEY_NAME> # 2. SSH in as user "admin" with that key ssh -i ~/.ssh/<KEY_NAME> admin@<ELASTIC_IP> # 3. Read the one-time dashboard init password (root-only file) sudo cat /etc/cloudspectra/dashboard_init_pw
The initial password is never written to SSM Parameter Store or anywhere else -- this root-only file on the instance is the only copy until you set a permanent password. (Only the SSH private key is stored in SSM, at /ec2/keypair/<KEY_PAIR_ID>.)
8Set a permanent password
The dashboard forces a password change on first login. After you set your own password, the one-time init password stops working. Keep your new password somewhere safe -- the gateway has no vendor-side recovery path because there is no vendor control plane.
443 in front of your own services.
6. NAT works out of the box
As soon as the stack reaches CREATE_COMPLETE, source NAT is already running on the appliance -- no configuration step is required. Private instances whose route tables point default traffic at the Cloud Spectra ENI immediately reach the internet through the gateway's Elastic IP.
graph LR
subgraph VPC["Your VPC"]
PRIV["Private subnet instances
(no public IP)"]
GW["Cloud Spectra Gateway
sNAT on per-AZ ENI"]
end
EIP["Elastic IP
(stable egress)"]
NET["Internet"]
PRIV -->|"0.0.0.0/0 route"| GW
GW --> EIP
EIP --> NET
style GW fill:#d1fae5,stroke:#10b981,color:#065f46
style EIP fill:#dbeafe,stroke:#3b82f6,color:#1e3a8a
9Verify outbound from a private instance
SSH into any EC2 instance in a private subnet that routes through the gateway, and confirm it can reach the internet:
# From a private instance routed through Cloud Spectra: curl -s https://checkip.amazonaws.com # The returned IP should match the gateway's Elastic IP # (the AccessElasticIp value from the stack Outputs).
7. Enable a feature
Every additional capability is turned on the same way: from the dashboard (or the config API on port 8080, or the Terraform provider). Per-feature configuration reference -- including firewall rules, the Squid proxy, TLS termination, and the AI Gateway -- lives in the User Guide. Here is the pattern using one Network-tier feature, the forward HTTP proxy.
flowchart LR
A["Dashboard (HTTPS 9443)"] --> B["Toggle a feature on"]
B --> C["Config saved to
SSM Parameter Store"]
C --> D["Gateway nodes reconcile
and apply the change"]
D --> E["Feature live
on all AZs"]
style A fill:#dbeafe,stroke:#3b82f6,color:#1e3a8a
style E fill:#d1fae5,stroke:#10b981,color:#065f46
10Enable the forward HTTP proxy (Squid)
- Open the dashboard over HTTPS and sign in.
- Go to the Web Proxy panel ("Web Proxy Gateway").
- Enable the proxy, set the listening port, and optionally configure response caching, domain filtering, and bandwidth limits.
- Copy the auto-generated proxy credential from the panel's Proxy Credential card. The username is always
admin; the password is generated for you and can be re-issued with Rotate password. - Save. The change is written to SSM Parameter Store and the gateway nodes apply it automatically.
Then point a client at the proxy:
# Send outbound traffic through the Cloud Spectra forward proxy # (username is always "admin"; copy PROXY_PASSWORD from the # Web Proxy panel's Proxy Credential card) export http_proxy=http://admin:<PROXY_PASSWORD>@<GATEWAY>:<PROXY_PORT> export https_proxy=$http_proxy curl -s https://checkip.amazonaws.com
- Network TLS termination (ACM), the IPVS L4 load balancer, destination NAT / port forwarding, the sticky secondary ENI (a pre-provisioned ENI with a fixed private IP that survives instance replacement), and the per-slot route table.
- The sticky EBS data volume is universal -- it is available in every tier (floor: Platform), not just Network. See the tier lineup above.
- Security the Suricata IDS/IPS, nftables firewall rules, domain and URL-category filtering, ET Open threat detection, community threat feeds (abuse.ch, CINS Army, Spamhaus DROP), TLS inspection, antivirus scanning, L7 App-ID, and SIEM export to Splunk, Sentinel, or QRadar.
- Security the AI LLM proxy with its response cache, the semantic cache, and the AI Assistant -- an in-dashboard assistant, backed by Amazon Bedrock, that answers questions about gateway status, configuration, and troubleshooting. It runs in your account; no vendor control plane sees your data.
Key ports
| Port | Service |
|---|---|
9443 | HTTPS management dashboard (nginx, per-instance self-signed certificate) |
443 | TLS termination (HAProxy + ACM) Network |
8080 | Configuration API |
8090 | AI Gateway, OpenAI-compatible endpoint Security |
| configurable | Squid forward proxy port |
80 | HTTP redirect to HTTPS |
8. Verify
A quick end-to-end check confirms the gateway is healthy and routing correctly.
| Check | How | Expected result |
|---|---|---|
| Outbound NAT | curl -s https://checkip.amazonaws.com from a private instance | Returns the gateway's Elastic IP |
| Dashboard reachable | Open the Elastic IP over HTTPS (port 9443) | Login page loads |
| Status panels | Sign in and open the dashboard overview | Per-AZ instances healthy; enabled features show active |
| Forward proxy (if enabled) | curl through the proxy port | Request succeeds via the proxy |
If outbound traffic does not return the gateway's Elastic IP, confirm the private subnet's route table sends 0.0.0.0/0 to the Cloud Spectra ENI for that AZ. Common questions and troubleshooting are collected in the FAQ.
9. Next steps
You now have a running Cloud Spectra Gateway with NAT live and a feature enabled. Where to go from here:
| Document | What it covers |
|---|---|
| User Guide | Per-feature configuration for every tier: sNAT/dNAT, IPVS L4 load balancing, TLS termination (ACM), the sticky secondary ENI and per-slot route table, sticky EBS, per-AZ Auto Scaling, GWLB scaling, the Squid forward proxy, Suricata IDS/IPS and nftables firewall, domain and URL-category filtering, ET Open and community threat feeds, TLS inspection, antivirus scanning, L7 App-ID, SIEM export, the AI Gateway with response caching and the semantic cache, the AI Assistant, and the ElasticApps tier (vertical right-sizing, sticky EBS, and a stable endpoint for a single stateful app). Also the full Terraform and standalone-AMI walkthroughs. |
| Architecture | How the appliance is assembled: the per-AZ ASG model, GWLB/GENEVE data path, Elastic IP endpoint, SSM-backed configuration, the in-account data-plane design, and why there is no vendor control plane. |
| FAQ | Common questions on cost, data residency, security, deployment options, scaling, and troubleshooting. |