Check GPU prices and quota
Alice, the platform engineer, checks GPU quota and prices for eks-prod (your cluster's name) and chooses how its GPUs are paid for, before the cluster is created.
Before you start
- A connected AWS account.
- GPU quota above zero in the cluster's region. A new AWS account has none; see If your GPU quota is 0.
- For a Capacity Block: one already active.
- A Kubernetes version the console marks compatible with GPU node groups.
If your GPU quota is 0
The Quota / Capacity check on the Review step refuses a GPU node group without quota and names the quota to raise. This example uses g6.xlarge; use the machine type you need:
quota "All G and VT Spot Instance Requests" (L-3819A6DF) limit 0 vCPU, in use by other capacity 0, required 4 (1 node(s) x 4 vCPU for g6.xlarge)
GPU quota starts at zero in every cloud, and AstroPulse does not raise it. Raise it in AWS Service Quotas > Amazon EC2, in the cluster's region. L4 (use the GPU you need), T4, A10G and L40S machines count against these two:
| Pricing | Quota | Code |
|---|---|---|
| Spot | All G and VT Spot Instance Requests | L-3819A6DF |
| On-Demand | Running On-Demand G and VT instances | L-DB2E81BA |
An L4 g6.xlarge uses 4 vCPU per GPU, so a GPU limit of 4 needs 16. p instances (A100, H100, H200) count against "Running On-Demand P instances" (L-417A185B) and "All P Spot Instance Requests" (L-7212CCBC). To list every GPU quota in your region, replace us-west-2 with it:
aws service-quotas list-service-quotas --service-code ec2 --region us-west-2 \
--query "Quotas[?contains(QuotaName, 'G and VT') || contains(QuotaName, ' P ')].[QuotaName,QuotaCode,Value]" \
--output table
AWS reviews each request; in our test it approved 8 vCPU of each in about 50 minutes. A failed quota read is only a warning, so check quota yourself.
1. Alice reads the catalog
Path: Infrastructure > Accelerators
- Pick the region and expand the
L4row.
A dash instead of a price means the hardware is sold only as reserved capacity. From the CLI, the same list (one row from our run; prices change):
astroctl cloud aws machines list -r us-west-2 --accelerator-model l4
NAME VCPU MEMORY (MB) ACCELERATOR COUNT SPOT/HR ON-DEMAND/HR
g6.xlarge 4 16384 nvidia/l4 1 0.507700 0.8048000000
Name your model instead and Nova recommends a GPU from the same catalog.
2. Alice adds a GPU node group
Optional, only for a warm GPU or reserved capacity, in step 6 of Create the EKS cluster.
Path: Infrastructure > Kubernetes > New cluster > Node groups > Add Node Group
- Name
gpu-serving(a name for your GPU node group); Request GPU hardware,L4,1per node. - Pick specific zones: only zones the catalog lists.
- Pricing On-Demand; Nodes
1.
Spot is cheaper, but AWS can take the node back, so keep it off serving. A model's resources.accelerator.gpu.capacityType is OnDemand (never Spot; reserved capacity and Capacity Blocks count), Spot or Any (the default).
3. Alice runs on capacity already held
Path: Create cluster > Node groups > the group > Capacity you already hold
- Select a Reserved or Capacity Block row.
- Keep node counts within its free count.
AstroPulse never buys a reservation or Capacity Block; these groups run on capacity the account already holds. To leave it, select Use On-Demand instead.
4. Alice checks the block later
Path: After the cluster exists: Infrastructure > Kubernetes > eks-prod > Node groups
Its group runs no nodes. Buy a new block and add a new group.
5. Alice reads the checks
Path: Create cluster > Review
A refusal names the setting, such as a quota shortfall or a wrong zone. A group spans at most 3 zones, and its machine type and zones cannot change after creation.
Clean up
The gpu-serving node group keeps a GPU node running and costing; remove it from the cluster's Node groups tab when you no longer need it. A Capacity Block or reservation you bought in AWS stays yours until it ends. For the full order, see Clean up.