Skip to content

EBS Multi-Attach

EBS Multi-Attach allows a single volume to be attached to several EC2 instances at once, each with full read and write access. It exists for clustered applications that manage concurrent writes themselves — not as a general way to share files.

  • Supported only on Provisioned IOPS SSD volumes: io1 and io2. General-purpose (gp2, gp3) and HDD (st1, sc1) volumes cannot be multi-attached.
  • Up to 16 instances, all built on the Nitro System and all in the same Availability Zone as the volume.
  • Multi-Attach volumes cannot be boot volumes, and cannot be enabled during instance launch through the console or the RunInstances API.
  • A Multi-Attach volume maps to one block device mapping per instance.
  • Windows instances support Multi-Attach on io2 only; Linux instances support io1 and io2. Multi-Attach for io1 is limited to a few Regions, while io2 supports it wherever io2 is available.
  • There is no additional charge — the volume is billed at standard Provisioned IOPS rates.

Standard file systems such as XFS and ext4 assume a single writer. They cache metadata in memory and have no mechanism for telling another server that the on-disk layout has changed. Mounting one of them read-write on two instances corrupts the file system, usually quietly and usually not immediately.

A Multi-Attach volume requires a cluster-aware file system (or an application that treats the volume as a raw device and arbitrates access itself). Multi-Attach volumes on io2 additionally support NVMe reservations for I/O fencing, which control write access so that a partitioned node can be prevented from writing; io1 volumes do not support fencing.

Multi-Attach solves a narrow problem: shared-disk clustering software that already understands concurrent block access. For a fleet of instances that simply needs the same files, use EFS or FSx, which are built for concurrent access and are not limited to one Availability Zone. For shared objects rather than a file system, use S3.

Reference: Attach a volume to multiple EC2 instances using Multi-Attach.