Since rubber makes it easy to change my.cnf, I just stick the data/logs in /mnt/mysql (regardless of EBS), and have my.cnf point there. This is what rubber does by default, and I haven't had any problems with it over the last couple of years, so should be good enough for most people. This also makes it easy to then make the /mnt/mysql mount to an EBS store if desired.
To make /mnt/mysql into an EBS store, add something like the following to rubber.yml and then create/bootstrap the db01 instance.
hosts:
db01:
availability_zone: us-east-1a
packages: [xfsprogs, mdadm]
volumes:
- size: 50 # size of vol in GBs
zone: us-east-1a # zone to create volume in, needs to match host's zone
device: /dev/sdh # OS device to attach volume to
mount: /mnt/mysql # The directory to mount this volume to
filesystem: xfs # the filesystem to create on volume