title: Ansible AWS ec2 module with tags and dynamic inventory returns wrong hosts
body: <p>I have two VPCs under the same account, each of which has several hosts with private IPs. </p>
  
  <p>I have one host with a tag <code>mobile</code> equals to <code>true</code> and another host with a tag of <code>Environment</code> equals to <code>ci</code>, both with the same private IP, but they reside in different VPCs.</p>
  
  <p>when I run the following tag search using Ansible:</p>
  
  <pre><code>- name: "install security service"
    hosts: "tag_Environment_{{ env }}:&amp;tag_Service_{{ service }}_true"
  </code></pre>
  
  <p>With the arguments <code>env="ci"</code> and <code>service="mobile"</code>
  I get one of the hosts back, even though each of the hosts doesn't have both tags. </p>
  
  <p>Since they have the same IP, it seems like the search is merging the results and thus returns a host which has only one of the tags.</p>