Hi Karthik,
I am not sure that sub-interfaces in a VPC will work. VPCs do not have the concept of VLANs. They do have subnets, and you can create multiple interfaces on a CSR using the AWS VPC console and assign each to a different subnet. These interfaces will appear on the CSR as gig1, gig2, etc.
I have tested a similiar topology. If you are using BGP, be aware that most of the AWS regions use the same ASN (7224). BGP loop prevention will cause the VGWs to reject other VGW routes. If you are running CSR version 3.12, you can use the BGP as-override neighbor command to fix this. However, there are some regions that do not use 7224 and will still reject 7224 routes, and as-override will not help here.
Chris