Amazon AWS SSD vs EBS

amazon-web-services

I checked the other answers but still I am confused about AWS SSD vs EBS Only options during the creation of an instance.

What I read is that SSD Only actually means it is a local disk rather than a network disk. In order to add to the confusion EBS also offers SSD.

Moreover SSD Only option is supposedly volatile and gets destroyed when server is shutdown.

Am I correct so far?

I have 2 questions:

1) If I choose SSD Only option is my instance created with a volatile root drive which will be destroyed during a shutdown?

2) If so why would anybody want a volatile root device? All the installed software will be gone. What kind of scenario would benefit from a volatile root?

Best Answer

You're talking about Elastic Block Store (EBS) vs Instance Store (IS).

EBS / Network Attached Storage

EBS is network attached storage, but that storage can be general purpose SSD, provisioned IOPS ssd, throughput optimized hard disks, or cold hard disks. Docs here.

Instance Storage The instance store has disks attached to servers. Some are SATA SSD (I2), some are NVM SSD (I3), some are hard disks (Dx).

Instance Types

The current generation general purpose instances instances (M4 general purpose/R4 high RAM/C4 high CPU) don't have instance stores. Some of the older ones do, like C3.

T2 instances are a great general purpose instance type for varying workloads, such as public web servers or servers that are high load during the day and low load overnight. They use a credit system for access to the CPU. T2 doesn't have an instance store, it's EBS only.

There are however the I (I/O Optimized) and D (dense storage optimized) instances. They have storage directly attached to the instances. The i3 instances have nvm ssd that can do 100,000 IOPS or more. This is useful for huge databases you want to run yourself, other specialised workloads.

Answers to your Questions

To answer your questions:

  1. If you use an instance store (I / D / F series instances) then yes, you lose your root drive on stop or terminate, but not on restart. If you choose EBS SSD then no, it's persistent disk. In either case you can take an image of the disk for backup, called a snapshot, which lets you restore quickly.

  2. This is fine for caches, and distributed databases where the data exists elsewhere, or if you keep VERY good backups. Sometimes your I/O needs can't be satisfied any other way. For example a MongoDB cluster of three instances can serve an extremely high workload, and the reliability is ok since if one instance stops the other two pick it up, and may have capacity to replicate to another mirror when it comes online.

In general you should start with T instances for varying workloads like web servers, or M for constant workloads.

Pricing Table

The pricing table says "EBS Only", "SSD", or "HDD". "SSD" and "HDD" are instance store.

Related Topic