1. Non-transitory computer-readable storage having stored thereon instructions that, when executed, direct a computing system to perform operations comprising: receiving a request from a user for a virtual computing resource on a virtual network of a customer, the virtual network comprising virtual network subnets; obtaining a resource placement template from the user, the resource placement template including placement restrictions on the virtual computing resource, wherein the resource placement template comprises selection criteria for selecting virtual network subnets; obtaining network topology information for the virtual network, the network topology information including access restrictions for each of the virtual network subnets; selecting a virtual network subnet from the virtual network subnets based in part on the access restrictions for the virtual network subnets and the placement constraints for the virtual computing resource, wherein the virtual network subnet is selected based at least partly on the selection criteria, and wherein the selection criteria comprises one or more of a desired bandwidth and latency, for the virtual network subnet; and allocating the computing resource to the selected virtual network subnet of the virtual network.