I had the same problem and this is how I solved it. You need two ENIs with their own ips, you need to configure them to their respective domain, then you create a config file for each of the two connections.
Below is what I had to do on my rhel server to get it to work.
$ cd /etc/sysconfig/network-scripts
$ sudo cp ifcfg-eth0 ifcfg-eth1
$ sudo vi ifcfg-eth1
-- changed DEVICE="eth0" to DEVICE="eth1" and saved the file
$ sudo vi /etc/rc.local
-- added the following lines and saved the file ip route add default via 172.31.48.1 dev eth0 table 20 ip rule add from 172.ip1 table 20 ip
route add default via 172.31.48.1 dev eth1 table 21 ip rule add from
172.ip2 table 21
-- please replace 172.31.48.1 with your interface's Gateway (you will get this from 'route -n' output)
-- replace 172.ip1 with eth0's private IP address and 172.ip2 with eth1's private IP address (you will get these from 'ifconfig' output)
$ sudo chmod +x /etc/rc.local
After that, please reboot or Stop/Start the instance and once the instance boots up, you will be able to login using either of the EIPs. Once you are logged in, you may verify whether both the interfaces can communicate over the internet by running the following commands:
$ ping -I eth0 google.com (this will ping google.com from interface eth0)
$ ping -I eth1 google.com (this will ping google.com from interface eth1)
You should get ping response from both the pings.
Once you're through this, you'll need to configure IP based virtual hosts in apache [5]. This will let you fetch different contents from different directories for different domain/sub-domain.
Then, you will need to create a resource record sets [6] to route traffic for a subdomain called 'poc.domain.com' to an IP address (eth1's EIP in your case).
Finally, you will need to associate/change security groups [7] of each ENIs (eth0 and eth1) as per your requirement.