Attach One EBS Volume to Multiple EC2 Instance

Amazon EBS Multi-Attach simplifies attaching a single Provisioned IOPS SSD (io1 or io2) volume to multiple instances in the same Availability Zone. This feature enhances application availability, especially for applications managing concurrent write operations.

Considerations and Limitations

Before diving in, let's go through some key points:

  1. Number of Instances: Up to 16 Linux instances on the Nitro System can share a Multi-Attach enabled volume in the same Availability Zone.

  2. Volume Types: Multi-Attach is exclusive to Provisioned IOPS SSD (io1 and io2) volumes.

  3. Regions: Multi-Attach for io1 volumes is limited to specific regions, while io2 supports it across all regions.

  4. File System Recommendation: Standard file systems like XFS and EXT4 aren't designed for simultaneous access by multiple servers. Consider a clustered file system for data resiliency.

  5. I/O Fencing: io2 volumes support I/O fencing for data consistency, while io1 volumes do not.

Performance

Performance considerations include:

  • Each attached instance can reach its maximum IOPS performance.
  • Aggregate performance of all attached instances cannot exceed the volume's maximum provisioned performance.

Working with Multi-Attach

To manage Multi-Attach enabled volumes:

  1. Enable Multi-Attach During Volume Creation:

    • Use the AWS Console or Command Line during volume creation.
    • Choose "Provisioned IOPS SSD (io1/io2)" as the volume type and enable Multi-Attach in the options.
  2. Enable Multi-Attach for io2 After Creation:

    • Use the AWS Console or Command Line for io2 volumes not attached to any instances.
  3. Disable Multi-Attach:

    • Available through the AWS Console or Command Line.
  4. Attach Volume to Instances:

    • Attach Multi-Attach enabled volumes to instances following standard procedures.
  5. Delete on Termination:

    • Configure Multi-Attach volumes to be deleted on instance termination.

Click Here for Demo Video