I would recommend that you look at the Ansible driver in Hyperledger Cello project to manage deployment across multiple hosts/vms.
In short, you need to establish network visibility across the set of host/vm nodes such that the peer knows about the orderer to which it will connect and so that gossip can operate. The Cello project does this for you with a set of driver options. The Ansible driver seems to have the most promise.
The Ansible driver can provision to a variety of cloud platforms including AWS, Azure, OpenStack and bare metal.