An ENS instance is the smallest unit of compute in Edge Node Service. Each instance type delivers a specific combination of vCPUs, memory, network bandwidth, and storage — choose based on your workload requirements.
Instance families
ENS instances are grouped into three families:
X86 Compute
High-performance virtual machines with balanced compute and network capabilities. Best for enterprise workloads that require stable, predictable performance at the edge.
| Attribute | Details |
|---|---|
| Supported specs | Compute-optimized (1:2 CPU-to-memory ratio), General-purpose (1:4), Memory-optimized (1:8) |
| Storage | Ultra disk, All-Flash Cloud Disk, local disk |
| Networking | VPC, classic network |
| Billing | Subscription, pay-as-you-go |
| Typical workloads | General enterprise applications, audio and video transcoding, game servers, high packet forwarding rate scenarios |
X86 Bare Metal
Physical servers without hypervisor overhead, giving you direct access to hardware resources. Suited for workloads that cannot run in virtualized environments or require third-party hypervisors.
| Attribute | Details |
|---|---|
| Supported specs | General-purpose X86 bare metal |
| Storage | Local disk |
| Networking | VPC |
| Billing | Subscription only |
| Typical workloads | Direct physical resource access, third-party hypervisor compatibility, high packet forwarding rate scenarios |
Heterogeneous computing
GPU-accelerated instances powered by Elastic GPU Service. These instances use specialized hardware to deliver higher performance-per-dollar for graphics and AI workloads compared to general-purpose instances.
| Attribute | Details |
|---|---|
| Supported specs | Heterogeneous computing instance types |
| Storage | Ultra Disk, All-Flash Cloud Disk |
| Networking | VPC |
| Billing | Subscription, pay-as-you-go |
| Typical workloads | Cloud gaming, Graphic Computing Service |
Instance specifications
Metric definitions
Before reading the specs tables, familiarize yourself with these metrics:
| Metric | Description |
|---|---|
| Network bandwidth capability | Maximum throughput across all network interface controllers (NICs) on the instance, measured in Gbps. |
| Packet forwarding (PPS) | Maximum number of packets the instance can process per second (send and receive combined), across all NICs. |
| Queue count | Number of NIC queues for packet processing. More queues allow better CPU parallelism under high traffic load. |
Specifications are measured in a pure forwarding test environment. Actual performance varies depending on instance load type, packet length, connection type (long-lived vs. short-lived), image version, and networking model. Run stress tests to validate performance for your specific workload before selecting an instance type. In specification names, C = vCPU and G = memory. For example, 1C2G means 1 vCPU and 2 GB of memory.
Compute-optimized (ens.sn1.\*)
CPU-to-memory ratio: 1:2
| Spec | Name | Network bandwidth (Gbps) | Packet forwarding (PPS) | Queue count |
|---|---|---|---|---|
| ens.sn1.tiny | Compute-optimized 2C4G | Up to 1 | Up to 300,000 | 2 |
| ens.sn1.small | Compute-optimized 4C8G | Up to 1.5 | Up to 500,000 | 4 |
| ens.sn1.medium | Compute-optimized 8C16G | Up to 2 | Up to 800,000 | 8 |
| ens.sn1.xmedium | Compute-optimized 12C24G | Up to 2.5 | Up to 900,000 | 12 |
| ens.sn1.large | Compute-optimized 16C32G | Up to 3 | Up to 1,000,000 | 16 |
| ens.sn1.mlarge | Compute-optimized 24C48G | Up to 4.5 | Up to 1,500,000 | 16 |
| ens.sn1.xlarge | Compute-optimized 32C64G | Up to 6 | Up to 2,000,000 | 16 |
General-purpose (ens.sm1.\*)
CPU-to-memory ratio: 1:4
| Spec | Name | Network bandwidth (Gbps) | Packet forwarding (PPS) | Queue count |
|---|---|---|---|---|
| ens.sm1.tiny | General-purpose 2C8G | Up to 1 | Up to 300,000 | 2 |
| ens.sm1.small | General-purpose 4C16G | Up to 1.5 | Up to 500,000 | 4 |
| ens.sm1.medium | General-purpose 8C32G | Up to 2 | Up to 800,000 | 8 |
| ens.sm1.large | General-purpose 16C64G | Up to 3 | Up to 1,000,000 | 16 |
| ens.sm1.mlarge | General-purpose 24C96G | Up to 4.5 | Up to 1,500,000 | 16 |
| ens.sm1.xlarge | General-purpose 32C128G | Up to 6 | Up to 2,000,000 | 16 |
Memory-optimized (ens.se1.\*)
CPU-to-memory ratio: 1:8
| Spec | Name | Network bandwidth (Gbps) | Packet forwarding (PPS) | Queue count |
|---|---|---|---|---|
| ens.se1.tiny | Memory-optimized 2C16G | Up to 1 | Up to 300,000 | 2 |
| ens.se1.small | Memory-optimized 4C32G | Up to 1.5 | Up to 500,000 | 4 |
| ens.se1.medium | Memory-optimized 8C64G | Up to 2 | Up to 800,000 | 8 |
| ens.se1.large | Memory-optimized 16C128G | Up to 3 | Up to 1,000,000 | 16 |
Instance statuses
Check instance status in the ENS console or by calling DescribeInstances.
Statuses fall into two categories:
Stable: The instance has reached a resting state.
Intermediate: The instance is transitioning between states. If an instance stays in an intermediate status for an extended period, it indicates an exception.
| Console status | API status | Category | Description |
|---|---|---|---|
| Creating | Creating | Intermediate | A newly created instance is initializing and is about to start. |
| Running | Running | Stable | The instance is running. |
| Stopped | Stopped | Stable | The instance is stopped. |
| Expired | Expired | Stable | A subscription instance has expired, or a pay-as-you-go instance has been stopped due to overdue payment. The instance will be released automatically. |
| Starting | Starting | Intermediate | The instance is starting or restarting and will soon enter Running. |
| Stopping | Stopping | Intermediate | The instance is stopping and will soon enter Stopped. |
| Releasing | Releasing | Intermediate | The instance is being released and will soon be released. |
| Image downloading | ImageDownloading | Intermediate | The edge node does not have the specified image locally, so it is being downloaded. After the download completes, the instance enters Creating. |
| Transferring | Transferring | Intermediate | The instance is being migrated to another node and will enter Running after migration. |
| Resetting | Resetting | Intermediate | The instance is being reset. |
Instance lifecycle operations
The following table shows status transitions for common instance operations. Stop an instance before changing the operating system or resizing the instance type.
| Operation | Status path | Notes |
|---|---|---|
| Create | Starting → Running | The instance is accessible once it reaches Running. |
| Stop | Stopping → Stopped | Required before changing the OS or resizing the instance type. |
| Start | Starting → Running | — |
| Restart | Stopping → Starting → Running | Some configuration changes require a restart to take effect. |
| Release | Stopped → Releasing → (released) | See below for details on what is released. |
Releasing an instance
Only instances in the
Stoppedstate can be released.Directly releasing an unexpired subscription instance is not supported. To release a subscription instance before its expiration date, submit a ticket.
After release, the following resources are permanently deleted and cannot be recovered: instance ID, static public IP address, system disk, and any data disks configured to release with the instance.
Independent resources — such as elastic IP addresses (EIPs) and data disks not configured to release with the instance — are automatically detached and remain available.
To prevent accidental deletion, enable release protection on the instance.