1. A method of co-locating a virtual machine with nested virtualization, comprising: receiving a list of one or more virtual machine instances to co-locate and associated configuration information needed to create the one or more virtual machine instances; consolidating virtual machine images associated with the one or more virtual machine instances; creating a composite parent virtual machine image based on the consolidated virtual machine images and a parent virtual machine instance; setting a configuration of the parent virtual machine instance to accommodate for capacity requirement of the one or more child virtual machine instances; starting the parent virtual machine instance on a host via the composite parent virtual machine image; starting the one or more virtual machine instances within the parent virtual machine instance as one or more child virtual machine instances; and configuring the parent virtual machine instance and the one or more child virtual machine instances on the host.