Amazon EC2

Virtual servers launched from an AMI, with the operating system left for you to patch.

Provider
aws
Category
Compute
Also known as
EC2 Spot Instances, Spot Instance, AWS Trainium, AWS Inferentia
Properties · 3 set by this component
propertytypevaluesrequiredkind defaultthis component
accelerator · component propertyenumnone | gpu | trainium | inferentianononeinherited
diskEncryptionboolean—no—▸ false
instancesinteger—no—inherited
interruptionBehavior · component propertyenumterminate | stop | hibernateno—inherited
interruptionNoticeSeconds · component propertyinteger—no—inherited
managedboolean—nofalse▸ false
maxPriceSet · component propertyboolean—no—inherited
memoryGibinteger—no—inherited
metadataVersion · component propertyenumv1-or-v2 | v2-onlynov1-or-v2inherited
osenumlinux | windows | aix | ibm-inolinuxinherited
publicIpboolean—no—inherited
purchaseOption · component propertyenumon-demand | reserved | spot | dedicated-hostnoon-demandinherited
requestType · component propertyenumone-time | persistentno—inherited
rootVolume · component propertyenumebs | instance-storenoebsinherited
sizeVcpuinteger—no—inherited
tenancy · component propertyenumdefault | dedicated | hostnodefaultinherited
zoneRedundantboolean—no—▸ false
Rules that apply · 1

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
Use it in a design
nodes:
  - { id: "ec2", component: "aws-ec2" }
Other Virtual machine products · 60
Auto Scalingalibaba-auto-scalingalibabacloudvirtual-machineElastic Compute Servicealibaba-ecsalibabacloudvirtual-machineEdge Node Servicealibaba-ensalibabacloudvirtual-machineSimple Application Serveralibaba-simple-application-serveralibabacloudvirtual-machineAmazon EC2 Auto Scalingaws-ec2-auto-scalingawsvirtual-machineAmazon EC2 Dedicated Hostsaws-ec2-dedicated-hostawsvirtual-machineAmazon Elastic VMware Serviceaws-evsawsvirtual-machineAmazon Lightsailaws-lightsailawsvirtual-machineAWS Nitro Enclavesaws-nitro-enclaveawsvirtual-machineAzure BareMetal Infrastructureazure-baremetal-infrastructureazurevirtual-machineAzure Compute Fleetazure-compute-fleetazurevirtual-machineAzure Dedicated Hostazure-dedicated-hostazurevirtual-machineAzure Data Science Virtual Machineazure-dsvmazurevirtual-machineNutanix Cloud Clusters on Azureazure-nutanix-cloud-clustersazurevirtual-machineAzure Virtual Machinesazure-virtual-machineazurevirtual-machineAzure Virtual Machine Scale Setsazure-vm-scale-setazurevirtual-machineAzure VMware Solutionazure-vmware-solutionazurevirtual-machineCrusoe Cloud VMcrusoevirtual-machineFirecrackerfirecrackervirtual-machineMicrosoft Hyper-Vhyper-vvirtual-machineKubeVirtkubevirtvirtual-machineLambda Cloud instancelambda-labsvirtual-machineKVM with libvirtlibvirtvirtual-machineNebius AI Cloud VMnebiusvirtual-machineNutanix AHVnutanix-ahvvirtual-machineOpenStack Novaopenstack-novavirtual-machineoVirtovirtvirtual-machineProxmox VEproxmoxvirtual-machineRunpod Podrunpodvirtual-machineVast.ai instancevast-aivirtual-machineGeneric virtual machinevirtual-machinevirtual-machineVMware vSpherevspherevirtual-machineXCP-ngxcp-ngvirtual-machineXenServerxenservervirtual-machineDigitalOcean Bare Metal GPUsdigitalocean-bare-metal-gpudigitaloceanvirtual-machineDropletsdigitalocean-dropletdigitaloceanvirtual-machineDroplet Autoscale Pooldigitalocean-droplet-autoscaledigitaloceanvirtual-machineBare Metal Solutiongoogle-bare-metal-solutiongcpvirtual-machineCloud TPUgoogle-cloud-tpugcpvirtual-machineCompute Enginegoogle-compute-enginegcpvirtual-machine
and 20 more → Virtual machine page
Source
# 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"

The same page as markdown, for an agent: /catalogue/components/aws-ec2.md