Deploy on AWS
PandaStack on bare-metal EC2 (c5n.metal / c7g.metal).
AWS requires bare-metal instances to expose KVM. EC2 nested virt is not supported on standard instances. This means:
- More expensive than GCP (~3×)
- Requires a vCPU service-quota request (default is 0 for
metal-*families)
Quota request (do this first)
In the AWS Console → Service Quotas → Amazon EC2:
- For Intel:
Running On-Demand High Memory instancesandL-1216C47A(Running On-Demand Standard instances). Request 72 vCPUs minimum. - For Graviton: same workflow, but request quota for
c7g.metal(cheaper).
Approval is usually 24h.
Prereqs
- AWS CLI (
aws configure) - A VPC + subnet (the script creates one if missing)
Deploy
./deploy/deploy-aws.shProvisions:
c5n.metal(72 vCPU, 192 GiB) inus-east-1a- VPC + subnet + internet gateway + security group
- Same cloud-init bootstrap as GCP
Total time: ~15 minutes (bare-metal POST is slow).
Cost
| Spec | On-demand | Spot |
|---|---|---|
| c5n.metal (72 vCPU, 192 GiB) | ~$2700/mo | ~$900/mo |
| c7g.metal (64 vCPU, 128 GiB) | ~$2200/mo | ~$650/mo |
For dev, use GCP — there's no cost-effective small bare-metal SKU on AWS.
Graviton (ARM) caveat
c7g.metal is ARM. Templates must be built for linux/arm64. The default registry
templates are multi-arch, so this works out of the box.
Custom AMI
If you need to bake the OS image:
./deploy/deploy-aws.sh --build-amiProduces a private AMI (ami-pandastack-XXXX) for faster repeated provisioning.
Tearing down
./deploy/deploy-aws.sh --destroy