private void createTags(List<VPNEndpoint> vpnEndpoints) {

    // Setup Tags
    List<Tag> commonTags = new ArrayList();
    commonTags.add(new Tag("Name", "vpc2vpc"));
    commonTags.add(new Tag("vpc2vpc:id", vpc2vpcId));
    commonTags.add(new Tag("vpc2vpc:created_on", Long.valueOf(System.currentTimeMillis()).toString()));

    List<String> vpcIdList = new ArrayList();
    List<String> subnetIdList = new ArrayList();
    List<String> publicIpList = new ArrayList();

    for (VPNEndpoint vpnEndpoint : vpnEndpoints) {
      ec2Client.setEndpoint(vpnEndpoint.getRegion().getEndpoint());

      Vpc vpc = vpnEndpoint.getVpc();
      Subnet subnet = vpnEndpoint.getSubnet();
      vpcIdList.add(vpc.getVpcId());
      subnetIdList.add(subnet.getSubnetId());
      publicIpList.add(vpnEndpoint.getElasticIPAddress());
    }

    String vpcIds = new String();
    for (String vpcId : vpcIdList) {
      if (vpcIds.length() > 0) {
        vpcIds = vpcIds + ",";
      }
      vpcIds = vpcIds + vpcId;
    }
    commonTags.add(new Tag("vpc2vpc:vpc_id_list", vpcIds));

    String subnetIds = new String();
    for (String subnetId : subnetIdList) {
      if (subnetIds.length() > 0) {
        subnetIds = subnetIds + ",";
      }
      subnetIds = subnetIds + subnetId;
    }
    commonTags.add(new Tag("vpc2vpc:subnet_id_list", subnetIds));

    String publicIps = new String();
    for (String publicIp : publicIpList) {
      if (publicIps.length() > 0) {
        publicIps = publicIps + ",";
      }
      publicIps = publicIps + publicIp;
    }
    commonTags.add(new Tag("vpc2vpc:public_ip_list", publicIps));

    for (VPNEndpoint vpnEndpoint : vpnEndpoints) {
      ec2Client.setEndpoint(vpnEndpoint.getRegion().getEndpoint());

      // Create a new list of tags including common tags and endpoint specific tags
      List<Tag> tags = new ArrayList();
      tags.addAll(commonTags);
      tags.add(new Tag("vpc2vpc:public_ip", vpnEndpoint.getElasticIPAddress()));

      // Create tags
      List<String> resourceIds = new ArrayList();
      resourceIds.add(vpnEndpoint.getInstance().getInstanceId());
      CreateTagsRequest createTagsRequest = new CreateTagsRequest(resourceIds, tags);
      LOG.debug("About to create tags: " + createTagsRequest);
      ec2Client.createTags(createTagsRequest);
      LOG.debug("Created tags: " + createTagsRequest);
    }
  }