Wow, that’s pretty brutal. Thanks for the transparency and the detailed analysis.
That said, 2 TB is, for me, an unfathomable size for a database. I recall back when I worked at a certain startup and we had a 250 GB RDS instance — and things were borderline untenable.
As such, you may want to consider a solution that involves sharding your MySQL data across multiple databases, not unlike how Pintrest does it: https://engineering.pinterest.com/blog/sharding-pinterest-how-we-scaled-our-mysql-fleet An upside of that is there if there is an RDS instance in the future, it could be limited to a subset of users, and restoring the affected server would involve less downtime.