Amoeba for AWS

EBS cost optimization

Stop paying for empty EBS space. Amoeba rightsizes the data volumes on your Windows and Linux EC2 instances, autonomously.

Runs on
  • AWS
  • Windows
  • Linux

What Amoeba does on AWS

Amoeba rightsizes the EBS data volumes on your EC2 instances to reduce your EBS cost. AWS lets you grow an EBS volume but never shrink it, and charges per GB-month for its full size. So a volume costs the same, however little data it holds.

Amoeba moves an instance’s data volumes onto one pool of gp3 volumes, in the same Availability Zone. The pool is sized to your data, with room to grow. Encrypted data stays encrypted, with the KMS key of the first encrypted source volume.

When each mount switches to the gp3 pool, the services that use it stop and start again. After that, Amoeba adds, grows and removes gp3 volumes while your services run.

How it works on AWS

Onboard a Windows or Linux VM

Enter your AWS account ID, then run a script in AWS CloudShell. Pick your instances, and Amoeba installs its agent through AWS Systems Manager.

Move onto one pool

Services restart at the switch

While your services keep running, Amoeba copies the data to a pool of gp3 volumes in the instance’s Availability Zone. Each mount then moves to the pool and keeps its path.

Rightsize the pool

Amoeba adds or grows gp3 volumes before the pool fills. If your data shrinks and stays smaller, it removes one volume at a time, and the pool stays mounted throughout.

What onboarding sets up on AWS

WhatWhat it is for
The IAM role ZoorikStorageOperator
Created by the script you run in AWS CloudShell. It can read EC2 and Systems Manager, and run commands through Systems Manager. It can also create, modify, attach, detach and delete volumes, and create and delete snapshots.
The agent on each instance
Amoeba installs it through AWS Systems Manager when you onboard the instance. It tells Zoorik which disks and mounts the instance has, and runs the move and every expand and shrink.
Pool volumes
The gp3 volumes in the instance’s Availability Zone. After the move they hold your data, and Amoeba adds, grows or removes them as the pool changes size.
Safety snapshots
An EBS snapshot of each source volume. Taken before Amoeba deletes the volume, and kept for a few days.
  • The role trusts Zoorik’s AWS account only with your organisation’s external ID. Zoorik’s own AWS identity may only assume roles named ZoorikStorageOperator, and read AWS prices.
  • New pool volumes take the KMS key of the first encrypted source volume, so encryption at rest carries over.
  • Systems Manager keeps each command’s history in your account.

What your VMs need

  • A running EC2 instance with at least one EBS data volume. The data must sit on mounted filesystems.
  • The instance is managed by AWS Systems Manager, with the SSM agent connected.
  • A Nitro instance type that exposes EBS as NVMe.
  • Spare volume attachment slots, since the pool’s volumes attach next to the old ones during the move. If there are too few, Amoeba declines the instance and says why.
  • Network access out to Zoorik, and to the hosts the agent downloads from.
  • On Linux, the instance needs a recent kernel with btrfs support, and every service that holds a data mount open running under systemd. It also needs rsync, btrfs-progs and psmisc installed first: the installer doesn’t add them.

The product guide has the full list.

Questions about Amoeba on AWS

Which EBS volumes does Amoeba work on?

The non-root EBS data volumes of running EC2 instances, on Windows and Linux. Amoeba never touches the root volume. On Azure, it works with managed disks: see Amoeba for Azure.

Which EBS volume type does Amoeba’s pool use?

The pool uses gp3 volumes, in the instance’s Availability Zone. Each instance gets one pool. Each pool volume gets at least the baseline performance gp3 includes, and more when the instance’s own load needs it.

Do my services on EC2 go down during the move?

Only at the switch. Amoeba copies the data while your services run, then switches each mount to the gp3 pool by itself once the copy has caught up. The services using those mounts restart then, and again only if a failed switch is retried, never for an expand or shrink.

Do I pay for both sets of volumes during the move?

Yes, but only while the move runs. The source volumes are deleted once the switch is checked. Then you pay for their snapshots for the few days they’re kept.

How is the saving worked out on AWS?

At list price from the AWS Price List API, measured against the source volumes. AWS charges for EBS per GB-month. A saving can be negative, and Amoeba shows it as it is.

Find your own number

One line in your cloud console. One PDF report with your estimated saving at list price.

Estimate your saving

Talk to the builders

Thirty minutes with the people who build Amoeba.

Book a demo (opens in a new tab)

Or write to founders@zoorik.com