Skip to main content

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:

PricingQuotaCode
SpotAll G and VT Spot Instance RequestsL-3819A6DF
On-DemandRunning On-Demand G and VT instancesL-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:

Terminal
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
Ask early

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 L4 row.
Open zoom view

The Accelerators page with a region chosen and the L4 row expanded: vendor, memory, devices per node, machine types, zones, and Spot and On-Demand price per hour

The Accelerators page with a region chosen and the L4 row expanded: vendor, memory, devices per node, machine types, zones, and Spot and On-Demand price per hourThe Accelerators page with a region chosen and the L4 row expanded: vendor, memory, devices per node, machine types, zones, and Spot and On-Demand price per hour

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):

Terminal
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
NovaNova
Which L4 machines are offered in us-west-2, in which zones, and what do they cost on Spot and On-Demand?

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

  1. Name gpu-serving (a name for your GPU node group); Request GPU hardware, L4, 1 per node.
  2. Pick specific zones: only zones the catalog lists.
  3. Pricing On-Demand; Nodes 1.
Open zoom view

A GPU node group with Name, Compute set to Request GPU hardware, GPU model L4, Devices per node 1, Availability Zones, Pricing set to On-Demand, and Nodes

A GPU node group with Name, Compute set to Request GPU hardware, GPU model L4, Devices per node 1, Availability Zones, Pricing set to On-Demand, and NodesA GPU node group with Name, Compute set to Request GPU hardware, GPU model L4, Devices per node 1, Availability Zones, Pricing set to On-Demand, and Nodes
Spot or On-Demand

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

  1. Select a Reserved or Capacity Block row.
  2. 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

When a Capacity Block ends

Its group runs no nodes. Buy a new block and add a new group.

5. Alice reads the checks​

Path: Create cluster > Review

Open zoom view

The Review step: Dry run passed with 17 checks, Machines the platform chose showing gpu-serving on g6.xlarge with an L4, and Continue to create

The Review step: Dry run passed with 17 checks, Machines the platform chose showing gpu-serving on g6.xlarge with an L4, and Continue to createThe Review step: Dry run passed with 17 checks, Machines the platform chose showing gpu-serving on g6.xlarge with an L4, and Continue to create

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.

Next​