private void guaranteeSameVPC ( TargetGroup targetGroup , Collection < BaragonAgentMetadata > agents , Collection < LoadBalancer > loadBalancers ) { String vpcId = targetGroup . getVpcId ( ) ; for ( BaragonAgentMetadata agent : agents ) { if ( agent . getEc2 ( ) . getVpcId ( ) . isPresent ( ) ) { if ( ! agent . getEc2 ( ) . getVpcId ( ) . get ( ) . equals ( vpcId ) ) { LOG . error ( "Agent {} not on same VPC as its target group {}" , agent , targetGroup ) ; throw new IllegalStateException ( String . format ( "Agent %s not on same VPC as its target group %s" , agent , targetGroup ) ) ; } } else { LOG . error ( "Agent {} not assigned to a VPC" , agent ) ; throw new IllegalStateException ( String . format ( "Agent %s not assigned to a VPC" , agent ) ) ; } } for ( LoadBalancer loadBalancer : loadBalancers ) { if ( ! vpcId . equals ( loadBalancer . getVpcId ( ) ) ) { LOG . error ( "Load balancer {} on different VPC from target group {}" , loadBalancer , targetGroup ) ; throw new IllegalStateException ( String . format ( "Load balancer %s on different VPC from target group %s" , loadBalancer , targetGroup ) ) ; } } }
When this method completes the target group the agents and the loadBalancers are all on the same VPC . The target group each of the agents and each of the load balancers should think that they are on the same VPC otherwise they won t be able to talk to each other .