Amazon EC2
Virtual servers launched from an AMI, with the operating system left for you to patch.
- Provider
- aws
- Kind
- Virtual machine
- Category
- Compute
- Also known as
- EC2 Spot Instances, Spot Instance, AWS Trainium, AWS Inferentia
| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| accelerator | enum | none | gpu | trainium | inferentia | no | none | inherited |
| diskEncryption | boolean | — | no | — | ▸ false |
| instances | integer | — | no | — | inherited |
| interruptionBehavior | enum | terminate | stop | hibernate | no | — | inherited |
| interruptionNoticeSeconds | integer | — | no | — | inherited |
| managed | boolean | — | no | false | ▸ false |
| maxPriceSet | boolean | — | no | — | inherited |
| memoryGib | integer | — | no | — | inherited |
| metadataVersion | enum | v1-or-v2 | v2-only | no | v1-or-v2 | inherited |
| os | enum | linux | windows | aix | ibm-i | no | linux | inherited |
| publicIp | boolean | — | no | — | inherited |
| purchaseOption | enum | on-demand | reserved | spot | dedicated-host | no | on-demand | inherited |
| requestType | enum | one-time | persistent | no | — | inherited |
| rootVolume | enum | ebs | instance-store | no | ebs | inherited |
| sizeVcpu | integer | — | no | — | inherited |
| tenancy | enum | default | dedicated | host | no | default | inherited |
| zoneRedundant | boolean | — | no | — | ▸ false |
Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.
stateful-node-without-zone-redundancy
A stateful compute node pinned to exactly one availability zone disappears with that zone, and its state goes with it. Nodes inside a cell are exempt, because there the cell is deliberately single-zone and redundancy comes from the other cells.
- — all of these hold:
- — the node's `stateless` is false
- — the node sits inside exactly 1 availability-zone group
- — this does not hold:
- — the node sits inside at least one cell group
nodes:
- { id: "ec2", component: "aws-ec2" }Auto Scalingalibaba-auto-scalingElastic Compute Servicealibaba-ecsEdge Node Servicealibaba-ensSimple Application Serveralibaba-simple-application-serverAmazon EC2 Auto Scalingaws-ec2-auto-scalingAmazon EC2 Dedicated Hostsaws-ec2-dedicated-hostAmazon Elastic VMware Serviceaws-evsAmazon Lightsailaws-lightsailAWS Nitro Enclavesaws-nitro-enclaveAzure BareMetal Infrastructureazure-baremetal-infrastructureAzure Compute Fleetazure-compute-fleetAzure Dedicated Hostazure-dedicated-hostAzure Data Science Virtual Machineazure-dsvmNutanix Cloud Clusters on Azureazure-nutanix-cloud-clustersAzure Virtual Machinesazure-virtual-machineAzure Virtual Machine Scale Setsazure-vm-scale-setAzure VMware Solutionazure-vmware-solutionCrusoe Cloud VMcrusoeFirecrackerfirecrackerMicrosoft Hyper-Vhyper-vKubeVirtkubevirtLambda Cloud instancelambda-labsKVM with libvirtlibvirtNebius AI Cloud VMnebiusNutanix AHVnutanix-ahvOpenStack Novaopenstack-novaoVirtovirtProxmox VEproxmoxRunpod PodrunpodVast.ai instancevast-aiGeneric virtual machinevirtual-machineVMware vSpherevsphereXCP-ngxcp-ngXenServerxenserverDigitalOcean Bare Metal GPUsdigitalocean-bare-metal-gpuDropletsdigitalocean-dropletDroplet Autoscale Pooldigitalocean-droplet-autoscaleBare Metal Solutiongoogle-bare-metal-solutionCloud TPUgoogle-cloud-tpuCompute Enginegoogle-compute-engine
and 20 more → Virtual machine page# yaml-language-server: $schema=../../schema/component.schema.json # Amazon EC2 instance: a virtual server you boot from an AMI and keep patching yourself # ("What is Amazon EC2?"). EBS encryption by default is a Region setting you must switch on # ("Enable Amazon EBS encryption by default"), and an instance lives in one Availability Zone. # # Spot Instances are this component with purchaseOption: "spot", not a separate one: spare EC2 # capacity at a discount that AWS reclaims when it needs it back ("Spot Instances", # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html). purchaseOption # already carried "spot", so it is the capacity switch here rather than a second property. # interruptionBehavior, requestType, interruptionNoticeSeconds and maxPriceSet mean something only # when purchaseOption is "spot", so none is defaulted. AWS's own defaults for a Spot Instance: # terminate on interruption, a one-time request, a two-minute notice, and no maximum price set # ("Behavior of Spot Instance interruptions"). # # AWS Trainium and AWS Inferentia instances are this component too, with accelerator: "trainium" (Trn1, Trn2) or # "inferentia" (Inf1, Inf2): AWS's own ML chips, sold only as accelerated-computing EC2 instance types and programmed # through the AWS Neuron SDK ("Accelerated computing instances", # https://docs.aws.amazon.com/ec2/latest/instancetypes/ac.html). "gpu" is the NVIDIA and AMD GPU families (P, G). schemaVersion: "1" type: "component" id: "aws-ec2" kind: "virtual-machine" provider: "aws" docs: "https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html" aliases: ["EC2", "EC2 Spot Instances", "Spot Instance", "AWS Trainium", "AWS Inferentia"] defaults: managed: false diskEncryption: false zoneRedundant: false properties: tenancy: type: "enum" values: ["default", "dedicated", "host"] default: "default" purchaseOption: type: "enum" values: ["on-demand", "reserved", "spot", "dedicated-host"] default: "on-demand" rootVolume: type: "enum" values: ["ebs", "instance-store"] default: "ebs" metadataVersion: type: "enum" values: ["v1-or-v2", "v2-only"] default: "v1-or-v2" interruptionBehavior: type: "enum" values: ["terminate", "stop", "hibernate"] requestType: type: "enum" values: ["one-time", "persistent"] interruptionNoticeSeconds: type: "integer" maxPriceSet: type: "boolean" accelerator: type: "enum" values: ["none", "gpu", "trainium", "inferentia"] default: "none"