Volume recommendations save money by recommending that unused volumes be snapshotted and removed and that too-large volumes be shrunk.
Volumes correspond to disks in virtual machine. Generally, when a virtual machine is deleted, all of its volumes are, as well, but this is not a requirement.
Usually, unattached volumes should be deleted to save money, but there are situations where they are desired. Volumes can be used as external storage and detached from one instance and attached to another at a later date. Volumes can also be moved between instances as part of an upgrade or some other maintenance.
Note that in order for Cloud Optimizer to obtain volume utilization information, you’ll have to install the AWS CloudWatch Agent on your instances.
Note also that a volume may be carved up into multiple partitions. The AWS CloudWatch Agent will report which file systems are present on which volumes, but it will not report file systems on unmounted partitions. It may be possible that, for volumes with multiple partitions, the utilization number is incorrect. However, for single-file-system volumes, the AWS CloudWatch Agent should provide a complete picture.
When we recommend deleting a volume, that recommendation entails first creating a snapshot of that volume and then deleting it. As such, the savings of the recommendation take into account the cost of the new snapshot. In the dashboard, we show these deletions as reductions in the volume costs, but after they are performed, the change in cost will be reflected in both the volume costs as well as the snapshot costs.
We find all volumes that are not attached to running instances and recommend that you create a snapshot of them and then delete them. Volumes are much more expensive than snapshots, so even if you discover that you need the volume back, you can quickly restore it from a (much cheaper) snapshot rather than letting the volume sit around costing money.
When we determine that a volume needs to be increased in size, we will make a recommendation to grow the volume. This is an easy operation and can be done live.
When we determine that a volume can be decreased in size to save money, we will make a recommendation to shrink the volume. Shrinking a volume is not directly possible; instead, the way to do this is to create a new volume of the desired size, detach the current volume, mount both volumes on a difference instance, and copy the contents of the old volume to the new volume. Once complete, the new volume can be reattached to the original instance, and the old one can be deleted.
Default: 60%
This is the minimum disk utilization (in terms of storage) that a volume can be.
If the volume uses less storage than this, we will recommend shrinking it. Shrinking a volume is a cost-saving measure.
Default: 80%
This is the maximum disk utilization (in terms of storage) that a volume can be.
If the volume uses more storage than this, we will recommend growing it. Growing a volume is a performance measure. The performance of some file systems degrades as its utilization approaches 100%.
Default: 7 days
This is the time span to use when querying for the recent performance data of the volume.
Longer time spans may provide a better understanding of the performance, assuming that the workload does not change rapidly, but this also means that you have to wait longer to receive a new recommendation after making any changes. Shorter time spans provide for faster recommendations and are good for dynamic workloads.