What's the best way to set up LVM on an AWS EC2 Instance running Ubuntu?

I looked into this when I was first using the cloud in order to apply CIS-hardened partition layouts. Long story short, messing with the root volume is simply not recommended. I came to the conclusion that given the 'cattle not pets' approach to the cloud, if something goes wrong I'll ditch the instance and deploy another fresh one, then investigate what used up my disk space in the first place.

The best advice I would give is if you particularly want seperate partitions/volumes, then create additional EBS volumes and attach them to your instance. YMMV when it comes to getting data synced up though, if you want to mount over something like /var. This approach works fine for things like home directories, but less so for system ones.

I would also look into building your own AMI as that may give you more control. Packer is an excellent tool for that.