A role is a special type of container. It also contains instances.
It can be included in other containers meaning that all instances of the role will become available on the container where it’s added.
A container can have as many roles as desired.
Examples can be a role for a VPC with 2 availability zones and a private and public subnet. Or a database server with extra configuration.